x86: Fix KERNBASE mapping for > 512 GB RAM
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 10 May 2017 15:36:46 +0000 (11:36 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 10 May 2017 15:39:27 +0000 (11:39 -0400)
commitdf22be4bbad3c4e193ce6a45f41909aac3b60596
treeae443cfce853f23615414db41f6a475d33ebe970
parent81fa488c2435903b919f5c52b06326f1f961ae36
x86: Fix KERNBASE mapping for > 512 GB RAM

The mapping was setting PTE_W, but not PTE_P.  This would have caused
faults whenever we tried to access those pages, which would have been
really nasty to track down.  I found this because of the panic in
__pte_to_epte_perm() (wasn't expected PTE_W only).

To be more clear in the code, we should be setting PTE_KERN_RW, which is
PTE_W | PTE_P.  Same goes for the VPT/UVPT mapping.  Those latter changes
were just in the naming of the flags.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/x86/pmap64.c