Security&FreeBSD Install Guide
Security&FreeBSD Install Guide
September 2009
OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS
OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING
TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for
use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics
of any features or instructions marked “reserved” or “undefined.” Intel reserves these for future definition and shall have no responsibility whatsoever for
conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with
this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published
specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-
4725, or by visiting Intel’s Web Site.
Any software source code reprinted in this document is furnished under a software license and may only be used or copied in accordance with the terms
of that license.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different
processor families. See http://www.intel.com/products/processor_number for details.
BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino logo, Core Inside, FlashFile, i960, InstantIP, Intel, Intel logo, Intel386, Intel486, Intel740,
IntelDX2, IntelDX4, IntelSX2, Intel Core, Intel Inside, Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel
NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel vPro, Intel XScale, Itanium, Itanium Inside, MCS, MMX, Oplus,
OverDrive, PDCharm, Pentium, Pentium Inside, skoool, Sound Mark, The Journey Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel
Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2009, Intel Corporation. All rights reserved.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
2 Order Number: 320703-003US
Contents—EP80579 Security Software
Contents
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 3
EP80579 Security Software—Contents
Figures
1 Development Board - Top View of Component and Connector Locations ...........................13
2 Development Board - Bottom View of Component and Connector Locations ......................14
3 Development Board - Side View of the Board Connectors ...............................................15
4 Development Board System Setup ..............................................................................17
Tables
1 Development Board - Key Components and Connectors Legend ......................................15
2 Output Files Created in the $ICP_BUILD_OUTPUT Directory............................................25
3 Pre-Boot Firmware Setup Main Menu ...........................................................................37
4 Pre-Boot Firmware Setup Program Action Keys .............................................................37
5 Serial Console Redirection Default Settings ..................................................................38
6 FreeBSD Module/Driver Dependencies .........................................................................41
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
4 Order Number: 320703-003US
Revision History—EP80579 Security Software
Revision History
§§
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 5
EP80579 Security Software—Introduction
1.0 Introduction
Note: Copying FreeBSD commands with quoted strings from this pdf file to a shell script may
result in incorrect quotes. The user should edit the shell scripts appropriately.
The EP80579 security software release package for FreeBSD has been validated with
FreeBSD v7.1.
Note: The EP80579 security software release package contains encryption software and is
subject to export requirements defined by the U.S Department of Commerce. To satisfy
these requirements, the End User Certification Form must be filled out and submitted
for review/approval. Instructions on this process are included during the download
process. Please note that this process may take up to two business days to complete.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
6 Order Number: 320703-003US
Introduction—EP80579 integrated processor with QuickAssist
Please refer to Release Notes listed in Section 1.2.1 for the correct firmware version.
Item URL
FreeBSD Installation
ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/7.1-RELEASE
Guide, Readme, etc
1.4 Conventions
The following conventions are used in this manual:
• Courier font - commands and code examples
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 7
EP80579 Security Software—Introduction
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
8 Order Number: 320703-003US
Introduction—EP80579 integrated processor with QuickAssist
./Acceleration
./Acceleration/firmware
./Acceleration/include
./Acceleration/include/dcc
./Acceleration/include/lac
./Acceleration/drivers
./Acceleration/drivers/icp_asd
./Acceleration/library
./Acceleration/library/common
./Acceleration/library/icp_debug
./Acceleration/library/icp_utils
./Acceleration/library/icp_utils/OSAL
./Acceleration/library/icp_services
./Acceleration/library/icp_crypto
./Acceleration/library/icp_crypto/QATAL
./Acceleration/library/icp_crypto/QAT_FW
./Acceleration/library/icp_crypto/look_aside_crypto
./Acceleration/library/icp_crypto/look_aside_crypto/src
./Acceleration/library/icp_crypto/look_aside_crypto/src/common
./Acceleration/library/icp_crypto/look_aside_crypto/src/freebsd
./Acceleration/library/icp_crypto/look_aside_crypto/src/sample_code
./Acceleration/library/icp_crypto/look_aside_crypto/include
./Acceleration/library/icp_debugmgmt
./Embedded
./Embedded/src
./Embedded/src/patches
./Embedded/src/WDT
./Embedded/src/GCU
./Embedded/src/EDMA
./Embedded/src/CAN
./Embedded/src/GPIO
./Embedded/src/1588
./Embedded/src/GbE
./FreeBSDConfigFiles
./FreeBSDConfigFiles/left
./FreeBSDConfigFiles/right
./build_system
./build_system/build_files
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 9
EP80579 Security Software—Configuration Requirements
To facilitate quick start of the Software for Intel® EP80579 Integrated Processor
product line, relevant sections from the development kit User’s Guide have been
included in this chapter. Please follow the directions in Section 1.2.1 to access the full
User’s Guide.
Note: Additional items may be required but are not supplied by Intel.
Note: This document assumes that the user is familiar with the basic concepts required to
install and configure hardware for a PC system.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
10 Order Number: 320703-003US
Configuration Requirements—EP80579 integrated processor with QuickAssist
2.1.3 Safety
The development board is shipped as an open system allowing for maximum flexibility
in changing hardware configurations and peripherals in a lab environment. Since the
board is not in a protective chassis, the user is required to take safety precautions
when handling and operating the board. Some assembly is required before use.
Ensure a safe and static-free work environment before removing any components from
their anti-static packaging. The development board is susceptible to electrostatic
discharge that may cause failure or unpredictable operation. The development board
must be operated on a flame-retardant surface because a chassis is not included with
the board.
Caution: Connecting the wrong cable or reversing a cable may damage the board and may
damage the device being connected. Since the board is not in a protective chassis, use
caution when connecting cables to the board.
Caution: The power supply cord provides the main connection to AC power. The socket outlet
should be installed near the equipment and should be readily accessible. To avoid
shock, ensure that the power cord is connected to a properly-wired and grounded
receptacle. Do not connect/disconnect any cables or perform installation/maintenance
of the boards in this product during an electrical storm. Ensure that any equipment to
which this product will be attached is also connected to properly-wired and grounded
receptacles.
Note: Ensure that the step to set up the ATX power supply is the final step performed in the
process of assembly.
Note: The serial redirection feature can be enabled to remotely access the board through a
serial cable without attaching a keyboard or mouse to the development board. Refer to
the “Connecting the Serial Cable for Console Redirection” section of the Intel® EP80579
Integrated Processor with Intel® QuickAssist Technology Development Kit User’s Guide
for more information.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 11
EP80579 Security Software—Configuration Requirements
Note: Table 1 is a legend for key items labeled in Figure 1, Figure 2 and Figure 3.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
12 Order Number: 320703-003US
Configuration Requirements—EP80579 integrated processor with QuickAssist
Y X
DD CC BB AA C G F
O
R
S
D
GG
I W
U M J V K EE T II P A E FF HH
B6607-02
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 13
EP80579 Security Software—Configuration Requirements
KK JJ
B 6606- 03
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
14 Order Number: 320703-003US
Configuration Requirements—EP80579 integrated processor with QuickAssist
RR TT MM
QQ SS UU PP NN OO
B6605-01
D Super IO Controller
E FPGA
F Flash memory 0
G Flash memory 1
H FWH
I Power button
J Reset button
K Sleep button
M Port 80 IC
N CMOS battery
O On-board speaker
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 15
EP80579 Security Software—Configuration Requirements
V SATA port 0
W SATA port 1
X DDR2 DIMM0
Y DDR2 DIMM1
EE Mezzanine connector 1
FF Mezzanine connector 0
GG Floppy Connector
HH CF connector
II ITP-XDP connector
KK Mezzanine connector 2
MM Parallel port
NN COM1
OO COM2
QQ USB port 0
RR USB port 1
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
16 Order Number: 320703-003US
Configuration Requirements—EP80579 integrated processor with QuickAssist
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 17
EP80579 Security Software—Installing the OS on a Development Board
Note: The SATA mode (Legacy or AHCI) cannot be changed after OS installation.
For complete installation instructions and the FreeBSD 7.1 release Readme document,
please refer to FreeBSD’s web site at the following locations:
• ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/7.1-RELEASE
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
18 Order Number: 320703-003US
Installing the OS on a Development Board—EP80579 integrated processor with QuickAssist
5. The user is shown a list of options for software installation. Select: “Standard -
Begin a Standard installation (recommended)”.
6. In the next few screens, the user will be asked to create a DOS-Style partition on
the disk. There may be warnings about geometry being incorrect; however, these
error messages can be ignored. Select: “A = Use Entire Disk”; and then confirm by
selecting: Q = Finish.
7. Next install a Boot Manager. Select: “Standard - Install a standard MBR (no boot
manager)”.
8. Create default sized BSD partitions inside the fdisk partition, created in a previous
step. Select: A = Auto Defaults; and then confirm by selecting: Q = Finish.
9. Choose the distribution to use. Select: “4 Developer -- Full sources, binaries and
doc but no games”.
10. Answer [Yes] to the question: Would you like to install the FreeBSD ports
collection?
11. Note the user is taken to the previous screen showing the various distributions.
Distribution was selected in previous step so select: Exit - Exit this menu (returning
to previous menu) to continue the installation.
12. Identify the installation media. Select: “1 CD/DVD - Install from a FreeBSD CD/
DVD”.
13. The system warns you of loss of data in the disk. To continue with the installation,
select “Yes”. File systems are created and files copied. This step will take a few
minutes to complete and display a Congratulations message at the end.
14. Do not configure any Ethernet devices or SLIP/PPP network devices.
15. Configure the machine to function as a Network Gateway.
16. In the next few screens inetd and related services can be enabled. Do not edit the
default configuration file. The questions can be deceptive. Select Yes and No
carefully.
17. Enable the SSH login.
18. Do not ask for Anonymous FTP access to your machine.
19. Do not configure the machine as a NFS server.
20. Do not configure the machine as a NFS client.
21. Do not customize the system console settings.
22. In the next few screens, the machines time zone is set. Carefully select Yes and No
to these questions. Some are counter intuitive and install does not give the ability
go back and correct.
23. Do not select Linux binary compatibility.
24. In the next few screens the Mouse can be configured. When finished, exit and go
back to previous screen to continue.
25. The system informs you of the availability of ready-to-run applications. Select YES
to select applications from the following:
a. Select all items under: devel - Software development utilities and libraries
b. Select preferred editors under: editors - Common text editors
c. Select: ftp - ftp client and server utilities
d. Select Perl5 scripting tool under: perl5
e. Select bash shell under: shells
Note: Numerous additional entries are selected as dependents of above choices.
26. Select Install. This will install the packages selected in the previous step.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 19
EP80579 Security Software—Installing the OS on a Development Board
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
20 Order Number: 320703-003US
Rebuilding FreeBSD Kernel—EP80579 integrated processor with QuickAssist
ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/7.1-RELEASE
# mkdir /EP805XX_release
# cd /EP805XX_release
# setenv ICP_ROOT $PWD
Transfer the gzip file to the EP80579 target system using any preferred method, for
example, a USB flash drive, CDROM or network transfer. Unpack the tarball in the
$ICP_ROOT directory using the following commands:
Note: Without the option ‘m’ in the following tar command, the build might get into an infinite
loop if the Date is set incorrectly.
# cd $ICP_ROOT
# tar -xmvzf Security.B.1.0.3-xxx.tar.gz
A new directory structure is created under the $ICP_ROOT directory that contains all
EP80579 security software for FreeBSD. See Section 1.5.3, “Package Release
Structure” on page 9 for details of the directory structure of the software release.
# cd $ICP_ROOT
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 21
EP80579 Security Software—Rebuilding FreeBSD Kernel
# cd ./Embedded/src/patches
# patch -p0 < Intel_EP80579_FreeBSD_71.patch
Upon patch application, review the output. The output should contain text similar to:
Hunk #1 succeeded at 64...
This indicates that this part of the patch was applied successfully.
The following patch must be applied to ensure the correct device strings are returned
by the pciconf utility. Copy the pci_vendors.patch to the /usr/share/misc directory. The
patch file can be found in the $ICP_ROOT/Embedded/src/patches directory. Apply the
patch to the pci_vendors.patch file using the following commands:
# cp pci_vendors.patch /usr/share/misc
# cd /usr/share/misc
# patch -p0 < pci_vendors.patch
Upon patch application, review the output. The output should contain text similar to:
Hunk #1 succeeded at 9268...
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-
building.html
# cd /usr/src
# make clean
# make buildkernel KERNCONF=GENERIC
# make installkernel KERNCONF=GENERIC
hw.physmem=672M
Note: The contents of this file may initially be empty.
Execute the following command to ensure that the correct kernel has been loaded;
# uname -r
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
22 Order Number: 320703-003US
Rebuilding FreeBSD Kernel—EP80579 integrated processor with QuickAssist
7.1-RELEASE
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 23
EP80579 Security Software—Building EP80579 Security Software on a Target Development
Board
This chapter provides instructions for unpacking the EP80579 security software
package, setting up the environment and building/compilation instructions.
Note: System commands given in this chapter assume that the user is issuing commands
from a bash shell. This is the default shell. Use the “echo $0” command to verify use of
the bash shell or run “/bin/bash” to switch to the bash shell.
Note: All environment variables set for kernel rebuild are lost when the system was rebooted.
Note: As per the instruction in the previous chapters, the sources are untarred at ICP_ROOT.
Follow the instructions in the man page for the date command to set the current date.
For example, this command sets the date to November 5th, 2008, 15:23AM.
# date 200811051523
# mkdir $ICP_ROOT/StagingArea
# setenv ICP_BUILD_OUTPUT $ICP_ROOT/StagingArea
Caution: Please make sure that the current date has been set, otherwise the make process
might go into an endless loop.
The following commands build the EP80579 security software and EP80579 embedded
software drivers:
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
24 Order Number: 320703-003US
Building EP80579 Security Software on a Target Development Board—EP80579 integrated
processor with QuickAssist
# cd $ICP_ROOT
# make clean
# make
User space utility that downloads the /etc/icp_asd.conf file to ASD during
asd_ctl
initialization
# make install
# kldunload icp_asd.ko
# kldunload icp_crypto.ko
# kldunload mmp_firmware.ko
# kldunload uof_firmware.ko
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 25
EP80579 Security Software—Building EP80579 Security Software on a Target Development
Board
When these commands are issued, the module will load with all statistic collection
enabled. This is the default setting, so unless this parameter has been altered, it is not
necessary to set icp_crypto.statistics.master as shown here. The real value of this
parameter is observed when used in conjunction with disabling specific statistics
gathering as discussed in Section 5.4.1.2.
# kldunload icp_crypto.ko
# kenv icp_crypto.statistics.master=none
# kldload icp_crypto.ko
When these commands are issued, the module will load with all statistics collection
disabled. All individual statistics settings discussed in Section 5.4.1.2 are ignored when
this parameter is set to none.
To disable specific statistics, set the kernel environmental variable value to off before
loading the icp_crypto module. For example, the following commands will enable all
statistics gathering except for the dsa module:
# kldunload icp_crypto.ko
# kenv icp_crypto.statistics.master=all
# kenv icp_crypto.statistics.dsa=off
# kldload icp_crypto.ko
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
26 Order Number: 320703-003US
Building EP80579 Security Software on a Target Development Board—EP80579 integrated
processor with QuickAssist
# kldunload icp_crypto.ko
# kenv icp_crypto.statistics.master=all
# kenv icp_crypto.verbose=1
# kenv icp_crypto.statistics.dsa=off
# kldload icp_crypto.ko
Loading DCC Kernel Module ...
QATAL Driver Module Loaded.
Loading LAC Module ...
statistics_master = all --> All statistics ON
Collecting statistics:
statistics.master = all
statistics.dsa = off
statistics.dh = on
statistics.ln = on
statistics.prime = on
statistics.rsa = on
statistics.key = on
statistics.cb = on
statistics.alg_chain = on
statistics.random = on
statistics.msgs = on
# kldload mmp_firmware.ko
# kldload uof_firmware.ko
# kldload icp_crypto
# kldload icp_asd
# /bin/asd_ctl
# make uninstall
The user can load and unload the kernel modules without deleting them from the /lib
sub-directory, using the command:
# /etc/rc.d/qat_service_freeBSD stop
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 27
EP80579 Security Software—Building, Installing and Loading Individual EP80579 Embedded
Software Drivers
Before building and loading EP80579 embedded software drivers, define the following
environment variable:
# setenv ICP_ROOT /EP805XX_release
$ICP_ROOT/Embedded/src/CAN
Compilation of the FreeBSD CAN driver separately from the rest of the software
package is possible. Change to the $ICP_ROOT/Embedded/src/CAN directory and
execute the following commands:
# make clean
# make
# make install (this will install the driver for persistency)
The CAN driver compiles and the resulting can.ko file is placed in the
$ICP_ROOT/Embedded/src/CAN directory. When “make install” is invoked, can.ko is
placed in the /boot/modules directory.
To load the FreeBSD CAN driver, execute the following command from the directory
where the compiled executable resides:
# kldload ./can.ko
# kldunload can.ko
The kldstat command may be used to confirm if a module has been loaded or
unloaded.
The output of the kldstat command lists all modules loaded in the system. Look for an
entry titled “can”.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
28 Order Number: 320703-003US
Building, Installing and Loading Individual EP80579 Embedded Software Drivers—EP80579
integrated processor with QuickAssist
# ./install.csh
The script checks for the Controller Area Network driver and client drivers, runs all
of the makefiles in the correct order, loads the client driver, and runs the
application. The application output can be viewed in the terminal window.
3. Client driver output can be viewed in a second terminal window by printing /var/
log/messages as follows:
# tail -f /var/log/messages
4. For information about the CAN codelet, refer to the Readme document located at
$ICP_ROOT/Embedded/codelet/CAN.
$ICP_ROOT/Embedded/src/EDMA
Compilation of the FreeBSD EDMA driver separately from the rest of the software
package is possible. Change to the $ICP_ROOT/Embedded/src/EDMA directory and
execute the following commands:
# make clean
# make
# make install (this will install the driver for persistency)
The EDMA driver compiles and the resulting dma.ko file is placed in the
$ICP_ROOT/Embedded/src/EDMA directory. When “make install” is invoked, dma.ko is
placed in the /boot/modules directory.
To load the FreeBSD EDMA driver, execute the following command from the directory
where the compiled executable resides:
# kldload ./dma.ko
# kldunload dma.ko
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 29
EP80579 Security Software—Building, Installing and Loading Individual EP80579 Embedded
Software Drivers
The kldstat command may be used to confirm if a module has been loaded or
unloaded:
The output of the kldstat command lists all modules loaded in the system. Look for an
entry titled “dma”.
# ./install.csh
The script checks for the EDMA and client drivers, runs all of the makefiles in the
correct order, loads the client driver, and runs the application. The application and
client driver output can be viewed in the terminal window.
3. For information about the EDMA codelet, refer to the Readme document located at
$ICP_ROOT/Embedded/codelet/EDMA.
$ICP_ROOT/Embedded/src/WDT
Compilation of the FreeBSD WDT driver separately from the rest of the software
package is possible. Enter the $ICP_ROOT/Embedded/src/WDT directory and execute
the following commands:
# make clean
# make
# make install (this will install the driver for persistency)
The WDT driver compiles and the resulting iwdt.ko file is placed in the
$ICP_ROOT/Embedded/src/WDT directory. When “make install” is invoked, iwdt.ko is
placed in the /boot/modules directory.
To load the FreeBSD Watchdog Timer driver, execute the following command from the
directory where the compiled executable resides:
# kldload ./iwdt.ko
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
30 Order Number: 320703-003US
Building, Installing and Loading Individual EP80579 Embedded Software Drivers—EP80579
integrated processor with QuickAssist
To unload the FreeBSD Watchdog Timer driver, execute the following command:
# kldunload iwdt.ko
The kldstat command may be used to confirm if a module has been loaded or
unloaded:
The output of the kldstat command lists all modules loaded in the system. Look for an
entry titled “iwdt”.
# ./install.csh
The script checks that the Watchdog Timer driver is loaded, runs all of the
makefiles in the correct order, and runs the application. The application output can
be viewed in the terminal window.
3. For information about the WDT codelet, refer to the Readme document located at
$ICP_ROOT/Embedded/codelet/WDT.
$ICP_ROOT/Embedded/src/GPIO
Compilation of the FreeBSD GPIO driver separately from the rest of the software
package is possible. Enter the $ICP_ROOT/Embedded/src/GPIO directory and execute
the following commands:
# make clean
# make
# make install (this will install the driver for persistency)
The GPIO driver compiles and the resulting gpio.ko file is placed in the
$ICP_ROOT/Embedded/src/GPIO directory. When “make install” is invoked, gpio.ko is
placed in the /boot/modules directory.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 31
EP80579 Security Software—Building, Installing and Loading Individual EP80579 Embedded
Software Drivers
To load the FreeBSD General Purpose I/O driver, execute the following command from
the directory where the compiled executable resides:
# kldload ./gpio.ko
To unload the FreeBSD General Purpose I/O driver, execute the following command:
# kldunload gpio.ko
The kldstat command may be used to confirm if a module has been loaded or
unloaded:
The output of the kldstat command lists all modules loaded in the system. Look for an
entry titled “gpio”.
$ICP_ROOT/Embedded/src/1588
Compilation of the FreeBSD IEEE 1588 driver separately from the rest of the software
package is possible. Enter the $ICP_ROOT/Embedded/src/1588 directory and execute
the following commands:
# make clean
# make
# make install (this will install the driver for persistency)
The IEEE 1588 Hardware Assist driver compiles and the resulting timesync.ko file is
placed in the $ICP_ROOT/Embedded/src/1588 directory. When “make install” is
invoked, timesync.ko is placed in the /boot/modules directory.
To load the FreeBSD IEEE 1588 Hardware Assist driver, execute the following command
from the directory where the compiled executable resides:
# kldload ./timesync.ko
To unload the FreeBSD IEEE 1588 Hardware Assist driver, execute the following
command:
# kldunload timesync.ko
The kldstat command may be used to confirm if a module has been loaded or
unloaded:
The output of the kldstat command lists all modules loaded in the system. Look for an
entry titled “timesync”.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
32 Order Number: 320703-003US
Building, Installing and Loading Individual EP80579 Embedded Software Drivers—EP80579
integrated processor with QuickAssist
# ./install.csh
The script checks for the IEEE 1588 Hardware Assist driver and client drivers, runs
all of the makefiles in the correct order, loads the client driver, and runs the
application. The application output can be viewed in the terminal window.
3. Client driver output can be viewed in a second terminal window by printing /var/
log/messages as follows:
# tail -f /var/log/messages
4. For information about the 1588 codelet, refer to the Readme document located at
$ICP_ROOT/Embedded/codelet/1588.
Note: The Global Configuration Unit driver must be installed prior to installation of the Gigabit
Ethernet driver.
$ICP_ROOT/Embedded/src/GCU
$ICP_ROOT/Embedded/src/GbE
Compilation of the FreeBSD GCU and GbE drivers separately from the rest of the
software package is possible. Enter the $ICP_ROOT/Embedded/src/GbE and
$ICP_ROOT/Embedded/src/GCU directory and execute the following commands:
# cd $ICP_ROOT/Embedded/src/GCU
# make clean
# make
# make install (this will install the GCU driver for persistency)
# cd $ICP_ROOT/Embedded/src/GbE
# make clean
# make
# make install (this will install the GbE driver for persistency)
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 33
EP80579 Security Software—Building, Installing and Loading Individual EP80579 Embedded
Software Drivers
The Gigabit Ethernet driver compiles and the resulting iegbe.ko file is placed in the
$ICP_ROOT/Embedded/src/GbE directory. The GCU driver compiles and the resulting
gcu.ko file is placed in the $ICP_ROOT/Embedded/src/GCU directory. When “make
install” is invoked, iegbe.ko and gcu.ko are placed in the /boot/modules directory.
To load the FreeBSD Gigabit Ethernet driver, execute the following commands from the
directory where the compiled executable resides:
# kldload ./gcu.ko
# kldload ./iegbe.ko
To unload the FreeBSD Gigabit Ethernet driver, execute the following commands (iegbe
driver must be unloaded before gcu driver can be unloaded):
# kldunload iegbe.ko
# kldunload gcu.ko
The kldstat command may be used to confirm if a module has been loaded or
unloaded:
The output of the kldstat command lists all modules loaded in the system. Look for an
entry titled “iegbe” and “gcu”.
The smb.ko and smbus.ko drivers are installed using one command:
# kldload smb
# kldload ichsmb
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
34 Order Number: 320703-003US
Building, Installing and Loading Individual EP80579 Embedded Software Drivers—EP80579
integrated processor with QuickAssist
# kldunload smb.ko
# kldunload smbus.ko
# kldunload ichsmb.ko
To confirm these modules have been loaded or unloaded, execute the following
command:
# kldstat
The output of the kldstat command lists all modules loaded in the system. Look for
entries entitled “smb”, “smbus”, and “ichsmb”.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 35
EP80579 Security Software—Sample Applications
Sample applications are included with this software release that present examples of
how to use to cryptographic APIs. They can be found in the directory:
./Acceleration/library/icp_crypto/look_aside_crypto/src/sample_code
./Acceleration/library/icp_crypto/look_aside_crypto/src/sample_code
.../functional
.../functional/asym
.../functional/asym/diffie_hellman_sample
.../functional/asym/prime_sample
.../functional/include
.../functional/sym
.../functional/sym/alg_chaining_sample
.../functional/sym/cipher_sample
.../functional/sym/hash_sample
.../performance
For instructions on using the sample applications, refer to README.txt located in:
./Acceleration/library/icp_crypto/look_aside_crypto/src/sample_code
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
36 Order Number: 320703-003US
Pre-Boot Firmware (BIOS)—EP80579 integrated processor with QuickAssist
The pre-boot firmware is based on the AMI Aptio* 4.5 core and compliant to EFI v1.1.
The firmware is stored in the Firmware Hub (FWH) or Serial Peripheral Interface (SPI)
Flash; the FWH or SPI Flash can be updated using a flash utility tool that is provided.
The pre-boot firmware setup menu can be used to view and modify the system settings
for the development board. The setup menu is accessed by pressing the <Del> key
during pre-boot firmware boot up (before the operating system begins). The setup
menu bar is shown in Table 3.
Displays
processor and
memory Saves or
Configures Setup
configuration Configures Selects boot discards
advanced passwords and
different major options and changes to
features and security
components configurations setup program
Setup for CMOS settings features
options
system date
and time
F7 Discard changes
F9 Load the optimal default configuration value for the current menu
F10 Save the current configuration and exit the setup menu
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 37
EP80579 Security Software—Pre-Boot Firmware (BIOS)
As an option, the development board can be operated without keyboard or video and
can run entirely via the remote serial console. This includes accessing the pre-boot
firmware setup menu.
Console redirection ends when operating system boot up begins. After boot up begins,
the operating system is responsible for continuing the redirection.
Note: The pre-boot firmware console redirection is text only. Graphical data, such as logos,
are not redirected.
Data Bits 8
Parity None
Stop bits 1
Note: Follow the instructions on the right side of the pre-boot firmware screen to navigate
and change pre-boot firmware settings.
Enter the BIOS Setup Menu and select the Chipset tab. Select the North Bridge sub tab.
Navigate down to the bottom option, titled Max Memory Speed Support, and select this
option using the Enter button. A selection box appears providing the following options:
• 400 MHz
• 533 MHz
• 667 MHz
• 800 MHz
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
38 Order Number: 320703-003US
Pre-Boot Firmware (BIOS)—EP80579 integrated processor with QuickAssist
The default setting in the BIOS is 400 MHz. If a higher speed memory DIMM is inserted
into the development board, the corresponding memory speed must be selected in the
BIOS Setup Menu to support the intended speed. Otherwise, the memory is reduced to
the default of 400 MHz.
Coherent and non-coherent memory use features are for development boards that use
the Intel® EP80579 Integrated Processor with Intel® QuickAssist Technology. EP80579
integrated processors without Intel® QuickAssist Technology do not make use of the
memory set aside for these features.
This software package requires the pre-boot firmware (BIOS) for your hardware to
allocate the values for each region.
Refer to the Serial ATA Organization web site for more information:
http://www.serialata.org/
The development board pre-boot firmware (BIOS) can be configured in either Legacy or
AHCI mode as desired. The BIOS defaults to Legacy mode because not all hard drives
support AHCI. To toggle the BIOS to either Legacy or AHCI mode, proceed as follows:
1. Press the <Del> key during POST to enter the pre-boot firmware setup menu.
2. Use the arrow keys to navigate to the Advanced menu.
3. Use the arrow keys to navigate to the IDE Configuration option.
4. Select the IDE Configuration option.
5. Use the arrow keys to navigate to the SATA Mode option.
6. Press the Enter key. A SATA Mode popup window appears.
7. Select either Legacy or AHCI as desired. Do not use Native as a selection.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 39
EP80579 Security Software—Pre-Boot Firmware (BIOS)
8. Press F4 to save.
9. Choose Yes. The system continues the boot process.
It is possible that updated pre-boot firmware images will become available from Intel
for the Intel® EP80579 Integrated Processor with Intel® QuickAssist Technology
Development Board. The latest pre-boot firmware image is available from Intel’s public
web site, http://www.intel.com/go/soc located with all other collateral related to the
EP80579 integrated processor.
If the pre-boot firmware image should become corrupted on the board, also utilize
these instructions to reflash the image.
Necessary hardware:
• development board
• Socketed Firmware Hub or SPI Flash
• USB flash drive
Necessary software:
• development board pre-boot firmware image
• Aptio Flash Update Utility from AMI - AFUEFI
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
40 Order Number: 320703-003US
Uninstalling the Software—EP80579 integrated processor with QuickAssist
Please refer to instructions on loading and unloading individual modules in Chapter 6.0.
mmp_firmware.ko /boot/firmware.ko
uof_firmware.ko /boot/firmware.ko
icp_debug icp_hal
icp_crypto icp_debug
icp_asd icp_crypto
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 41
EP80579 Security Software—Troubleshooting
10.0 Troubleshooting
Refer to the Release Notes for your software package for a list of known errata,
implications, and workarounds.
Installing FreeBSD 7.1 on a hard drive which has been used before can cause an issue
during boot. The installation of the operating system will seem to succeed, however,
upon reboot after installation, the OS may hang at the boot loader. If using a hard drive
previously used, it is recommended you first reformat the hard drive.
Upon installation of FreeBSD 7.1, a warning message will be displayed about the
geometry of the disk drive. It is OK to accept the disk geometry that FreeBSD is
displaying.
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
42 Order Number: 320703-003US
Troubleshooting—EP80579 integrated processor with QuickAssist
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
September 2009 GSG
Order Number: 320703-003US 43
EP80579 Security Software—Glossary
11.0 Glossary
§§
Intel® EP80579 Software for Security Applications on Intel® QuickAssist Technology for FreeBSD*
GSG September 2009
44 Order Number: 320703-003US