OVP Peripheral Model: RiscvSmartLoaderRV64Linux
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.
Licensing
Open Source Apache 2.0
Description
Psuedo-peripheral to insert boot code for a Riscv 64-bit Linux kernel boot. Loads simulated memory with a device tree blob file and boot code to set regs and jump to a Risc-v Linux Kernel.
Limitations
Only supports little endian
Reference
RISC-V Linux Kernel development
Location
The SmartLoaderRV64Linux peripheral model is located in an Imperas/OVP installation at the VLNV: riscv.ovpworld.org / peripheral / SmartLoaderRV64Linux / 1.0.
Peripheral Instance Parameters
This model accepts the following parameters:
Table : Peripheral Parameters
Name | Type | Description |
---|
dtb | string | Name of the device tree blob file. (required when Smart Loader is not disabled) |
command | string | Set command line passed to kernel. Will override a command line defined in the dtb. (optional) |
append | string | Append to the kernel command line defined in the dtb. (optional) |
membase | uns64 | Base of main memory region (overrides device tree memory node when membase and memsize both set) |
memsize | uns64 | Size of main memory region (overrides device tree memory node when membase and memsize both set) |
slbootaddr | uns64 | Address where SmartLoader generated boot code and dtb will be loaded. Jump to this address to start boot process. (default: 0x1000) |
bootimage | string | Name of boot image file to load at bootaddr, e.g. bbl.bin (optional - may instead load boot elf file with standard --objfilenoentry option) |
bootaddr | uns64 | Address to call from SmartLoader's generated boot code. (default 0x80000000) |
bootconvention | enumeration | Boot convention to use in call from SmartLoader generated boot code (bbl=Berkeley Boot Loader, fsbl=SiFive FSBL). (default: bbl) |
disable | bool | Set to True to disable the SmartLoader. (all other parameters are ignored when this is set to True) |
Bus Master Ports
This model has the following bus master ports:
Bus Master Port: mport
Table 1: mport
Name | Address Width (bits) | Description |
---|
mport | 32 | Master port - connect this to the same bus connected to the 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 'SmartLoaderRV64Linux'