vmap: Add a helper for global TLB shootdowns
authorBarret Rhoden <brho@cs.berkeley.edu>
Sun, 27 Nov 2016 15:09:47 +0000 (10:09 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 29 Nov 2016 16:27:40 +0000 (11:27 -0500)
commit03fa592d2a0702e612177dd4f1789136d717f219
treedbdfbde43c6db6831c1982514462f3c2a5426bd1
parent7c08375f48f965e4337eb0fbb0a49a9c360a964d
vmap: Add a helper for global TLB shootdowns

The global TLB flush is an x86 thing, though other architectures might
have one too.  On x86, PTE_G means that the TLB entry won't be flushed
on a normal cr3 reload.  We use these for kernel mappings.  You have to
go through a couple extra hoops to flush those entries.

For us to dynamically change kernel virtual mappings, we'll need to
occasionally flush global TLB entries.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/pmap.h
kern/src/pmap.c