VirtualBox

Changeset 92523 in vbox for trunk/include


Ignore:
Timestamp:
Nov 20, 2021 11:35:37 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
148398
Message:

VMMDev,ValKit/Bootsectors: Moved the VMMDevTesting MMIO page from 0x101000 to 0xdf000 so it doesn't cause trouble for KVM memory registrations (too simple at this point). This also simplifies access from real-mode a bit. bugref:9044

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/VMMDevTesting.h

    r92258 r92523  
    4040
    4141/** The base address of the MMIO range used for testing.
    42  * This is intentionally put at the 2nd page above 1M so that it can be
    43  * accessed from both real (!A20) and protected mode. */
    44 #define VMMDEV_TESTING_MMIO_BASE        UINT32_C(0x00101000)
     42 * @remarks This used to be at 0x101000 but moved to 0xdf000 so that it would
     43 *          work better with prototype NEM code.  This also means enabling A20
     44 *          is not a requirement. */
     45#define VMMDEV_TESTING_MMIO_BASE        UINT32_C(0x000df000)
    4546/** The size of the MMIO range used for testing.  */
    4647#define VMMDEV_TESTING_MMIO_SIZE        UINT32_C(0x00001000)
     
    6667#define VMMDEV_TESTING_MMIO_READBACK_R3     (VMMDEV_TESTING_MMIO_BASE + VMMDEV_TESTING_MMIO_OFF_READBACK_R3)
    6768
    68 /** The real mode selector to use.
    69  * @remarks Requires that the A20 gate is enabled. */
    70 #define VMMDEV_TESTING_MMIO_RM_SEL       0xffff
     69/** The real mode selector to use. */
     70#define VMMDEV_TESTING_MMIO_RM_SEL          0xdf00
    7171/** Calculate the real mode offset of a MMIO register. */
    72 #define VMMDEV_TESTING_MMIO_RM_OFF(val)  ((val) - 0xffff0)
     72#define VMMDEV_TESTING_MMIO_RM_OFF(val)     ((val) - VMMDEV_TESTING_MMIO_BASE)
    7373/** Calculate the real mode offset of a MMIO register offset. */
    74 #define VMMDEV_TESTING_MMIO_RM_OFF2(off) ((off) + 16 + 0x1000)
     74#define VMMDEV_TESTING_MMIO_RM_OFF2(off)    (off)
    7575
    7676/** The base port of the I/O range used for testing. */
  • trunk/include/VBox/VMMDevTesting.mac

    r82968 r92523  
    2929%ifndef RT_WITHOUT_PRAGMA_ONCE
    3030%endif
    31 %define VMMDEV_TESTING_MMIO_BASE        0x00101000
     31%define VMMDEV_TESTING_MMIO_BASE        0x000df000
    3232%define VMMDEV_TESTING_MMIO_SIZE        0x00001000
    3333%define VMMDEV_TESTING_MMIO_OFF_NOP         (0x000)
     
    4040%define VMMDEV_TESTING_MMIO_READBACK        (VMMDEV_TESTING_MMIO_BASE + VMMDEV_TESTING_MMIO_OFF_READBACK)
    4141%define VMMDEV_TESTING_MMIO_READBACK_R3     (VMMDEV_TESTING_MMIO_BASE + VMMDEV_TESTING_MMIO_OFF_READBACK_R3)
    42 %define VMMDEV_TESTING_MMIO_RM_SEL       0xffff
    43 %define VMMDEV_TESTING_MMIO_RM_OFF(val)  ((val) - 0xffff0)
    44 %define VMMDEV_TESTING_MMIO_RM_OFF2(off) ((off) + 16 + 0x1000)
     42%define VMMDEV_TESTING_MMIO_RM_SEL       0xdf00
     43%define VMMDEV_TESTING_MMIO_RM_OFF(val)  ((val) - VMMDEV_TESTING_MMIO_BASE)
     44%define VMMDEV_TESTING_MMIO_RM_OFF2(off) (off)
    4545%define VMMDEV_TESTING_IOPORT_BASE      0x0510
    4646%define VMMDEV_TESTING_IOPORT_COUNT     0x0010
Note: See TracChangeset for help on using the changeset viewer.

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