VirtualBox

Changeset 41468 in vbox for trunk/src


Ignore:
Timestamp:
May 28, 2012 10:55:35 PM (13 years ago)
Author:
vboxsync
Message:

PGM.cpp: A couple of words about the A20 implementation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/PGM.cpp

    r41462 r41468  
    2727 *
    2828 * There are three memory contexts: Host Context (HC), Guest Context (GC)
    29  * and intermediate context. When talking about paging HC can also be referred to
    30  * as "host paging", and GC referred to as "shadow paging".
     29 * and intermediate context.  When talking about paging HC can also be referred
     30 * to as "host paging", and GC referred to as "shadow paging".
    3131 *
    3232 * We define three basic paging modes: 32-bit, PAE and AMD64. The host paging mode
     
    9595 *
    9696 * @section         sec_pgm_misc            Misc
     97 *
     98 *
     99 * @subsection      sec_pgm_misc_A20        The A20 Gate
     100 *
     101 * PGM implements the A20 gate masking when translating a virtual guest address
     102 * into a physical address for CPU access, i.e. PGMGstGetPage (and friends) and
     103 * the code reading the guest page table entries during shadowing.
     104 *
     105 * The A20 gate implementation is per CPU core.  It can be configured on a per
     106 * core basis via the keyboard device and PC architecture device.  This is
     107 * probably not exactly how real CPUs do it, but SMP and A20 isn't a place where
     108 * guest OSes try pushing things anyway, so who cares.
     109 *
     110 * The keyboard device and the PC architecture device doesn't OR their A20
     111 * config bits together, rather they are currently implemented such that they
     112 * mirror the CPU state.  So, flipping the bit in either of them will change the
     113 * A20 state.
     114 *
     115 * The A20 state will change immediately, transmeta fashion.  There is no delays
     116 * due to buses, wiring or other physical stuff.
     117 *
     118 * @sa http://en.wikipedia.org/wiki/A20_line#The_80286_and_the_high_memory_area
     119 *
    97120 *
    98121 * @subsection      subsec_pgm_misc_diff    Differences Between Legacy PAE and Long Mode PAE
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