VirtualBox

source: vbox/trunk/include/VBox/VMMDevTesting.h@ 30715

Last change on this file since 30715 was 30715, checked in by vboxsync, 15 years ago

VMMDev: Adding an optional (disabled by default) testing side to the device to assist simple guest benchmarks and tests. Started on a MMIO and IOPort benchmark (for comparison with network performance numbers).

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1/* $Id: VMMDevTesting.h 30715 2010-07-07 16:22:33Z vboxsync $ */
2/** @file
3 * VMMDev - Testing Extensions.
4 */
5
6/*
7 * Copyright (C) 2010 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18
19#ifndef ___VBox_VMMDevTesting_h
20#define ___VBox_VMMDevTesting_h
21
22#include <VBox/types.h>
23
24/** The base address of the MMIO range used for testing.
25 * This is intentionally put at the 2nd page above 1M so that it can be
26 * accessed from both real (!A20) and protected mode. */
27#define VMMDEV_TESTING_MMIO_BASE UINT32_C(0x00101000)
28/** The size of the MMIO range used for testing. */
29#define VMMDEV_TESTING_MMIO_SIZE UINT32_C(0x00001000)
30/** The NOP MMIO register - 124 RW. */
31#define VMMDEV_TESTING_MMIO_NOP (VMMDEV_TESTING_MMIO_BASE + 0x000)
32/** The XXX MMIO register - 124 RW. */
33#define VMMDEV_TESTING_MMIO_TODO (VMMDEV_TESTING_MMIO_BASE + 0x004)
34
35/** The base port of the I/O range used for testing. */
36#define VMMDEV_TESTING_IOPORT_BASE 0x0510
37/** The number of I/O ports reserved for testing. */
38#define VMMDEV_TESTING_IOPORT_COUNT 0x0010
39/** The NOP I/O port - 124 RW. */
40#define VMMDEV_TESTING_IOPORT_NOP (VMMDEV_TESTING_IOPORT_BASE + 0)
41/** The low nanosecond timestamp - 4 RO. */
42#define VMMDEV_TESTING_IOPORT_TS_LOW (VMMDEV_TESTING_IOPORT_BASE + 1)
43/** The high nanosecond timestamp - 4 RO. Read this after the low one! */
44#define VMMDEV_TESTING_IOPORT_TS_HIGH (VMMDEV_TESTING_IOPORT_BASE + 2)
45
46/** What the NOP accesses returns. */
47#define VMMDEV_TESTING_NOP_RET UINT32_C(0x64726962) /* bird */
48
49#endif
50
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette