|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 extra 00/11] x86: refactor mm.c: page APIs and hypercalls
This series is built on top of the "easy part" [0] (and rebased on top of
current staging).
After discussing with George and Andrew on IRC, it is clear that
alloc_page_type and free_page_type are only useful for PV guests. This
immediately enables us to move them and the supporting code to PV directory.
Note that in the stubs I choose to return EINVAL but maybe we should just BUG()
there because those paths aren't supposed to be taken when !CONFIG_PV. And I'm
sure common code will BUG_ON() or BUG() sooner or later. Thoughts?
PV MMU hypercalls are moved to mm-hypercalls.c to avoid having a very huge
pv/mm.c.
Cc: Jan Beulich <jbeulich@xxxxxxxx>
Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Wei Liu (11):
x86: add pv_ prefix to {alloc,free}_page_type
x86/mm: export more get/put page functions
x86/mm: move and add pv_ prefix to create_pae_xen_mappings
x86/mm: move disallow_mask variable and macros
x86/mm: move pv_{alloc,free}_page_type
x86/mm: move and add pv_ prefix to invalidate_shadow_ldt
x86/mm: move PV hypercalls to pv/mm-hypercalls.c
x86/mm: remove the now unused inclusion of pv/mm.h
x86/mm: use put_page_type_preemptible in put_page_from_l{2,3}e
x86/mm: move {get,put}_page_from_l{2,3,4}e
x86/mm: move description of x86 page table API to pv/mm.c
xen/arch/x86/domain.c | 3 +-
xen/arch/x86/mm.c | 3018 +++++----------------------------------
xen/arch/x86/pv/Makefile | 1 +
xen/arch/x86/pv/mm-hypercalls.c | 1461 +++++++++++++++++++
xen/arch/x86/pv/mm.c | 877 ++++++++++++
xen/arch/x86/pv/mm.h | 6 +
xen/include/asm-x86/mm.h | 29 +-
xen/include/asm-x86/pv/mm.h | 45 +
8 files changed, 2759 insertions(+), 2681 deletions(-)
create mode 100644 xen/arch/x86/pv/mm-hypercalls.c
create mode 100644 xen/arch/x86/pv/mm.h
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |