C291 PKC kernel driver

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

C291 PKC kernel driver

635 Views
ondrejille
Contributor I

Hi,

We are developing an custom encryption card based on C291 CPU. We plan to operate it in PKC mode. Our main platform is MIPS CPU Cavium OCTEON III. We are using Linux kernel version 2.6.32.59 , its a Montavista kernel.

I used the kernel driver available for host platforms in x86 and PPC platforms. I inserted the driver into our kernel,

modified the makefiles to define proper endian. Then I modified the crypto header file according to patch available with

reference design (crypto-changes.patch). Since 2.6 kernel has different support of per-cpu variables I temporarily removed "__percpu" flags used in the driver. Further I changed some x86 specific assembly in the test code.

Then I compiled our kernel image and booted the device. I get kernel module available under /lib/modules...  However if I try to insmod it I get : "Operation not permitted error". If I try "modprobe -f fsl_crypto_offload_drv" then I get following error:

FATAL: Error inserting fsl_crypto_offload_drv (/lib/modules/2.6.32.59-msc6.cge-cavium-octeon+/kernel/drivers/crypto/c29x/fsl_crypto_offload_drv.ko): Invalid module format

I dont get any message in "dmesg". 

Since I am using the "-f" option possibly different kernel and module versions are ignored. Since the driver is compiled as part of kernel, not standalone, my assumption is that any interface incompatibility should cause error at compile time...

Could you please help us with the driver integration? Is there some part of makefile which I forgot to modify? Are there some other changes necessary in our kernel to get the module working? We are not planning on using the virtualization neither DMA in the first step, so according variables of config file are set to "n".

With Regards

Ondrej Ille

0 Kudos
1 Reply

432 Views
bpe
NXP Employee
NXP Employee

Consider NXP Professional Services for porting/backporting/migration
to your platform:

http://www.nxp.com/support/nxp-professional-services:PROFESSIONAL-SERVICE


Have a great day,
Platon

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos