本驱动支持34系列所有型号密码卡(包括虚拟化PF/VF、34C4系列)和48系列密码卡，但不支持密码卡不同型号混插，
如34A1+34C4、34A1+34D5、34C4+34D5，驱动隐藏了硬件本身的差异，在特殊情况下需要为驱动传递参数，以下为驱动使用简述。

一.编译驱动
1.在root用户权限执行：./INSTALL swcsm.drv 
2.正常完后会产生文件swcsm.ko 以及Module.symvers文件，Module.symvers文件记录了驱动导出接口(默认不导出)。
编译过程如果出错，请参考出错提示信息进行处理。
3.加载驱动使用insmod命令，卸载使用rmmod命令。

二.驱动使用说明
1.驱动支持轮询和中断两种模式，密码卡工作在轮询模式比在中断模式有好的性能，但占用的硬件资源更多，
驱动默认是轮询模式，设置驱动模式方式：polling 0表示中断，1表示轮询；
2.支持硬件虚拟化密码卡，驱动提供VFnum参数表示虚拟数量，VFnum大于0表示需要虚拟数量(不大于硬件实际支持虚拟最大数量),
VFnum等于0表示驱动为vf驱动，VFnum小于0表示卡仅仅作为一张普通卡使用不虚拟化(不建议如此使用)。

三.建议使用选项
34A1、34A2、34B1、34C5、34D1、34D2、48A建议使用insmod swcsm.ko polling=1 或insmod swcsm.ko polling=0
34C3、34C4、34D8仅建议使用insmod swcsm.ko polling=0
34A4、34A5、34D5、34DH物理卡建议insmod swcsm.ko polling=1 VFnum=xx(大于0且不大于硬件实际支持虚拟最大数量)
                      虚拟卡仅建议insmod swcsm.ko polling=1 VFnum=0
					 
四.加载驱动脚本
   直接执行loaddrv.sh脚本，选用默认方式加载驱动