Hi all,

This series is a rework of "xen: Convert __page_to_mfn and __mfn_to_page to use
typesafe MFN" sent a couple of months ago (see [1]). In this new approach,
the macros __page_to_mfn and __mfn_to_page are completely dropped.

To avoid the last patch (#16) to be a huge patch some files are converted to
use typesafe upfront. I have tried my best to push _mfn/mfn_x as down as
possible in the callers. Some of them was not feasible without major rework,
so I left them aside for now. Contribution to switch Xen code base to MFN
typesafe are more than welcomed.

Note that changes have only been build test it on x86 so far.

Cheers,

[1] https://lists.xen.org/archives/html/xen-devel/2017-11/msg00027.html

Cc: Andrew Cooper <[email protected]>
Cc: Boris Ostrovsky <[email protected]>
Cc: Gang Wei <[email protected]>
Cc: George Dunlap <[email protected]>
Cc: George Dunlap <[email protected]>
Cc: Ian Jackson <[email protected]>
Cc: Jan Beulich <[email protected]>
Cc: Julien Grall <[email protected]>
Cc: Jun Nakajima <[email protected]>
Cc: Kevin Tian <[email protected]>
Cc: Konrad Rzeszutek Wilk <[email protected]>
Cc: Paul Durrant <[email protected]>
Cc: Razvan Cojocaru <[email protected]>
Cc: Shane Wang <[email protected]>
Cc: Stefano Stabellini <[email protected]>
Cc: Suravee Suthikulpanit <[email protected]>
Cc: Tamas K Lengyel <[email protected]>
Cc: Tim Deegan <[email protected]>
Cc: Wei Liu <[email protected]>

Julien Grall (16):
  xen/tmem: Convert the file common/tmem_xen.c to use typesafe MFN
  xen/arm: setup: use maddr_to_mfn rather than _mfn(paddr_to_pfn(...))
  xen/arm: mm: Use gaddr_to_gfn rather than _gfn(paddr_to_pfn(...))
  xen/arm: mm: Remove unused M2P code
  xen/arm: mm: Remove unused relinquish_shared_pages
  xen/x86: Remove unused override of page_to_mfn/mfn_to_page
  xen/x86: mm: Switch x86/mm.c to use typesafe for virt_to_mfn
  xen/mm: Drop the parameter mfn from populate_pt_range
  xen/pdx: Introduce helper to convert MFN <-> PDX
  xen/mm: Switch map_pages_to_xen to use MFN typesafe
  xen/mm: Switch page_alloc.c to typesafe MFN
  xen/mm: Switch common/memory.c to use typesafe MFN
  xen/grant: Switch {create, replace}_grant_p2m_mapping to typesafe MFN
  xen/grant: Switch common/grant_table.c to use typesafe MFN
  xen/x86: Switch mfn_to_page in x86_64/mm.c to use typesafe MFN
  xen: Convert page_to_mfn and mfn_to_page to use typesafe MFN

 xen/arch/arm/domain_build.c             |   2 -
 xen/arch/arm/kernel.c                   |   2 +-
 xen/arch/arm/mem_access.c               |   2 +-
 xen/arch/arm/mm.c                       |  33 ++++----
 xen/arch/arm/p2m.c                      |  10 +--
 xen/arch/arm/setup.c                    |   4 +-
 xen/arch/x86/cpu/vpmu.c                 |   4 +-
 xen/arch/x86/domain.c                   |  21 ++---
 xen/arch/x86/domain_page.c              |   6 +-
 xen/arch/x86/hvm/dm.c                   |   2 +-
 xen/arch/x86/hvm/dom0_build.c           |   6 +-
 xen/arch/x86/hvm/emulate.c              |   6 +-
 xen/arch/x86/hvm/grant_table.c          |  14 ++--
 xen/arch/x86/hvm/hvm.c                  |  12 +--
 xen/arch/x86/hvm/ioreq.c                |   4 +-
 xen/arch/x86/hvm/stdvga.c               |   2 +-
 xen/arch/x86/hvm/svm/svm.c              |   4 +-
 xen/arch/x86/hvm/viridian.c             |   6 +-
 xen/arch/x86/hvm/vmx/vmcs.c             |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  10 +--
 xen/arch/x86/hvm/vmx/vvmx.c             |   6 +-
 xen/arch/x86/mm.c                       |  70 ++++++++---------
 xen/arch/x86/mm/guest_walk.c            |   6 +-
 xen/arch/x86/mm/hap/guest_walk.c        |   2 +-
 xen/arch/x86/mm/hap/hap.c               |   6 --
 xen/arch/x86/mm/hap/nested_ept.c        |   2 +-
 xen/arch/x86/mm/hap/nested_hap.c        |   3 -
 xen/arch/x86/mm/mem_sharing.c           |   5 --
 xen/arch/x86/mm/p2m-ept.c               |   8 +-
 xen/arch/x86/mm/p2m-pod.c               |   6 --
 xen/arch/x86/mm/p2m-pt.c                |   6 --
 xen/arch/x86/mm/p2m.c                   |   6 --
 xen/arch/x86/mm/paging.c                |   6 --
 xen/arch/x86/mm/shadow/private.h        |  16 +---
 xen/arch/x86/numa.c                     |   2 +-
 xen/arch/x86/physdev.c                  |   2 +-
 xen/arch/x86/pv/callback.c              |   6 --
 xen/arch/x86/pv/descriptor-tables.c     |   6 --
 xen/arch/x86/pv/dom0_build.c            |  14 ++--
 xen/arch/x86/pv/domain.c                |   6 --
 xen/arch/x86/pv/emul-gate-op.c          |   6 --
 xen/arch/x86/pv/emul-priv-op.c          |  10 ---
 xen/arch/x86/pv/grant_table.c           |  16 ++--
 xen/arch/x86/pv/iret.c                  |   6 --
 xen/arch/x86/pv/mm.c                    |   6 --
 xen/arch/x86/pv/ro-page-fault.c         |   6 --
 xen/arch/x86/pv/shim.c                  |   4 +-
 xen/arch/x86/pv/traps.c                 |   6 --
 xen/arch/x86/setup.c                    |  14 ++--
 xen/arch/x86/smpboot.c                  |   8 +-
 xen/arch/x86/tboot.c                    |  15 ++--
 xen/arch/x86/traps.c                    |   4 +-
 xen/arch/x86/x86_64/mm.c                |  67 ++++++++--------
 xen/arch/x86/x86_64/mmconfig_64.c       |   4 +-
 xen/common/domain.c                     |   4 +-
 xen/common/efi/boot.c                   |   2 +-
 xen/common/grant_table.c                | 131 +++++++++++++++++---------------
 xen/common/kimage.c                     |   6 --
 xen/common/memory.c                     |  66 +++++++++-------
 xen/common/page_alloc.c                 |  58 +++++++-------
 xen/common/tmem.c                       |   2 +-
 xen/common/tmem_xen.c                   |  26 ++++---
 xen/common/trace.c                      |   4 +-
 xen/common/vmap.c                       |  10 +--
 xen/common/xenoprof.c                   |   2 -
 xen/drivers/acpi/apei/erst.c            |   2 +-
 xen/drivers/acpi/apei/hest.c            |   2 +-
 xen/drivers/passthrough/amd/iommu_map.c |  12 +--
 xen/drivers/passthrough/iommu.c         |   2 +-
 xen/drivers/passthrough/vtd/dmar.c      |   2 +-
 xen/drivers/passthrough/x86/iommu.c     |   2 +-
 xen/include/asm-arm/grant_table.h       |  11 ++-
 xen/include/asm-arm/mm.h                |  45 +++--------
 xen/include/asm-arm/numa.h              |   8 +-
 xen/include/asm-arm/p2m.h               |   4 +-
 xen/include/asm-x86/grant_table.h       |   6 +-
 xen/include/asm-x86/hvm/grant_table.h   |   8 +-
 xen/include/asm-x86/mm.h                |  12 +--
 xen/include/asm-x86/p2m.h               |   2 +-
 xen/include/asm-x86/page.h              |  32 ++++----
 xen/include/asm-x86/pv/grant_table.h    |   8 +-
 xen/include/xen/domain_page.h           |   8 +-
 xen/include/xen/mm.h                    |  10 +--
 xen/include/xen/pdx.h                   |   3 +
 xen/include/xen/tmem_xen.h              |   2 +-
 85 files changed, 429 insertions(+), 571 deletions(-)

-- 
2.11.0


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to