[vbox-dev] Nested page tables - Vbox

Frank Mehnert frank.mehnert at oracle.com
Thu Dec 12 08:47:14 GMT 2013

On Wednesday 11 December 2013 23:03:05 Jack Ramien wrote:
> Hi All,
> When "Enable Nested Paging" is selected in the VM setting, does it mean
> that VBox will use nested paging provided that host OS supports it or does
> it mean that host OS is already supporting this feature? Is there a way to
> confirm if virtual box is using nested page table support by examining the
> code path?

there are two related CPU capabilities: VT-x/AMD-V and nested paging. The
latter depends on the former. There is no OS support for nested paging
required, only the CPU needs to support it. But the OS needs to provide
a tiny bit of support for VT-x/AMD-V: It must not disable this feature,
because once disabled it cannot be enabled by software until the host
is rebooted.

If you are able to enable VT-x/AMD-V in the GUI then this means that
VT-x or AMD-V is available on your host. If not available, the corresponding
VM setting is not available (disabled).

If VT-x is available then you can also enable nested paging in the
VM settings. But at this time it is not guaranteed that the guest will
really use this CPU feature. You can only check if nested paging is used
by looking at the VBox.log file or by looking at the runtime settings
in the VM information dialog (HostKey+N while the VM is running).

Determining if nested paging is available is more difficult than
determining if VT-x/AMD-V is available because the latter capability
can be detected by executing the unprivileged cpuid instruction while
the former capability can be only detected by reading an MSR which
is a privileged operation (can only be executed at kernel level).

Since 4.3 it would be possible to determine the presence of nested
paging from the VirtualBox selector application but the selector does
not make use of the interface yet.

Kind regards,

Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany

Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Geschäftsführer: Jürgen Kunz

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20131212/2eb0cbea/attachment.sig>

More information about the vbox-dev mailing list