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
Name | Type | Description |
---|
record | string | Record external events into this file |
replay | string | Replay external events from this file |
tapDevice | string | The name of the TAP device |
redir | string | User mode redirection of host port to virtual port (using SLiRP), command format <protocol>:<host port>:<ip address>:<virtual port> |
tftpPrefix | string | Path to the root of the tftp directory. To use tftp, fetch from the host (gw) IP address. |
macaddress | uns64 | The MAC address (hex number) |
macprefix | uns32 | The first two bytes of MAC addresses (hex number) on the VLAN |
network | string | The (v4) IP address of the local network device. |
logfile | string | The file to which Ethernet frames should be logged. Uses pcap file format, viewable by Wireshark and other programs. Do not use if this device is connected to a packetnet |
Net Ports
This model has the following net ports:
Table 1: Net Ports
Name | Type | Must Be Connected | Description |
---|
Interrupt | output | F (False) | |
Bus Master Ports
This model has the following bus master ports:
Bus Master Port: dma
Table 2: dma
Name | Address Width (bits) | Description |
---|
dma | 40 | |
Bus Slave Ports
This model has the following bus slave ports:
Bus Slave Port: bport1
Table 3: Bus Slave Port: bport1
Name | Size (bytes) | Must Be Connected | Description |
---|
bport1 | 0x200 | F (False) | |
Table 4: Bus Slave Port: bport1 Registers:
Name | Offset | Width (bits) | Description | R/W | is Volatile |
---|
ab_MagicValue | 0x0 | 32 | Magic value ('virt' string) | | |
ab_Version | 0x4 | 32 | Device Version number | | |
ab_DeviceID | 0x8 | 32 | Block Subsystem Device ID | | |
ab_VendorID | 0xc | 32 | Subsystem Vendor ID ('OVP' string) | | |
ab_HostFeatures | 0x10 | 32 | Host features flags | | |
ab_HostFSel | 0x14 | 32 | Host features select | | |
ab_GuestFeatures | 0x20 | 32 | Guest features flags | | |
ab_GuestFSel | 0x24 | 32 | Guest features select | | |
ab_GuestPageSz | 0x28 | 32 | Guest page size | | |
ab_QueueSel | 0x30 | 32 | Virtual queue index | | |
ab_QueueNumMax | 0x34 | 32 | Maximum virtual queue size | | |
ab_QueueNum | 0x38 | 32 | Virtual queue size | | |
ab_QueueAlign | 0x3c | 32 | Virtual queue align | | |
ab_QueuePFN | 0x40 | 32 | Virtual queue PFN | | |
ab_QueueNotify | 0x50 | 32 | Virtual queue notify | | |
ab_IntStatus | 0x60 | 32 | Interrupt status | | |
ab_IntAck | 0x64 | 32 | Interrupt acknowlege | | |
ab_Status | 0x70 | 32 | Device status | | |
Packetnet Ports
This model has the following packetnet ports:
Packetnet Port: phy
Table 5: phy
Name | Maximum Packet Size (bytes) | Must Be Connected | Description |
---|
phy | 1524 | F (False) | The port to connect the packetnet virtual network |
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'