From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752523AbdFGTQK (ORCPT ); Wed, 7 Jun 2017 15:16:10 -0400 Received: from mail-by2nam01on0047.outbound.protection.outlook.com ([104.47.34.47]:32694 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752451AbdFGTQB (ORCPT ); Wed, 7 Jun 2017 15:16:01 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; From: Tom Lendacky Subject: [PATCH v6 15/34] x86/boot/e820: Add support to determine the E820 type of an address To: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, iommu@lists.linux-foundation.org Cc: Rik van Riel , Radim =?utf-8?b?S3LEjW3DocWZ?= , Toshimitsu Kani , Arnd Bergmann , Jonathan Corbet , Matt Fleming , "Michael S. Tsirkin" , Joerg Roedel , Konrad Rzeszutek Wilk , Paolo Bonzini , Larry Woodman , Brijesh Singh , Ingo Molnar , Borislav Petkov , Andy Lutomirski , "H. Peter Anvin" , Andrey Ryabinin , Alexander Potapenko , Dave Young , Thomas Gleixner , Dmitry Vyukov Date: Wed, 07 Jun 2017 14:15:49 -0500 Message-ID: <20170607191549.28645.40861.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170607191309.28645.15241.stgit@tlendack-t1.amdoffice.net> References: <20170607191309.28645.15241.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: CY4PR18CA0038.namprd18.prod.outlook.com (10.173.177.24) To CY4PR12MB1143.namprd12.prod.outlook.com (10.168.164.135) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PR12MB1143: X-MS-Office365-Filtering-Correlation-Id: ea2489bf-1e16-4047-1375-08d4add9a075 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:CY4PR12MB1143; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1143;3:xzh90bHAnrJX0DZkBPZGmKE2+pELb47Y5PNrvduaSlFRcmOaVvliv41gaJj2cMy0yLy8+ja/m6fueGoulF1v2AqD4tqZsEGD+9znPwYeqEj8LY2mcxL7LZKx7D69dOyPggGT4SWz7V1rVnkqagfr/OSKRFeLEGITx7aqZ8v5S2I1tecJAkhAVtv/AGhpw1gkna6T88WoCVXfPCMYwWtH2qAEecPKixHcxlpTnQFrivf5UjHWK/2KxYQnXztiHGi0JRE6JmfynyzU90AawNbNT72k3e17yxCYGROzcJTUE1dSqHIzHtnVBjoGI/9/elMzJjwkPQfKtpil0NGTpIdJy2a1zHe1vLRtVozKK4zrTxA=;25:azNsdLhPS1VGdWj2G/ncEZ6LCnL38V25dLTaGZOJ3vzCHDQGryUpIAdWTzOB8YZz5wa3355Mc1bPFDsOkyGruqpFm2eH2YnUpEx4QWseUbv50qASdtkZFBdgwXRbOn7sCbEMMNmq/RcOA+qVHc1aXmUixtanFiwhN/hRAgjVcXSBSJfvyGhDrc3dFq9UqUIAOHepMzra9eHxS3iB2pswW1ZrQpkXAvfmfl6hnsondmzlcWArOqoh6819keXD093xnTSZ0NudUWcB5WmW3G4qlUpIeVzMflEboWYoixutuvuwoq5OM7S5AIST3s4IMC+RaHUQl2nKUajasEqOP5PDnGmqEbBB8J8KAe+vQSQCQOxLP36jYml3ueAzMks/rMnyzbkkLoroq7vtuTUDJet+ASN6fs9C51jLYCO4WMf6MFmkvTEFYiD4+2tkS6NhB3o1TtlQXdo6IPOYPZWrlVPUcD9aexYTF33ADOdq3Yz8EW4= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1143;31:gaAenoveDAuicjBu6AeIdFE342RAZPLk9wdyT7fVjR6mvgJzBKo9A3cGXLbEwk8r8zT9PACumdufYuoZuHaHbAGn5xhYdYteO+NGLC0Qu1g1sfrpOq8Cxw2f8KUqY7vbui6N7FIZT9wzoUJKrbNYqfIdAHWeqGiwQPgv2NUtyyVuPqaLdqTjCeyqKteqIFoUvwhn7zNgyQTAu+qcmmD6xrY637LlPzZIze52n+s2Lmk=;20:gTR2QYbFMTN7NXvWwTTf3mHfCNUhH73NJTNVA14r3VSiO7DwdnWp/39gAoMskb26QpetB11EBsI9qVxZEPx02FF98fXhtEwDs5LJTZzbRCn57pIGHcjm0oWISFP7NjXqlgsRFF4lYtDd1kjdXmhy6ExK0y7wHWFwQ0dTdACWA7bhbbdV0D2GW0NR3kuKeEBkdkyYraptCagkTZlNOIY8KL4C77Ivd5e+YJ9mSJUkXfK2j4hdR8KwAsjsRthMZaIESl0dWgcNHCLjwSknpuaOGTd4flBG7EFNUaltZsIzeeZxlKPjXj/gLawl5Gr1MvcMe4SIS1AWajIMSbhohEu1U4alq93jnVqLu/x210kwnp8Kfgywlm7CPNjgdgvHFY5TDb5fyMEonTXUOwI6Z+JDeoXsPihBn9cs6axUTQgeluAPlBlPfORsnRsDw6BlIJLGD1wz61theAe0S8ZKVnMq+ERau0YJOyGRq3SFeD4bFoXsIQrsQOaqpcH+PD9VBK2r X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123558100)(20161123562025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR12MB1143;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR12MB1143; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQzOzQ6R1Y0dGxLS3lCWUYzdGNvR1RuczZZTmVaREwr?= =?utf-8?B?WUdjMDFuTWh5dmdzb3A3OTVrM21jMmNDS3RYWHJ5MGNSV1FOaVVCdGIwbTJW?= =?utf-8?B?MFJXcWR6WHlLVVZaamdBV0dxMVFyOHMvSVlWTmdzZm9BcUVwZjZONTVkYVZu?= =?utf-8?B?cW9uUUNoYnBPS1hyQkFRU0tUeDBMcm15bFdpZmpET05OTDN4cDRpMGtyUlZF?= =?utf-8?B?a2YrcmsrbjR3V0t2aGZreEk4WHpHOEtJREJKL2UreUMwQmRCK2RwYnpXZUlG?= =?utf-8?B?cVBRQmxWVk1UWVpreVVEN3QxeEQrdXJQOVRSb3lnQk1Na3dOaS9ocWcwN1lp?= =?utf-8?B?YzkzUXVHcGIxOUpoSEFBS0tNd01wNE1NNWxaT2xhR2dxaEd3SGR4MEorbW5I?= =?utf-8?B?VCtMOFZMOUpWMlZ6M2p0bmVsY3JRRTRkMDF2NTA2K3ZvS3RidC9qSWNYR0xY?= =?utf-8?B?dW5xVHgvQjh0NEErbGhDVDNOYnBaNHdJa094eityWkxBT0locllLQWhIRXZB?= =?utf-8?B?a3hSaGtEQkxsV2NqQ3NZczVla25tbmFzYXQwWFFxM25mamRjOUVzYU5LS3g5?= =?utf-8?B?K1N4NEpZUlVmQ3hIeXJWeWdjLzF5bVFBWlBDL0FvU3F2dGVFVDA3Qk1UZyt0?= =?utf-8?B?UFV2VnBJREZFMk1VbzJuSElVYW96Wkh5bnF3d05zem9GcjlSSjdPNnRsUkV4?= =?utf-8?B?Tk9mVnYzRGlIY1VMVmtqTExLZjhTa2tpME0rbHpiWFVvTjJWT29tSFF4TkQy?= =?utf-8?B?c0JQbkY4T3pjT2pTd2lGU1phV0FuRVRBTXFBMnQyTHl2eWg5QWtrSXhROXJ1?= =?utf-8?B?Q1BmbWxDbnRPZ2ZkTjhwa3l0dUxmUmIwK2ZPbXJHeHc2YW5aQkowdWwvVVlv?= =?utf-8?B?eWI2T0dGQkpoRFc0OFMvdFllTVJBQnBqWHlIUG93VjFYb2lLT0gwMkhZQlBX?= =?utf-8?B?TElJQmp5OVN3TDJ3QytFcUdXTFVwbWt2Y3kxZGVNbEN3eW81bnVMQnNWOEU5?= =?utf-8?B?MXFHdkhwL0U4Z2N0VkdVRlpaQ3YvVjFrWU1SWCtyaSsyRCtVNURja2FiRGN5?= =?utf-8?B?L3J4YlZtNkZmMGlhK2pvZER0V1IrdWhGaTVpU3Ftc21uRW9ieDVFbHgwM2px?= =?utf-8?B?TEtyQzE1WVRwd1Nvb3FzYUVhV1k4VnBzSzlLYXpkdVZLYjRIUHlDLzBldG5t?= =?utf-8?B?Z0F4d0VpWHBHWmM4L2oza1MzbXE3MHdaTHkwbnNaalY2ZExQekhyMjZ2RGE0?= =?utf-8?B?dllIeWpCdCtGTmVjM2tQYUltQXZjYkNSV3FxNlJuVWZzVjhNTzA2UmtSTHZT?= =?utf-8?B?V0REWThtci9lOVlhRkpyV2JqNW00cEpCOUl2Wk1lalllaUgwMlRHVGhOZ3ph?= =?utf-8?B?LzU3TmRjUXcrWGVpU1B6M3VmdTNCRm5jY2NubE04SC9yb1Q5UWxTOHVwVExJ?= =?utf-8?B?MllING1FTmRNYnBpYzhTT0J5NU9adVhNR1NCRFdYVno0Q2dzMDlpbnoyNTRB?= =?utf-8?B?cmZqNE05Wi9JZmhyK2dqbU0wcE54YXgzb1p2eGJTMDJ6dndsc3ZkTFNCZk53?= =?utf-8?B?YlNWY1V0Z0VvcUhzYnlnTzM1S1pjV1BVQUlRakNZbDJPT3hkbkZmWWtlZDda?= =?utf-8?B?UEh4Q2lmS1E0cXo1eHlBeFNtSWhZNURnMndkOTBOS21UMzBwMTl4WGFEaE53?= =?utf-8?Q?ocIVhaQv65fIvPQl0=3D?= X-Forefront-PRVS: 03319F6FEF X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39400400002)(39450400003)(39850400002)(39860400002)(39840400002)(39410400002)(50986999)(47776003)(103116003)(66066001)(189998001)(97746001)(42186005)(53416004)(76176999)(25786009)(54356999)(305945005)(7406005)(7416002)(110136004)(53936002)(38730400002)(50466002)(5660300001)(7736002)(86362001)(4001350100001)(81166006)(55016002)(54906002)(230700001)(9686003)(2950100002)(6666003)(4326008)(72206003)(23676002)(575784001)(83506001)(478600001)(6116002)(3846002)(6506006)(33646002)(1076002)(2906002)(8676002)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1143;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQzOzIzOmluZ0tmZ0hoNXg0c2MybDhqYStOTC8zUm1R?= =?utf-8?B?NlV6cEF3OVdSZmZvdTZaYVFVeVV1eDhXdFZBVEk3TjFuVkQzdzJRQWIwNkRq?= =?utf-8?B?NU12QnZxWkduZG1GU3QyWldUU01FNlNJOUZaMkgrUzVUcTNPSUtzRGtiZnYv?= =?utf-8?B?akYzRDBoY3NkWnR1ZWQ0dnRMQlRWWWtXT1lSUnVKS2NlcDhkeC9LdkJNSWxu?= =?utf-8?B?dHl3OEhnZHdwU2NpRU1VTGtQaWZxYTZtNE9RaGJSaFIzSjh2dEgrNUVzNXAy?= =?utf-8?B?a0lsbTNKeG96TnlsY2ZPR1FXZ3JPOTIrS1VvbHg2K3NmcWNYVXVpT3FxK3px?= =?utf-8?B?SGZwYktpSG9La0dkbThkSVY0aUNaWGZJRDNsRFV2UnJRT2lBYWNhQ2p1THcz?= =?utf-8?B?OWk2NGUrK1BybUw0cFdremtXaXhsV3l0VVVzQTFPSHZPelQwMlZGTzN1NHhE?= =?utf-8?B?ckhSZDdTTktZSDdFdnFOa2ord1ZmWWd4aGk3eHVqcmpxYitHVXNMOHRDS0tt?= =?utf-8?B?aENCQjg2bC82SzByMk9RS01RczUyS3I3TnUvOGJJRWpEc1VycXNYRUkzV0t0?= =?utf-8?B?UndGN25TSGhzd3F5djZSOXJuWTJhQU1pMWlLaTA5d0IvTDM4R1V1c20wVGZK?= =?utf-8?B?cXNCejBUaDg5cmtvOUVxWFNYUWcvV21hY1RqTFQ3YU0vQ2xrVGRvOURzY09U?= =?utf-8?B?ZUUxZHliTWRrRlFGT1JXZ1pjWEVxMU0wY2ZRVVVIUkJ0Ri9iRlpGV0k4TFNQ?= =?utf-8?B?OGIwU2VJTXRRekVCNks0ZUJyYmp2clVZRzZReEQvZUt1MDIrNjM0NzYzMzJr?= =?utf-8?B?ZWJ1cVRFUnMrMW82Wjk3d3NoR2V2TUhzU29CTFMyc2V3Z21uY2pySVBDdElz?= =?utf-8?B?dUJCdEQ3OGFmNS9XQjNMeER6dk1PYzZYUkt1ZE5sanltVDZEVUIydXZuQVdo?= =?utf-8?B?NHRNSXhXalp6cU94amlsRjMvTDE3ZFJwR0cyT2pLSW54Y0FPcWFLU2g1cjVh?= =?utf-8?B?ZnZNelBUenhYWUV3K2xuQUdkVGVFbWxFUHlRZE5jZklhMUtBeHJ2QWNyWUZE?= =?utf-8?B?REkzV0ozVzlWb3BMQlVPL3BJd05tWVlNRzVrU2VDWVJBdnNxOHphamR1MnJl?= =?utf-8?B?dUlON1d0RThJNzludnRzbC9FbmkzczdRdytvSHRJcVNJSSs2SWdMNU5HOHRs?= =?utf-8?B?WUVNbUlTK0gvYzh4dlZaelQ1ZWpTdmQzOERkQ1B4Zzh3emh5R0V4SnhUcXZj?= =?utf-8?B?QVhJbWJlKzRGM2pWbzNXZE8rSUtOSzh0N0ViazQvZm5FODFxeGx0bUxzNlRq?= =?utf-8?B?Sk96QUYxSk9qSVRaWnBUeDQ3NExtNU50NFpUUldzck1zL2dnWklKZW84bmcz?= =?utf-8?B?YWJmdEhxamdwOHhOczQ0ampaRTJIc1BrZnBnWm1VTG85bHhUeGV0L1BSYVZK?= =?utf-8?B?V3drWHhrZkhqMVZwYXRPNWNvTVpVbzdWU0N0SlFSaVJRaWVRNm1zN3NUbUMy?= =?utf-8?B?dzJPTm9FOHdDUHJvTDVXRENaS3h1cU5vbGRRbVU3cXlpLzBWZ0hrOFN5SEtJ?= =?utf-8?B?Umk4eDJKR01teGlLSjhCMmE4RzZCMEhXYy80Y2d5WEIwNnRnano0cEFWZEZm?= =?utf-8?B?dllUWCs4eitQNWJZUFBVcWo0eFZjMjc5b2NHeFE3NlhMUkFKblJjMmJqbllZ?= =?utf-8?B?RjRpd3k1YmhaTitaWm1LamZnd2xpRGV5cmhqbWFaak0zaWtyUk1tcFZ4QWlp?= =?utf-8?B?bytjWmpqRlVNWWRIYzMzZz09?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1143;6:vM8LHyfVYlcMQwvwDxwI3Ob17b+s5sxsnC1i18ckjsNZo093KbK92bW+BPPk3Bi1N6v4hFquAxnZbN1Oept9sll6ru7S8ULeJ9Lz4UYBkjIb3f1WS51diwI55r6L84wsoMK6Hu3L4DgWCgwR/PyQxX+pt4B7oyV2V+QghGHjsTb31VGM7bhkMFQE4GBM7lgxbo67+1ELhTG9qkanX53Lh+58FKkTWeG7EglJ6CPR9o7GVKBkWiWsTQ+p/XpEhgTtCJ+sWzq2ky1rMN7PpmSoz6BdhxZkZM5eQqG3DryWNaJfzb+HsehrEe6YGG+4ZWepX+I45bnyodM2gIfNd8Jo1tYmLcPmCRqoJ8FeKOunfEQLq7l5tw727GGM+/XMQCiVv0vrYl9BCaDsV76HrvYtiL+bkxbb9KP4MfbnjdSLyuzxkoKKBoPMtekSwaO+/DHqWruIB137jH55tVYOEoUNRAvedttQ0JFi0jZkoMZ7KXAqotNB9xQVdQh6rAAUAdCl/L87rjplfhf1wGKAztHt5bf2/dkwmJYtdQxbJ7j9R+Y= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1143;5:ZgWWDoL4JFrSy3H1VLyQ66giQ7zbR8sb+O9emFuXR95Z7ebgXLZ4FihQIBbR8yLgPIZQI5iR9ANzx3gVWj1B+fbiitfj94G/9IXD7j7kOLpi33PlHDgTqic+Qpo91JT2q+lbOgzJFGiOBKuG6WBhdMwbakol7k+4CfZRZ/CZa8n/khNfQnMeNdcnTwG0YW2SqgUyyiDPHb4vzpawd6Y3Cw0uCRFPRg+AfJIFA1ae3ApafR0OAqlAmOmnXCdO8Li60ocBqQim4Jbgh84DiV8HoZq0DT/CUByaAZyt9Z1DNBpQnu6dWwbcZW6zGCtXucu8a+LwhFv5jFheT1boD69fYeNH5dRLRCe624N53H4cIwZjHpTRyRRAi2Z3PJudsJV22uUyPObYB09rK9WNnF5J9vfXqb8f36rdNYlDMlHR4y3BTadSjtaujuf4fRUX43tyo9ZyNjw6JPhy+nCF2mepNluCL5X9CyEfPyh1iubJVablUQuQ1GQ5d8udSVVZME0M;24:K50+gei15sZJQYSuPC4GGxRinzmpNSqwh4VyH6veqTKWG/eQ6NWIOTfUwx0XDGkZn69VdnjlWmMlH0Z+FnOM7sZy60ODNUZTdZwCDyXLMKI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1143;7:AGBVhHxSkw8WnfcmYDMeLuWijIzLz2lwqRk4DfZ0VN/QfDfQIlZJF6njcHQ6y8Pe33r4ttswokzaYip+00ryCQynqjkGk0FxA/evZ0gUdxRsiVKh+k7aElTqpCVgSZ81WnDIHdjDbvIYF95CsXct6WDp5+I051os04h0VIQlJfBo1WlcJkHH6deJ7+iau8ioESMFvCi62CV1szqT6PduWcAbpCDM3xHvU2K+tIpxDsFwjzVm4KB/vYyu7fDPzeedKyLWxIzifhZakheRWYNB+KH9TlqlGL8909eAZTwQRdc1yiZ1TgfSg5smpTxcFq3l/PbOR/tarKYI7u1oDSFWVA==;20:Xbk+X9viIVU7+Ce1gNuIV1F3b+BS8vnTy+wMajieheV4eTTTkZKed/GjhuesZ7J+/LY7lhydtmKv7JDLH2SgQNEUkHTVp457ZX59VTAGCDkfOl6BKrCJs2kgZYrOPFSDHh8INfJzC9FHzCyGIC3YEmm/7WKR4Ip8dJXiRsjpdgOSaIzQhfB+ADeof/ibj7bbOvaq1j9b+c4SLETPXbVVOYNN9Fq5fLKQuUDNEUod9Gz53ftiPtMyGErhOyUZ9Znu X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2017 19:15:56.7461 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1143 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add a function that will return the E820 type associated with an address range. Signed-off-by: Tom Lendacky --- arch/x86/include/asm/e820/api.h | 2 ++ arch/x86/kernel/e820.c | 26 +++++++++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/e820/api.h b/arch/x86/include/asm/e820/api.h index 8e0f8b8..3641f5f 100644 --- a/arch/x86/include/asm/e820/api.h +++ b/arch/x86/include/asm/e820/api.h @@ -38,6 +38,8 @@ extern void e820__reallocate_tables(void); extern void e820__register_nosave_regions(unsigned long limit_pfn); +extern int e820__get_entry_type(u64 start, u64 end); + /* * Returns true iff the specified range [start,end) is completely contained inside * the ISA region. diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c index d78a586..46c9b65 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -84,7 +84,8 @@ bool e820__mapped_any(u64 start, u64 end, enum e820_type type) * Note: this function only works correctly once the E820 table is sorted and * not-overlapping (at least for the range specified), which is the case normally. */ -bool __init e820__mapped_all(u64 start, u64 end, enum e820_type type) +static struct e820_entry *__e820__mapped_all(u64 start, u64 end, + enum e820_type type) { int i; @@ -110,9 +111,28 @@ bool __init e820__mapped_all(u64 start, u64 end, enum e820_type type) * coverage of the desired range exists: */ if (start >= end) - return 1; + return entry; } - return 0; + + return NULL; +} + +/* + * This function checks if the entire range is mapped with type. + */ +bool __init e820__mapped_all(u64 start, u64 end, enum e820_type type) +{ + return __e820__mapped_all(start, end, type); +} + +/* + * This function returns the type associated with the range . + */ +int e820__get_entry_type(u64 start, u64 end) +{ + struct e820_entry *entry = __e820__mapped_all(start, end, 0); + + return entry ? entry->type : -EINVAL; } /*