LIBRARY  |  COMPANIES |   PLATFORMS |   PROCESSORS |   PERIPHERALS
OVPVirtioBlkMMIO



OVP Peripheral Model: OVPVirtioBlkMMIO



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

VIRTIO version 1 mmio block device This model implements a VIRTIO MMIO block device as described in: http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf. Use the VB_DRIVE parameter to specify the disk image file to use. Set the VB_DRIVE_DELTA parameter to 1 to prevent writes to disk during simulation from changing the image file.

Limitations

Only supports the Legacy (Device Version 1) interface. Only little endian guests are supported.

Licensing

Open Source Apache 2.0

Reference

http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf

Location

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



Peripheral Instance Parameters

This model accepts the following parameters:

Table : Peripheral Parameters

NameTypeDescription
VB_DRIVEstringFilename of image for Virtio Block device
VB_DRIVE_DELTAboolIf true the Drive uses delta writes (image will not be updated)
recordstringRecord external events into this file
replaystringReplay external events from this file



Net Ports

This model has the following net ports:

Table 1: Net Ports

NameTypeMust Be ConnectedDescription
InterruptoutputF (False)



Bus Master Ports

This model has the following bus master ports:

Bus Master Port: dma

Table 2: dma

NameAddress Width (bits)Description
dma40



Bus Slave Ports

This model has the following bus slave ports:

Bus Slave Port: bport1

Table 3: Bus Slave Port: bport1

NameSize (bytes)Must Be ConnectedDescription
bport10x200F (False)

Table 4: Bus Slave Port: bport1 Registers:

NameOffsetWidth (bits)DescriptionR/Wis Volatile
ab_MagicValue0x032Magic value ('virt' string)
ab_Version0x432Device Version number
ab_DeviceID0x832Block Subsystem Device ID
ab_VendorID0xc32Subsystem Vendor ID ('OVP' string)
ab_HostFeatures0x1032Host features flags
ab_HostFSel0x1432Host features select
ab_GuestFeatures0x2032Guest features flags
ab_GuestFSel0x2432Guest features select
ab_GuestPageSz0x2832Guest page size
ab_QueueSel0x3032Virtual queue index
ab_QueueNumMax0x3432Maximum virtual queue size
ab_QueueNum0x3832Virtual queue size
ab_QueueAlign0x3c32Virtual queue align
ab_QueuePFN0x4032Virtual queue PFN
ab_QueueNotify0x5032Virtual queue notify
ab_IntStatus0x6032Interrupt status
ab_IntAck0x6432Interrupt acknowlege
ab_Status0x7032Device status



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 5: Publicly available platforms using peripheral 'VirtioBlkMMIO'

Platform NameVendor
SiFiveFU540imperas.ovpworld.org
ARMv8-A-FMv1arm.ovpworld.org
iMX6Snxp.ovpworld.org
virtioriscv.ovpworld.org
FU540sifive.ovpworld.org



ImperasPeripherals
Page was generated in 0.0167 seconds