VirtualBox

Changeset 100185 in vbox for trunk/include


Ignore:
Timestamp:
Jun 16, 2023 6:54:50 AM (18 months ago)
Author:
vboxsync
Message:

Devices/VMMDev: Add an MMIO interface in addition to the existing PIO interface for guest additions running inside an ARM based guest. Also remove the dependency from the architecture page size and introduce a 4KiB VMM page size as ARM has different page sizes (4KiB, 16KiB, 64KiB) and it can differ between host and guest, bugref:10456

File:
1 edited

Legend:

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

    r98542 r100185  
    5454 */
    5555
     56/** The VMMDev assumed page size (not the real guest page size which might be different
     57 * between guest and host, on ARM for example), 4KiB is the minimum supported by both
     58 * ARM and x86 and was the one used back when the device supported x86 only. */
     59#define VMMDEV_PAGE_SIZE                                    _4K
     60/** The VMMDev assumed page shift. */
     61#define VMMDEV_PAGE_SHIFT                                   12
     62/** The VMMDev assumed page offset mask. */
     63#define VMMDEV_PAGE_OFFSET_MASK                             0xfff
     64
    5665
    5766/** Size of VMMDev RAM region accessible by guest.
     
    5968 * For now: 4 megabyte.
    6069 */
    61 #define VMMDEV_RAM_SIZE                                     (4 * 256 * PAGE_SIZE)
     70#define VMMDEV_RAM_SIZE                                     (4 * 256 * VMMDEV_PAGE_SIZE)
    6271
    6372/** Size of VMMDev heap region accessible by guest.
    6473 *  (Must be a power of two (pci range).)
    6574 */
    66 #define VMMDEV_HEAP_SIZE                                    (4 * PAGE_SIZE)
     75#define VMMDEV_HEAP_SIZE                                    (4 * VMMDEV_PAGE_SIZE)
    6776
    6877/** Port for generic request interface (relative offset). */
     
    7180 * This works like VMMDevReq_AcknowledgeEvents when read.  */
    7281#define VMMDEV_PORT_OFF_REQUEST_FAST                        8
     82
     83
     84/** The MMIO region size if MMIO is used instead of PIO. */
     85#define VMMDEV_MMIO_SIZE                                    _4K
     86/** Port for generic request interface (relative offset). */
     87#define VMMDEV_MMIO_OFF_REQUEST                             0
     88/** Port for requests that can be handled w/o going to ring-3 (relative offset).
     89 * This works like VMMDevReq_AcknowledgeEvents when read.  */
     90#define VMMDEV_MMIO_OFF_REQUEST_FAST                        8
    7391
    7492
Note: See TracChangeset for help on using the changeset viewer.

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