[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v3 00/21] x86: refactor mm.c (the easy part)



This series is part of my work to refactor x86/mm.c. It has grown to a 21
patches series so I figure I should probably get them approved first before
making more changes.

What is left is mostly PV MMU hypercall functions and their supporting code.
I'm still thinking about how to refactor those because the helper functions are
a bit convulted. The helper functions are both used by PV MMU code and the
common get / put functions. I think I need to refactor the get / put functions.
If you think there is a better approach please let me know.

The code can be found at:
   https://xenbits.xen.org/git-http/people/liuw/xen.git wip.split-mm-v3.1

Wei.

Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Cc: Jan Beulich <jbeulich@xxxxxxxx>
Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Wei Liu (21):
  x86/mm: carve out create_grant_pv_mapping
  x86/mm: carve out replace_grant_pv_mapping
  x86/mm: split HVM grant table code to hvm/grant_table.c
  x86/mm: lift PAGE_CACHE_ATTRS to page.h
  x86/mm: document the return values from get_page_from_l*e
  x86: move pv_emul_is_mem_write to pv/emulate.c
  x86/mm: move and rename guest_get_eff{,kern}_l1e
  x86/mm: export get_page_from_pagenr
  x86/mm: rename and move update_intpte
  x86/mm: move {un,}adjust_guest_* to pv/mm.h
  x86/mm: split out writable pagetable emulation code
  x86/mm: split out readonly MMIO emulation code
  x86/mm: remove the unused inclusion of pv/emulate.h
  x86/mm: move and rename guest_{,un}map_l1e
  x86/mm: split out PV grant table code
  x86/mm: split out descriptor table code
  x86/mm: move compat descriptor handling code
  x86/mm: move and rename map_ldt_shadow_page
  x86/mm: factor out pv_arch_init_memory
  x86/mm: move l4 table setup code
  x86/mm: add "pv_" prefix to new_guest_cr3

 xen/arch/x86/domain.c                 |   11 +-
 xen/arch/x86/hvm/Makefile             |    1 +
 xen/arch/x86/hvm/grant_table.c        |   89 ++
 xen/arch/x86/mm.c                     | 1556 ++++-----------------------------
 xen/arch/x86/pv/Makefile              |    5 +
 xen/arch/x86/pv/descriptor-tables.c   |  270 ++++++
 xen/arch/x86/pv/dom0_build.c          |    3 +-
 xen/arch/x86/pv/domain.c              |    3 +-
 xen/arch/x86/pv/emul-mmio-op.c        |  166 ++++
 xen/arch/x86/pv/emul-priv-op.c        |    3 +-
 xen/arch/x86/pv/emul-ptwr-op.c        |  327 +++++++
 xen/arch/x86/pv/emulate.c             |    7 +
 xen/arch/x86/pv/emulate.h             |    5 +
 xen/arch/x86/pv/grant_table.c         |  386 ++++++++
 xen/arch/x86/pv/mm.c                  |  222 +++++
 xen/arch/x86/traps.c                  |    5 +-
 xen/arch/x86/x86_64/compat/mm.c       |   39 -
 xen/include/asm-x86/grant_table.h     |   26 +-
 xen/include/asm-x86/hvm/grant_table.h |   61 ++
 xen/include/asm-x86/mm.h              |    6 +-
 xen/include/asm-x86/page.h            |    2 +
 xen/include/asm-x86/processor.h       |    5 -
 xen/include/asm-x86/pv/grant_table.h  |   60 ++
 xen/include/asm-x86/pv/mm.h           |  141 +++
 xen/include/asm-x86/pv/processor.h    |   42 +
 25 files changed, 1972 insertions(+), 1469 deletions(-)
 create mode 100644 xen/arch/x86/hvm/grant_table.c
 create mode 100644 xen/arch/x86/pv/descriptor-tables.c
 create mode 100644 xen/arch/x86/pv/emul-mmio-op.c
 create mode 100644 xen/arch/x86/pv/emul-ptwr-op.c
 create mode 100644 xen/arch/x86/pv/grant_table.c
 create mode 100644 xen/arch/x86/pv/mm.c
 create mode 100644 xen/include/asm-x86/hvm/grant_table.h
 create mode 100644 xen/include/asm-x86/pv/grant_table.h
 create mode 100644 xen/include/asm-x86/pv/mm.h
 create mode 100644 xen/include/asm-x86/pv/processor.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®.