On 13/09/18 11:12, Jan Beulich wrote: > The function does two translations in one go for a single guest access. > Any failure of the first translation step (guest linear -> guest > physical), resulting in #PF, ought to take precedence over any failure > of the second step (guest physical -> host physical).
Why? What is the basis of this presumption? As far as what real hardware does... This test sets up a ballooned page and a read-only page. I.e. a second stage fault on the first part of a misaligned access, and a first stage fault on the second part of the access. (d1) --- Xen Test Framework --- (d1) Environment: HVM 64bit (Long mode 4 levels) (d1) Test splitfault (d1) About to read (XEN) *** EPT qual 0000000000000181, gpa 000000000011cffc (d1) Reading PTR: got 00000000ffffffff (d1) About to write (XEN) *** EPT qual 0000000000000182, gpa 000000000011cffc (d1) ****************************** (d1) PANIC: Unhandled exception at 0008:00000000001047e0 (d1) Vec 14 #PF[-d-sWP] %cr2 000000000011d000 (d1) ****************************** The second stage fault is recognised first, which is contrary to your presumption, i.e. the code in its current form appears to be correct. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel