From patchwork Wed Mar 21 04:47:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 132184 Delivered-To: patch@linaro.org Received: by 10.46.84.29 with SMTP id i29csp1696608ljb; Tue, 20 Mar 2018 21:50:23 -0700 (PDT) X-Google-Smtp-Source: AG47ELs85JeKy2NBi+/n3xIuexD6dImA87ChDqGkfUzGJxmD6GKaZ/wZwqw8xhnOxtOOutYIhz2D X-Received: by 10.107.222.1 with SMTP id v1mr20310133iog.155.1521607823745; Tue, 20 Mar 2018 21:50:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521607823; cv=none; d=google.com; s=arc-20160816; b=qoqjxaLTtczUJ5v9C82jem2CKex4p6BiMjRTyKV8X0cVu/JH4haz4SMbvECQcN9PlJ PKZRp4kzIp7lnUdrj0G1AaevqZHTFqhnBd/JwzKEHZ+SOV00pQ3tb8rTqYvzV/KpFS7N rEqK9QhIQe1it2fuCcAnEV7m9h8nGciLrT3oe70hjJI5yxAle8BmR/8oCmqbDTZ/QKAv qni0q+gdzhsoos9kZLZju2h2Vx1OHd3xU2dct7agRD6iI6+na1wf44JHTNjCpNS1Igvl dDk0RbsYBDuLFr5SET/ixOHqxdbfxC/VV0gLoLBsYJp65IBG6DVUFwJIDz9NM6Ehyjep nMCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-unsubscribe:list-id :precedence:subject:message-id:date:to:from :arc-authentication-results; bh=dFO/x0UBAJQNQZHayAiHo3AaI/55qgBJHfMyNfajUDY=; b=BdDWsN66jCHHWe9kcN3kqGNjAEc419+38VjiTv9OD0BbrIp7BWLdTGYv/wpu+15p1Q pBy3hxWxHw0DORyQ9m3bTixSPsRRFr61MnUGzqTgLFOgu8GV3E6kiUW7tytm4qVOGOxo 1sJNShzMld3eenlNBCJBEKmEVUnJAyCgrfBpzlrDTSXD9/DYwwccbe9XcYq6qgBBKVM1 rUi5wVrLWgrvmeh6BqtZ23pQWB0uE5Pl01uJ+z24M2uEOJjPMU9tC2Qbw3X9oT6GXZTK 6T9S262vgNd88XbulYMR5+yvY2RPN9P6M0eBAaakYytqVrATqJ7bT+x/AQYgFjkO3If1 dCWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id v129-v6si2475450ith.14.2018.03.20.21.50.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 20 Mar 2018 21:50:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1eyVfH-0006mY-Cl; Wed, 21 Mar 2018 04:47:55 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1eyVfG-0006mN-8W for xen-devel@lists.xen.org; Wed, 21 Mar 2018 04:47:54 +0000 X-Inumbo-ID: 14095afe-2cc3-11e8-8248-2fda3a446a53 Received: from foss.arm.com (unknown [217.140.101.70]) by us1-amaz-eas1.inumbo.com (Halon) with ESMTP id 14095afe-2cc3-11e8-8248-2fda3a446a53; Wed, 21 Mar 2018 04:48:20 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0D83580D; Tue, 20 Mar 2018 21:47:52 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.206.53]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C80B33F487; Tue, 20 Mar 2018 21:47:48 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xen.org Date: Wed, 21 Mar 2018 04:47:21 +0000 Message-Id: <20180321044737.20794-1-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 Subject: [Xen-devel] [for-4.11][PATCH v6 00/16] xen: Convert page_to_mfn and mfn_to_page to use typesafe MFN X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Kevin Tian , Stefano Stabellini , Wei Liu , Jun Nakajima , Razvan Cojocaru , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Tamas K Lengyel , Jan Beulich , Shane Wang , Suravee Suthikulpanit , Boris Ostrovsky , Gang Wei MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Hi all, This is v6 of the series. For all the changes see in each patch. 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, Cc: Andrew Cooper Cc: Boris Ostrovsky Cc: Gang Wei Cc: George Dunlap Cc: George Dunlap Cc: Ian Jackson Cc: Jan Beulich Cc: Julien Grall Cc: Jun Nakajima Cc: Kevin Tian Cc: Konrad Rzeszutek Wilk Cc: Paul Durrant Cc: Razvan Cojocaru Cc: Shane Wang Cc: Stefano Stabellini Cc: Suravee Suthikulpanit Cc: Tamas K Lengyel Cc: Tim Deegan Cc: Wei Liu Julien Grall (15): 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 some of 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 Wei Liu (1): x86/mm: skip incrementing mfn if it is not a valid 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 | 75 +++++++++--------- 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 | 20 ++--- 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 | 6 +- xen/common/domain.c | 4 +- xen/common/efi/boot.c | 2 +- xen/common/grant_table.c | 133 +++++++++++++++++--------------- xen/common/kimage.c | 6 -- xen/common/memory.c | 71 ++++++++++------- xen/common/page_alloc.c | 58 +++++++------- xen/common/tmem.c | 2 +- xen/common/tmem_xen.c | 4 - 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 | 6 +- 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, 428 insertions(+), 564 deletions(-)