@@ -113,6 +113,7 @@ enum ihk_mc_pt_attribute {
|
|||||||
PTATTR_ACTIVE = 0x01,
|
PTATTR_ACTIVE = 0x01,
|
||||||
PTATTR_WRITABLE = 0x02,
|
PTATTR_WRITABLE = 0x02,
|
||||||
PTATTR_USER = 0x04,
|
PTATTR_USER = 0x04,
|
||||||
|
PTATTR_DIRTY = 0x40,
|
||||||
PTATTR_LARGEPAGE = 0x80,
|
PTATTR_LARGEPAGE = 0x80,
|
||||||
PTATTR_NO_EXECUTE = 0x8000000000000000,
|
PTATTR_NO_EXECUTE = 0x8000000000000000,
|
||||||
PTATTR_UNCACHABLE = 0x10000,
|
PTATTR_UNCACHABLE = 0x10000,
|
||||||
|
|||||||
@@ -1240,6 +1240,7 @@ static int protection_fault_process_memory_range(struct process_vm *vm, struct v
|
|||||||
}
|
}
|
||||||
|
|
||||||
attr = vrflag_to_ptattr(range->flag);
|
attr = vrflag_to_ptattr(range->flag);
|
||||||
|
attr |= PTATTR_DIRTY;
|
||||||
error = ihk_mc_pt_set_pte(vm->page_table, ptep, pgsize, newpa, attr);
|
error = ihk_mc_pt_set_pte(vm->page_table, ptep, pgsize, newpa, attr);
|
||||||
if (error) {
|
if (error) {
|
||||||
kprintf("protection_fault_process_memory_range"
|
kprintf("protection_fault_process_memory_range"
|
||||||
|
|||||||
Reference in New Issue
Block a user