[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.