From: Wei Liu <wei.liu2@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Wei Liu <wei.liu2@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 00/21] x86: refactor mm.c (the easy part)
Date: Thu, 20 Jul 2017 17:04:05 +0100 [thread overview]
Message-ID: <20170720160426.2343-1-wei.liu2@citrix.com> (raw)
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@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
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@lists.xen.org
https://lists.xen.org/xen-devel
next reply other threads:[~2017-07-20 16:04 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-20 16:04 Wei Liu [this message]
2017-07-20 16:04 ` [PATCH v3 01/21] x86/mm: carve out create_grant_pv_mapping Wei Liu
2017-08-28 15:16 ` George Dunlap
2017-07-20 16:04 ` [PATCH v3 02/21] x86/mm: carve out replace_grant_pv_mapping Wei Liu
2017-08-28 15:19 ` George Dunlap
2017-07-20 16:04 ` [PATCH v3 03/21] x86/mm: split HVM grant table code to hvm/grant_table.c Wei Liu
2017-07-20 16:04 ` [PATCH v3 04/21] x86/mm: lift PAGE_CACHE_ATTRS to page.h Wei Liu
2017-07-20 16:04 ` [PATCH v3 05/21] x86/mm: document the return values from get_page_from_l*e Wei Liu
2017-07-20 16:04 ` [PATCH v3 06/21] x86: move pv_emul_is_mem_write to pv/emulate.c Wei Liu
2017-07-20 16:04 ` [PATCH v3 07/21] x86/mm: move and rename guest_get_eff{, kern}_l1e Wei Liu
2017-07-20 16:04 ` [PATCH v3 08/21] x86/mm: export get_page_from_pagenr Wei Liu
2017-07-20 16:04 ` [PATCH v3 09/21] x86/mm: rename and move update_intpte Wei Liu
2017-07-20 16:04 ` [PATCH v3 10/21] x86/mm: move {un, }adjust_guest_* to pv/mm.h Wei Liu
2017-07-20 16:04 ` [PATCH v3 11/21] x86/mm: split out writable pagetable emulation code Wei Liu
2017-07-20 16:04 ` [PATCH v3 12/21] x86/mm: split out readonly MMIO " Wei Liu
2017-07-20 16:04 ` [PATCH v3 13/21] x86/mm: remove the unused inclusion of pv/emulate.h Wei Liu
2017-07-20 16:04 ` [PATCH v3 14/21] x86/mm: move and rename guest_{, un}map_l1e Wei Liu
2017-07-20 16:04 ` [PATCH v3 15/21] x86/mm: split out PV grant table code Wei Liu
2017-07-20 16:04 ` [PATCH v3 16/21] x86/mm: split out descriptor " Wei Liu
2017-07-20 16:04 ` [PATCH v3 17/21] x86/mm: move compat descriptor handling code Wei Liu
2017-07-20 16:04 ` [PATCH v3 18/21] x86/mm: move and rename map_ldt_shadow_page Wei Liu
2017-07-20 16:04 ` [PATCH v3 19/21] x86/mm: factor out pv_arch_init_memory Wei Liu
2017-07-20 16:04 ` [PATCH v3 20/21] x86/mm: move l4 table setup code Wei Liu
2017-07-20 16:04 ` [PATCH v3 21/21] x86/mm: add "pv_" prefix to new_guest_cr3 Wei Liu
2017-07-30 6:26 ` [PATCH v3 00/21] x86: refactor mm.c (the easy part) Jan Beulich
2017-07-30 9:23 ` Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 00/11] x86: refactor mm.c: page APIs and hypercalls Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 01/11] x86: add pv_ prefix to {alloc, free}_page_type Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 02/11] x86/mm: export more get/put page functions Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 03/11] x86/mm: move and add pv_ prefix to create_pae_xen_mappings Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 04/11] x86/mm: move disallow_mask variable and macros Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 05/11] x86/mm: move pv_{alloc, free}_page_type Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 06/11] x86/mm: move and add pv_ prefix to invalidate_shadow_ldt Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 07/11] x86/mm: move PV hypercalls to pv/mm-hypercalls.c Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 08/11] x86/mm: remove the now unused inclusion of pv/mm.h Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 09/11] x86/mm: use put_page_type_preemptible in put_page_from_l{2, 3}e Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 10/11] x86/mm: move {get, put}_page_from_l{2, 3, 4}e Wei Liu
2017-07-30 15:43 ` [PATCH v3 extra 11/11] x86/mm: move description of x86 page table API to pv/mm.c Wei Liu
2017-07-31 9:58 ` [PATCH v3 extra 00/11] x86: refactor mm.c: page APIs and hypercalls Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170720160426.2343-1-wei.liu2@citrix.com \
--to=wei.liu2@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=george.dunlap@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).