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.
Reference
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
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.
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 |
---|
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 |
tftpPrefix | string | Path to the root of the tftp directory |
redir | string | User mode redirection of host port to virtual port (using SLiRP), command format <protocol>:<host port>:<ip address>:<virtual port> |
record | string | Record external events into this file |
replay | string | Replay external events from this file |
tapDevice | string | The name of the TAP device |
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_QueuePFN | 0x40 | 32 | Virtual queue PFN | | |
ab_QueueAlign | 0x3c | 32 | Virtual queue align | | |
ab_QueueNum | 0x38 | 32 | Virtual queue size | | |
ab_QueueNumMax | 0x34 | 32 | Maximum virtual queue size | | |
ab_QueueSel | 0x30 | 32 | Virtual queue index | | |
ab_GuestPageSz | 0x28 | 32 | Guest page size | | |
ab_GuestFSel | 0x24 | 32 | Guest features select | | |
ab_GuestFeatures | 0x20 | 32 | Guest features flags | | |
ab_HostFSel | 0x14 | 32 | Host features select | | |
ab_HostFeatures | 0x10 | 32 | Host features flags | | |
ab_VendorID | 0xc | 32 | Subsystem Vendor ID ('OVP' string) | | |
ab_DeviceID | 0x8 | 32 | Block Subsystem Device ID | | |
ab_Version | 0x4 | 32 | Device Version number | | |
ab_MagicValue | 0x0 | 32 | Magic value ('virt' string) | | |
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) | |
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'