[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Adding PTE Flag during Page Fault
I altered the method, "__spurious_page_fault", in "xen/arch/x86/traps.c"
to change a page to present when it is marked as not present. I am
attempting to do this using the "l1e_add_flags(l1e, _PAGE_PRESENT);"
definition call. I then set it to return EXCRET_fault_fixed, so the
trap should have the client retry what it was doing with the changes I
made. Unfortunately after it returns from the page fault to the user,
it immediately faults again on the same error at the same memory
location. This means my "l1e_add_flags(l1e, _PAGE_PRESENT)" is not
actually updating the correct location in memory or if it is, the
changes get discarded immediately. Does anyone who is familiar with the
page_fault trap code have any idea why my change to the PTE is not
sticking. I tried doing a TLB flush for the memory address, but the
same thing happens. My only other guess is that the l1e defined in the
function is just a copy of the actual table entry, so I need to look
back further where l1e was defined.
Xen-devel mailing list