mmu.c (e1d9d7b91302593d1951fcb12feddda6fb58a3c0) | mmu.c (fb04a1eddb1a65b6588a021bdc132270d5ae48bb) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Kernel-based Virtual Machine driver for Linux 4 * 5 * This module enables machines with Intel VT-x extensions to run virtual 6 * machines without emulation or binary translation. 7 * 8 * MMU support --- 1275 unchanged lines hidden (view full) --- 1284{ 1285 if (kvm_x86_ops.enable_log_dirty_pt_masked) 1286 kvm_x86_ops.enable_log_dirty_pt_masked(kvm, slot, gfn_offset, 1287 mask); 1288 else 1289 kvm_mmu_write_protect_pt_masked(kvm, slot, gfn_offset, mask); 1290} 1291 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Kernel-based Virtual Machine driver for Linux 4 * 5 * This module enables machines with Intel VT-x extensions to run virtual 6 * machines without emulation or binary translation. 7 * 8 * MMU support --- 1275 unchanged lines hidden (view full) --- 1284{ 1285 if (kvm_x86_ops.enable_log_dirty_pt_masked) 1286 kvm_x86_ops.enable_log_dirty_pt_masked(kvm, slot, gfn_offset, 1287 mask); 1288 else 1289 kvm_mmu_write_protect_pt_masked(kvm, slot, gfn_offset, mask); 1290} 1291 |
1292int kvm_cpu_dirty_log_size(void) 1293{ 1294 if (kvm_x86_ops.cpu_dirty_log_size) 1295 return kvm_x86_ops.cpu_dirty_log_size(); 1296 1297 return 0; 1298} 1299 |
|
1292bool kvm_mmu_slot_gfn_write_protect(struct kvm *kvm, 1293 struct kvm_memory_slot *slot, u64 gfn) 1294{ 1295 struct kvm_rmap_head *rmap_head; 1296 int i; 1297 bool write_protected = false; 1298 1299 for (i = PG_LEVEL_4K; i <= KVM_MAX_HUGEPAGE_LEVEL; ++i) { --- 4762 unchanged lines hidden --- | 1300bool kvm_mmu_slot_gfn_write_protect(struct kvm *kvm, 1301 struct kvm_memory_slot *slot, u64 gfn) 1302{ 1303 struct kvm_rmap_head *rmap_head; 1304 int i; 1305 bool write_protected = false; 1306 1307 for (i = PG_LEVEL_4K; i <= KVM_MAX_HUGEPAGE_LEVEL; ++i) { --- 4762 unchanged lines hidden --- |