LIBRARY  |  COMPANIES |   PLATFORMS |   PROCESSORS |   PERIPHERALS
OVPVirtioNetMMIO



OVP Peripheral Model: OVPVirtioNetMMIO



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 net device as described in: http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf.

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 VirtioNetMMIO peripheral model is located in an Imperas/OVP installation at the VLNV: ovpworld.org / peripheral / VirtioNetMMIO / 1.0.



Peripheral Instance Parameters

This model accepts the following parameters:

Table : Peripheral Parameters

NameTypeDescription
recordstringRecord external events into this file
replaystringReplay external events from this file
tapDevicestringThe name of the TAP device
redirstringUser mode redirection of host port to virtual port (using SLiRP), command format <protocol>:<host port>:<ip address>:<virtual port>
tftpPrefixstringPath to the root of the tftp directory
networkstringThe (v4) IP address of the local network device.
logfilestringThe file to which Ethernet frames should be logged. Uses pcap file format, viewable by Wireshark and other programs



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



Packetnet Ports

This model has the following packetnet ports:

Packetnet Port: phy

Table 5: phy

NameMaximum Packet Size (bytes)Must Be ConnectedDescription
phy1524F (False)



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 6: Publicly available platforms using peripheral 'VirtioNetMMIO'

Platform NameVendor
virtioriscv.ovpworld.org



ImperasPeripherals
Page was generated in 0.0211 seconds