]> xenbits.xensource.com Git - people/royger/xen-test-framework.git/commit
Rework config.h and head_hvm.S for better paging separation
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 18 Jan 2016 10:48:53 +0000 (10:48 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 18 Jan 2016 10:48:53 +0000 (10:48 +0000)
commitd05119a4679d4464fba6955937f31d0d2447c202
tree2ab0634b7065ba3ccb4818bca71cce7d8f432a00
parent25307e2a0d09f2608a2e49cc0931aa8014023f97
Rework config.h and head_hvm.S for better paging separation

config.h is modified to turn CONFIG_ENV_$foo into the finer grain
CONFIG_{PV,HVM}, CONFIG_PAGING_LEVELS and possibly CONFIG_PAGING_PAE.  It then
undefines the CONFIG_ENV_$foo #define, to prevent mistakes in regular code.
Generation of environment_description is also moved into config.h, and it is
extended to include paging information.

head_hvm.S is then modified to use the finer grain #defines.  Specifically,
CR4.PAE is only set if CONFIG_PAGING_PAE, and CR3 and CR0.PG are only set if
CONFIG_PAGING_LEVELS is greater than 0.

The existing setting of CR0.PE is removed, as it is guaranteed always to be
set.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
arch/x86/boot/head_hvm.S
arch/x86/setup.c
docs/mainpage.dox
include/arch/x86/config.h