aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/kvm.h
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-12-09 10:00:02 -0500
committerAvi Kivity <avi@qumranet.com>2008-01-30 10:53:20 -0500
commit41074d07c78b086b18fc2af590caef05dbcca568 (patch)
tree1e07a3d17d718d61bbb45e427c7e7980f2b7ad2e /drivers/kvm/kvm.h
parentbedbe4ee86195dcd899577828714cc1413beb571 (diff)
KVM: MMU: Fix inherited permissions for emulated guest pte updates
When we emulate a guest pte write, we fail to apply the correct inherited permissions from the parent ptes. Now that we store inherited permissions in the shadow page, we can use that to update the pte permissions correctly. Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/kvm.h')
-rw-r--r--drivers/kvm/kvm.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index 0d3555bf533..ceefb4427db 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -55,7 +55,7 @@ struct kvm_pte_chain {
55 * bits 4:7 - page table level for this shadow (1-4) 55 * bits 4:7 - page table level for this shadow (1-4)
56 * bits 8:9 - page table quadrant for 2-level guests 56 * bits 8:9 - page table quadrant for 2-level guests
57 * bit 16 - "metaphysical" - gfn is not a real page (huge page/real mode) 57 * bit 16 - "metaphysical" - gfn is not a real page (huge page/real mode)
58 * bits 17:19 - "access" - the user, writable, and nx bits of a huge page pde 58 * bits 17:19 - common access permissions for all ptes in this shadow page
59 */ 59 */
60union kvm_mmu_page_role { 60union kvm_mmu_page_role {
61 unsigned word; 61 unsigned word;
@@ -65,7 +65,7 @@ union kvm_mmu_page_role {
65 unsigned quadrant : 2; 65 unsigned quadrant : 2;
66 unsigned pad_for_nice_hex_output : 6; 66 unsigned pad_for_nice_hex_output : 6;
67 unsigned metaphysical : 1; 67 unsigned metaphysical : 1;
68 unsigned hugepage_access : 3; 68 unsigned access : 3;
69 }; 69 };
70}; 70};
71 71