IPSec on Freescale Hypervisor (Topaz) and T1040 (T1042)

Document created by Ugendreshwar Kudupudi Employee on Apr 15, 2015Last modified by ebiz_ws_prod on Dec 13, 2017
Version 8Show Document
  • View in full screen mode

Hypervisor Deployment

The Freescale embedded hypervisor is a layer of software that enables the efficient and secure partitioning of a multicore system. A system's CPUs, memory, and I/O devices can be divided into groupings or partitions, as shown in the figure below. Each partition is capable of executing a guest operating system.

Figure 1. Partitioning with the Hypervisor in a Multicore Environment


Hypervisor DTB changes:


The partitioning information is defined in hypervisor package file called hv.dts. By default, the hv.dts file has only 2 interfaces and a mac-less interface defined per partition.  For IPSec demo we need to place all the interfaces within the 1st partition and the attached file has the full source code details.


To extract the HV DTB source code, use the bitbake command: bitbake -c patch hv-cfg


Build the final binaries using the bitbake command: bitbake fsl-image-core

The above command would compile all the binaries required (including hv-2p-lnx-lnx.dtb)

Now, the kernel, hypervisor image, device tree, hypervisor device tree and ramdisk filesystem can be flashed onto the board. These steps should be done assuming the user already has switched to the alternate bank.

            Step 1: Programming Kernel to Flash

TFTP the kernel image to RAM, then copy it to the flash address 0xe8020000. Execute the following commands at the U-Boot prompt to program the kernel to flash:

=>tftp 1000000 uImage-t1040rdb.bin

=>erase e8020000 +$filesize

=>cp.b 1000000 e8020000 $filesize

Step 2: Programming Ramdisk Filesystem to Flash

TFTP the ramdisk file system to RAM, then copy it to the flash at address 0xe9300000. Execute the following commands at U-Boot prompt to program the ramdisk to flash:

=>tftp 1000000 fsl-image-core-t1040rdb.ext2.gz.u-boot

=>erase e9300000 +$filesize

=>cp.b 1000000 e9300000 $filesize

Step 3: Programming Hypervisor Image to Flash

TFTP the hypervisor images to RAM, then copy it to the flash at address 0xe8700000. Execute the following commands at U-Boot prompt to program the hypervisor image to flash:

=>tftp 1000000 hv.uImage

=>erase e8700000 +$filesize

=>cp.b 1000000 e8700000 $filesize

Step 4: Programming Kernel dtb to Flash

TFTP the kernel dtb file to ram, then copy it to the flash at address 0xe8800000. Execute the following commands at U-Boot prompt to program the kernel dtb to flash:

Target Deployment - for hv-2p mode deployment:

=>tftp 1000000 uImage-t1040rdb.dtb

=>erase e8800000 +$filesize

=>cp.b 1000000 e8800000 $filesize


Program "hv-2p-lnx-lnx.dtb" to 0xe8900000

=>tftp 1000000 hv-2p-lnx-lnx.dtb

=>erase e8900000 +$filesize

=>cp.b 1000000 e8900000 $filesize

          Step 5: Booting Up the System

As of now, all the DPAA devices on this platform are given to partition 1. The kernel can boot up automatically after the board is powered on with the correct U-Boot environment. The following command can also be used to boot up the board at U-Boot prompt:


=>setenv bootargs config-addr=0xfe8900000 console=ttyS0,115200

=>setenv bootcmd 'bootm 0xfe8700000 - 0xfe8800000'




Step 6: Setup IPSec demo as described in the following link IPSec demo on T1040RDB

Original Attachment has been moved to: hv.dts.zip