The aspect of the function the second patch here changes has been puzzling me for many years. I finally thought I ought to make an attempt at reducing this to just a single get_page_from_l1e() invocation. The first patch mainly helps readability (of the code in general as well as the second patch).
Note that the first patch here takes "VMX: use a single, global APIC access page" as a prereq; it could be re-based ahead of that one. 1: re-use variables in shadow_get_page_from_l1e() 2: streamline shadow_get_page_from_l1e() Jan