From patchwork Tue Apr 3 15:32:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 132767 Delivered-To: patch@linaro.org Received: by 10.46.84.29 with SMTP id i29csp3954366ljb; Tue, 3 Apr 2018 08:35:30 -0700 (PDT) X-Google-Smtp-Source: AIpwx49qsBVkNEoN/npYlBHRLXbrK/yjR+5yP0Hrb6Dm+JxGBLMlSk5jg8NmIxTSQm/J3WGx9HYX X-Received: by 2002:a24:53c4:: with SMTP id n187-v6mr5421046itb.107.1522769730085; Tue, 03 Apr 2018 08:35:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522769730; cv=none; d=google.com; s=arc-20160816; b=GQQQCALc4h8RVGpb56udd8nZUAKtIW2DN10J7qMrplMV8X7UFnl9TClRVxyUrIsOkT 21EAGoapGjsm+9WTvNDiH62BXgTd50g0qW9VTtnnd+9hi55BNUnX0C+0DI44LsaNpYN9 gIX/DDdre7aaDd6dcc0injT7shDUOBTASBkOsPuRU3hATU5QQQX6lFb2f7OO9uZnsPhk F48NAHZ+EOCbAV8IwjjdYqpwGKkgrOcFfsUgKlpZgSHoUS15cmTu/9UCbRNfA98mS/le xDSiACLHyTJp92OuKYcTVpDQ5DQCwgMJIKXH445+YkYKLt6hgJShtKq6/nCPF/kVeEYi SJ6Q== 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=0IYvXplGRziXmlGn5iY8zuy6jNstwZdIaWDqW0BREw8=; b=JtwgOTjF9ynMeyoya3XR/jJWPEyorrOWkQ3+55xhJT89aqPxyrZIX9ynSXicpLgGfq m1ODd0Hg+f6+mJxTIGh9IaGM6cLNsKgMkLalnQaKgbDqfdXwzHRx4JnBadrVE6s2KzAC Uast5W8J8EAZJIymnkMsy2fBSlOhPKrGe3i2wVmneZIo6JSMJCJK/Rbxt1ESFeYAmx9l kcPWnMtudR4KSezMDH9GFHNCIUSK9VTtKcySeB2iQrE/PZBDSyo6prr1uXkUv+vk0+MW f4LXcD7YlyZUF/RR/sUr/6GFf1hsMeHfHbvNT7wMuzjqU2Tcn2x47JMbJUiaboD33ZQh 4XzQ== 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 m44-v6si2229644iti.64.2018.04.03.08.35.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 03 Apr 2018 08:35:29 -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 1f3Nvk-0007mL-Jq; Tue, 03 Apr 2018 15:33:04 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1f3Nvj-0007mG-Ti for xen-devel@lists.xen.org; Tue, 03 Apr 2018 15:33:03 +0000 X-Inumbo-ID: 76361afd-3754-11e8-8249-2fda3a446a53 Received: from foss.arm.com (unknown [217.140.101.70]) by us1-amaz-eas1.inumbo.com (Halon) with ESMTP id 76361afd-3754-11e8-8249-2fda3a446a53; Tue, 03 Apr 2018 15:34:13 +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 E5FDF1435; Tue, 3 Apr 2018 08:33:01 -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 AD5FA3F24A; Tue, 3 Apr 2018 08:32:58 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xen.org Date: Tue, 3 Apr 2018 16:32:35 +0100 Message-Id: <20180403153251.19595-1-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 Subject: [Xen-devel] [for-4.11][PATCH v7 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 | 73 +++++++++++------- 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, 430 insertions(+), 564 deletions(-)