%ifndef ___VBox_VMMDevTesting_h
%define ___VBox_VMMDevTesting_h
%define VMMDEV_TESTING_MMIO_BASE 0x00101000
%define VMMDEV_TESTING_MMIO_SIZE 0x00001000
%define VMMDEV_TESTING_MMIO_NOP (VMMDEV_TESTING_MMIO_BASE + 0x000)
%define VMMDEV_TESTING_MMIO_NOP_R3 (VMMDEV_TESTING_MMIO_BASE + 0x008)
%define VMMDEV_TESTING_MMIO_RM_SEL 0xffff
%define VMMDEV_TESTING_MMIO_RM_OFF(val) ((val) - 0xffff0)
%define VMMDEV_TESTING_IOPORT_BASE 0x0510
%define VMMDEV_TESTING_IOPORT_COUNT 0x0010
%define VMMDEV_TESTING_IOPORT_NOP (VMMDEV_TESTING_IOPORT_BASE + 0)
%define VMMDEV_TESTING_IOPORT_TS_LOW (VMMDEV_TESTING_IOPORT_BASE + 1)
%define VMMDEV_TESTING_IOPORT_TS_HIGH (VMMDEV_TESTING_IOPORT_BASE + 2)
%define VMMDEV_TESTING_IOPORT_CMD (VMMDEV_TESTING_IOPORT_BASE + 3)
%define VMMDEV_TESTING_IOPORT_DATA (VMMDEV_TESTING_IOPORT_BASE + 4)
%define VMMDEV_TESTING_IOPORT_NOP_R3 (VMMDEV_TESTING_IOPORT_BASE + 5)
%define VMMDEV_TESTING_CMD_INIT 0xcab1e000
%define VMMDEV_TESTING_CMD_TERM 0xcab1e001
%define VMMDEV_TESTING_CMD_SUB_NEW 0xcab1e002
%define VMMDEV_TESTING_CMD_SUB_DONE 0xcab1e003
%define VMMDEV_TESTING_CMD_FAILED 0xcab1e004
%define VMMDEV_TESTING_CMD_VALUE 0xcab1e005
%define VMMDEV_TESTING_CMD_SKIPPED 0xcab1e006
%define VMMDEV_TESTING_CMD_VALUE_REG 0xcab1e007
%define VMMDEV_TESTING_UNIT_PCT 0x01
%define VMMDEV_TESTING_UNIT_BYTES 0x02
%define VMMDEV_TESTING_UNIT_BYTES_PER_SEC 0x03
%define VMMDEV_TESTING_UNIT_KILOBYTES 0x04
%define VMMDEV_TESTING_UNIT_KILOBYTES_PER_SEC 0x05
%define VMMDEV_TESTING_UNIT_MEGABYTES 0x06
%define VMMDEV_TESTING_UNIT_MEGABYTES_PER_SEC 0x07
%define VMMDEV_TESTING_UNIT_PACKETS 0x08
%define VMMDEV_TESTING_UNIT_PACKETS_PER_SEC 0x09
%define VMMDEV_TESTING_UNIT_FRAMES 0x0a
%define VMMDEV_TESTING_UNIT_FRAMES_PER_SEC 0x0b
%define VMMDEV_TESTING_UNIT_OCCURRENCES 0x0c
%define VMMDEV_TESTING_UNIT_OCCURRENCES_PER_SEC 0x0d
%define VMMDEV_TESTING_UNIT_CALLS 0x0e
%define VMMDEV_TESTING_UNIT_CALLS_PER_SEC 0x0f
%define VMMDEV_TESTING_UNIT_ROUND_TRIP 0x10
%define VMMDEV_TESTING_UNIT_SECS 0x11
%define VMMDEV_TESTING_UNIT_MS 0x12
%define VMMDEV_TESTING_UNIT_NS 0x13
%define VMMDEV_TESTING_UNIT_NS_PER_CALL 0x14
%define VMMDEV_TESTING_UNIT_NS_PER_FRAME 0x15
%define VMMDEV_TESTING_UNIT_NS_PER_OCCURRENCE 0x16
%define VMMDEV_TESTING_UNIT_NS_PER_PACKET 0x17
%define VMMDEV_TESTING_UNIT_NS_PER_ROUND_TRIP 0x18
%define VMMDEV_TESTING_UNIT_INSTRS 0x19
%define VMMDEV_TESTING_UNIT_INSTRS_PER_SEC 0x1a
%define VMMDEV_TESTING_UNIT_NONE 0x1b
%define VMMDEV_TESTING_NOP_RET 0x64726962
%endif