Freescale Semiconductor SEC2SWUG Network Card User Manual


 
SEC 2.0 Reference Device Driver User’s Guide, Rev. 0
Freescale Semiconductor PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE 41
Porting
Once the modules are installed, the driver image may be built per the following instructions.
7.2 Building the Interface Modules
Throughout the remainder of the installation instructions, the variables provided below are used:
The following steps are used to build drivers and/or the driver test and exercise code:
1. Go to the command prompt or shell
2. Execute
torVars to set up the Tornado command line build environment.
3. Run make in the driver or test installation directory by use of the following command:
make CPU=cpuFamily TOOL=toolChain SP=securityProcessor
example: make CPU=PPC85XX TOOL=gnu SP=SEC2)
7.3 BSP Integration
Once the modules are built, they should be linked directly with the user's board support package, to become integral
part of the board image.
In VxWorks, the file
sysLib.c contains the initialization functions, the memory/address space functions, and the
bus interrupt functions. It is recommended to call the function SEC2DriverInit directly from sysLib.c.
In the process of initialization, the driver calls a specialized function name
sysGetPeripheralBase(), which
returns a pointer to the base location of the peripheral device block in the processor (often defined by the CCSBAR
register in some PowerQUICC III processors). The driver uses this address and an offset to locate the SEC2 core on
the system bus. This is not a standard BSP function, the integrator will need to provide it, or a substitute method for
locating CCSBAR.
The security processor will be initialized at board start-up, with all the other devices present on the board.
8 Porting
This section describes probable areas of developer concern with respect to porting the driver to other operating
systems or environments.
At this time, this driver has been ported to function on both VxWorks and Linux operating systems. Most of the
internal functionality is independent of the constructs of a specific operating system, but there necessarily are
interface boundaries between them where things must be addressed.
Driver: $(WIND_BASE)/target/src/drv/crypto
Tests:
$(WIND_BASE)/target/src/drv/crypto/test
Table 31. VxWorks Interface Module Variables
Variable Definition
CpuFamily Specifies the target CPU family, such as PPC85XX
ToolChain Specifies the tools, such as
gnu
SecurityProcessor Specifies the target security processor, should be
SEC2 for this driver