LIBRARY  |  COMPANIES |   PLATFORMS |   PROCESSORS |   PERIPHERALS
ArmSmartLoaderArmLinux



OVP Peripheral Model: ArmSmartLoaderArmLinux



Model Specific Information

This page provides introductory usage information for an Imperas OVP peripheral behavioral model. The page is split into sections providing specific information for this peripheral, including any ports for connecting into a platform, registers, other component parts, and configuration options and general information for peripheral modeling with Imperas OVP.

Description

Psuedo-peripheral to perform memory initialisation for an ARM based Linux kernel boot:

Loads Linux kernel image file and (optional) initial ram disk image into memory.

Writes ATAG data into memory.

Writes tiny boot code at physical memory base that configures the registers as expected by Linux Kernel and then jumps to boot address (image load address by default).

Licensing

Open Source Apache 2.0

Limitations

Only supports little endian

Reference

See ARM Linux boot requirements in Linux source tree at documentation/arm/Booting

Location

The SmartLoaderArmLinux peripheral model is located in an Imperas/OVP installation at the VLNV: arm.ovpworld.org / peripheral / SmartLoaderArmLinux / 1.0.



Peripheral Instance Parameters

This model accepts the following parameters:

Table : Peripheral Parameters

NameTypeDescription
kernelstringName of the the Linux kernel image file (e.g. zImage) to load. (required)
kerneladdruns32Address to load the Linux kernel image file (default: physicalbase+0x00010000)
initrdstringName of the initial ram disk file to load. (optional)
initrdaddruns32Address to load the initial ram disk file (default: physicalbase+0x00d00000)
atagsaddruns32Address to write Linux ATAGS data (default: physicalbase+0x100)
physicalbaseuns32The physical address of the base of memory. (default: 0)
memsizeuns32The size of memory in bytes. (default: 128M)
commandstringCommand string passed to the kernel.
boardiduns32The boardid passed to the kernel. (default: ArmIntegrator value = 0x113)
stackpointeruns32The stackpointer passed to the kernel. (default: memsize+physicalbase)
bootaddruns32Address to call from smart Loader's tiny startup code (default: kerneladdr)
bootcodestringPath to boot code
disableboolSet to True to disable the smart loader
appendstringAppend this string to the command line
nbcpusuns64Number of CPUs



Bus Master Ports

This model has the following bus master ports:

Bus Master Port: mport

Table 1: mport

NameAddress Width (bits)Description
mport32Master port - connect to same bus connected to Linux processor's data port



Platforms that use this peripheral component

Peripheral components can be used in many different platforms, including those developed by Imperas or by other users of OVP. You can use this peripheral in your own platforms.

Table 2: Publicly available platforms using peripheral 'SmartLoaderArmLinux'

Platform NameVendor
HeteroArmIntegratorCPLinuxwithMicroBlazeimperas.ovpworld.org
HeteroArmVersatileExpressLinuxwithMicroBlazeimperas.ovpworld.org
AlteraCycloneV_HPSaltera.ovpworld.org
ArmIntegratorCParm.ovpworld.org
ArmVersatileExpressarm.ovpworld.org
ArmVersatileExpress-CA15arm.ovpworld.org
ArmVersatileExpress-CA9arm.ovpworld.org
HeteroArmNucleusMIPSLinuximperas.ovpworld.org
QuadArmVersatileExpressimperas.ovpworld.org
AlteraCycloneV_HPS_TLM2altera.ovpworld.org
ArmIntegratorCP_TLM2.0arm.ovpworld.org
ArmVersatileExpress_CA9_TLM2arm.ovpworld.org
ArmIntegratorCParm.ovpworld.org
ArmVersatileExpress-CA15arm.ovpworld.org
ArmVersatileExpress-CA9arm.ovpworld.org



ArmHoldingsPeripherals
Page was generated in 0.0377 seconds