Freescale Semiconductor SEC2SWUG specifications Linux Environment, Installation, Operation

Page 39

Linux Environment

6 Linux Environment

This section describes the driver's adaptation to and interaction with the Linux operating system as applied to PPC processors

6.1 Installation

6.1.1 Driver Source

The SEC2 driver installs into Linux as a loadable module. To build the driver as a module, it must be installed into the kernel source tree to be included in the kernel build process. The makefile included with the distribution assumes this inclusion. As delivered, this directory is defined as [kernelroot]/drivers/sec2.

Once the driver source is installed, and the kernel source (and modules) are built, module dependency lists updated, and the built objects are installed in the target filesystem, the driver, (named sec2drv.o) is ready for loading when needed.

6.1.2 Device Inode

Kernel processes may call the driver's functionality directly. On the other hand, user processes must use the kernel's I/O interface to make driver requests. The only way for user processes to do this it to open the device as a file with the open() system call to get a file descriptor, and then make requests through ioctl(). Thus the system will need a device file created to assign a name to the device.

The driver functions as a char device in the target system. As shipped, the driver assumes that the device major number will be assigned dynamically, and that the minor number will always be zero, since only one instance of the driver is supported.

Creation of the device's naming inode may be done manually in a development setting, or may be driven by a script that runs after the driver module loads, and before any user attempts to open a path to the driver. Assuming the module loaded with a dynamically assigned major number of 254 (look for sec2 in /proc/devices), then the shell command to accomplish this would normally appear as:

$ mknod c 254 0 /dev/sec2

Once this is done, user tasks can make requests to the driver under the device name /dev/sec2.

6.2 Operation

6.2.1 Driver Operation in Kernel Mode

Operation of the SEC2 device under kernel mode is relatively straightforward. Once the driver module has loaded, which will initialize the device, direct calls to the ioctl() entry (named SEC2_ioctl in the driver) can be made, the first two arguments may effectively be ignored.

In kernel mode, request completion may be handled through the standard use of notification callbacks in the request. The example suite available with the driver shows how this may be accomplished; this suite uses a mutex that the callback will release in order to allow the request to complete, although the caller may make use of any other type of event mechanism that suits their preference.

Logical to physical memory space translation is handled internal to the driver.

SEC 2.0 Reference Device Driver User’s Guide, Rev. 0

Freescale Semiconductor

PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE

39

Image 39
Contents Freescale Semiconductor OverviewSEC 2.0 Reference Device Driver User’s Guide, Rev Acronyms and AbbreviationsOverview Term MeaningEnd-User Application Device Driver ComponentsDevice Driver Structure Device Driver ComponentsProcess Request Routine Interrupt Service RoutineDriver Initialization Routine Request Dispatch RoutineUser Interface Deferred Service RoutineUser Interface Application Interface= Dpdaesacbcencryptcrypt Error HandlingSecond and Third Arguments in the ioctl Function Global Definitions1 I/O Control Codes Channel DefinitionsChannel Defines Callback Error Status Return CodeOperation ID opId Masks Return CodesSEC2TEAERROR SEC2ADDRESSPROBLEMSEC2CHAERROR SEC2PARITYSYSTEMERRORDefine Description SEC2CANCELLEDREQUESTMiscellaneous Request Structures SEC2INVALIDADDRESSStatusreq Process Request StructuresScatter-Gather Buffer Management NotifyonerrorDirect Scatter-Gather Usage Example Rngreq Individual Request Type DescriptionsRandom Number Requests DES RequestsDescbccryptreq Valid Descriptors opId ARC4 RequestsDescryptreq 1 ARC4LOADCTXCRYPTREQ2 ARC4LOADKEYCRYPTUNLOADCTXREQ ARC4LOADCTXCRYPTREQ Valid Descriptor opIdARC4LOADKEYCRYPTUNLOADCTXREQ Valid Descriptor opId Hash Requests HashreqHashreq Valid Descriptors 0x4400 opId Hmac Requests HmacpadreqHashreq Valid Descriptors 0x4500 opId AES Requests AesacryptreqHmacpadreq Valid Descriptors opId Modexpreq Valid Descriptor opId Integer Public Key RequestsModexpreq Aesacryptreq Valid Descriptors opIdDpdmmssrsaexp ModssexpreqMODR2MODNREQ Modssexpreq Valid Descriptor opId0x5300 Modrrmodpreq5 MOD2OPREQ Modrrmodpreq Valid Descriptor opIdMOD2OPREQ Valid Descriptors opId Value Function Description ECC Public Key Requests EccpointreqMOD2OPREQ Valid Descriptors opId Eccpointreq Valid Descriptors opId 2 ECC2OPREQDpdecspkbuildulctx EccspkbuildreqECC2OPREQ Valid Descriptors opId Eccspkbuildreq Valid Descriptor opIdEccptadddblreq Valid Descriptor opId IPSec RequestsEccptadddblreq IpseccbcreqIpseccbcreq Valid Descriptors opId Descriptors Ipsececbreq Valid Descriptors opId IpsececbreqIpsecaescbcreq Valid Descriptors opId IpsecaescbcreqIpsecaesecbreq Ipsecaesecbreq Valid Descriptors opId IpsecespreqIpsecespreq Valid Descriptors opId DPDIPSECESPINTDESCBCDCRPTMD5PAD DpdipsecespinsdescbcdcrptshapadDPDIPSECESPOUTTDESCBCCRPTMD5PAD DpdipsecespouttdescbccrptshapadSrtpreq 10 802.11 Protocol RequestsSrtp Protocol Requests CcmpreqSample Code DES SampleSrtpreq Valid Descriptors opId Ipsec Sample PRELIMINARY-SUBJECT to Change Without Notice Installation Linux EnvironmentOperation VxWorks Environment Driver Operation in User ModeVxWorks Environment Driver Module License MacroVxWorks Interface Module Variables PortingBuilding the Interface Modules BSP IntegrationInterrupt Service Routine Header FilesSource Files Conditional Compilation Debug MessagingDistribution Archive How to Reach Us

SEC2SWUG specifications

Freescale Semiconductor, a prominent player in the semiconductor industry, has made significant strides in developing robust solutions tailored for the automotive and industrial sectors. One such innovation is the SEC2SWUG (Security Configuration to Software User Guide), a comprehensive framework designed to enhance security protocols across various applications.

The SEC2SWUG is particularly vital in an era where cybersecurity threats are increasingly sophisticated. This tool is built to help developers implement security measures seamlessly during the software design phase, ensuring products are resilient against potential vulnerabilities. One of the main features of the SEC2SWUG is its versatility; it can be applied across a wide range of microcontrollers and processors offered by Freescale. This is particularly advantageous for engineers who require a consistent security approach across different platforms.

In terms of technology, the SEC2SWUG incorporates advanced cryptographic algorithms, allowing for data encryption, decryption, and authentication processes. This ensures that sensitive information remains secure, particularly in automotive applications where vehicle-to-everything (V2X) communication is becoming paramount. Moreover, the guide details the implementation of secure boot processes, which verify the integrity of firmware before it executes, bolstering overall system security.

Another key characteristic of SEC2SWUG is its user-friendliness. Freescale has focused on creating a resource that not only provides theoretical knowledge but also practical guidelines, making it easier for developers to integrate security protocols into their projects. The guide features clear annotations, example code snippets, and troubleshooting tips, which enhance the developer experience and facilitate a smoother transition from concept to execution.

Additionally, SEC2SWUG is designed to be scalable. As industries evolve, the demand for security measures will only grow, and this framework ensures that developers can adapt their solutions accordingly. Whether working on embedded systems, IoT applications, or complex automotive networks, the SEC2SWUG offers a robust security foundation.

In conclusion, Freescale Semiconductor's SEC2SWUG is a vital tool for engineers and developers looking to embed security into their applications. With its focus on advanced technologies and user-centric design, the SEC2SWUG stands at the forefront of secure software development, addressing the critical need for safety in interconnected systems.