From patchwork Fri Jul 7 13:40:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 9830315 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 744DD604D9 for ; Fri, 7 Jul 2017 13:41:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6ABBD2868F for ; Fri, 7 Jul 2017 13:41:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5D610286A3; Fri, 7 Jul 2017 13:41:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9A5D928699 for ; Fri, 7 Jul 2017 13:41:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752113AbdGGNlJ (ORCPT ); Fri, 7 Jul 2017 09:41:09 -0400 Received: from mail-by2nam03on0061.outbound.protection.outlook.com ([104.47.42.61]:48486 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751850AbdGGNlA (ORCPT ); Fri, 7 Jul 2017 09:41:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ZFJCWDyiwFz3ohv6l75imZ8Gb7LjLW1DBhgomWQathg=; b=M54lr/qT7fVY/QATQK7miScaZ1rdYG0Ss9s9pBFG5yuWqAFbYP2pPQw7YOCefjmymVt15ZOA6fuED1sXdHmIwWba3Jk1Bz6tI1LkS2G+pEDtm/8T2IrgnMyvysymFuohwWRshN7RKIw1w6RE6YUOA+ouEeg5pt13cRfwZT6OGRA= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=amd.com; Received: from tlendack-t1.amdoffice.net (165.204.77.1) by MWHPR12MB1152.namprd12.prod.outlook.com (10.169.204.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Fri, 7 Jul 2017 13:40:52 +0000 From: Tom Lendacky Subject: [PATCH v9 15/38] 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, xen-devel@lists.xen.org, linux-mm@kvack.org, iommu@lists.linux-foundation.org Cc: Brijesh Singh , Toshimitsu Kani , Radim =?utf-8?b?S3LEjW3DocWZ?= , Matt Fleming , Alexander Potapenko , "H. Peter Anvin" , Larry Woodman , Jonathan Corbet , Joerg Roedel , "Michael S. Tsirkin" , Ingo Molnar , Andrey Ryabinin , Dave Young , Rik van Riel , Arnd Bergmann , Konrad Rzeszutek Wilk , Borislav Petkov , Andy Lutomirski , Boris Ostrovsky , Dmitry Vyukov , Juergen Gross , Thomas Gleixner , Paolo Bonzini Date: Fri, 07 Jul 2017 08:40:49 -0500 Message-ID: <20170707134049.29711.88208.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170707133804.29711.1616.stgit@tlendack-t1.amdoffice.net> References: <20170707133804.29711.1616.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: MWHPR15CA0044.namprd15.prod.outlook.com (10.173.226.158) To MWHPR12MB1152.namprd12.prod.outlook.com (10.169.204.16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c7495ead-873b-402b-6840-08d4c53dcaa6 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR12MB1152; X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1152; 3:50Uk2sAZLwI1dOdMM13bF5xRG7iNrchffWpN46ixIwvp0KFTaO9ClxPGAZyu8vSlB/THyPeKWzb4sDpbNBqIpVeunqYnlUq95e7PUnV8askEUmQm/x5+l2szmR/Ktxus1abV4FN6iMxo4v5y7AXAwfWnz9JNL1kDiV3ykhzPisbgzr1t8WOoWXsrJZuTq5qShBdmnTA3C++dzNLBkUmPo64BUcPs1zVtLn/VJbFUUnCut291dtQGiOhrOp3wL4P+HGHhQoAvT2fWronyFi/Q+A6ECUahc4bdnwIVGCLkzZv8k/0AFVsntc9B8yu8MsYrGbZ813X/ON4bhY47Co8i7n8EbLtuJd6ilrOCBBpgaGp9Hm5mzgLcWkIiTn1BmEzvOLxT9isQFWXF8HO/nCmVXEBgt3hQlgkHrPDbdz8UuUkaZdRKTTlgUpqGLMJH1Z2V76ibvA6il0lgvalBPG7u+jutst+/Pd1lwYJt84elIMzZt7Py77f7292hIOe2wtjCCVR8RxUs1lLnYoT07+Y8oMOuPH9Trmchc4eOEadFxP7tmwYd8z2A4/CRxuTMsfCSfkpxP0roZ383PNLA0mAnJTFGlFPylD6x1mRRnbwYqr7HfrZtc7s3uZ4JJoDq9FFBd35ijdoRnOB9R+51wGWJyIBdeGtgIVZJpSCeJXyVJD/Qnjq2YU6hOAYDL0DwMmSHs9T82rVOFmahCVZuDu1D54CvwZ2fPVwauS5zY69B2nBC0m3nWy9H1XNcEFMEMhz4MuyEBv7HY9AkpB5VRcns2Q== X-MS-TrafficTypeDiagnostic: MWHPR12MB1152: X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1152; 25:BFF6fgWHdWWnZ56T1jQtc8swopy7uNWHv+2GzK+C24chdn7gT1qo9JFbaf4goR7D8UMrTR3MkofPsJsxcOdbgHETZiNXWRTT4wULY0OtMOQ702PIEFcRVItV13VQFAu4KqWvwMFJJ5fRfw14bEVFzqPSjfnktIPd77HMoESQ13zZUdjWL9+yIYJAv9Zb6raiZtUAJ+6JSlMJqPt7yZ2/KRT7rtjQl6rnpkMox2KgBapkNaCk70yk+M/YoSiwV5VXNSZVfQg4xcvm2bXfcNugBJJMm0sQqxn/v1Q14WAVfgQzGJPxZCt9v1gyGg34CPWvChe+aN46q9LqFlHQ3LvJENKzow/3qWsfCgow3NV4oNkJxfBDXQPSIR3SkS6jdoHpqUXEbV/cDNPOfF9muvu0xmUz7h2VYtBDl4X7tR/wMYrbRYvy54GWrqkSyvXIFYjO2P4dTQmZzHEsKRzvZgaDtDKKs9RvaWu0lziFRviX4ZWQZy1ObEZSkNSXQns0KAkA+A8D+fPS70rCRU2Navj2TYx8nyKUUfiA/HmVCyg17eLMJZIo5+MVKue+eNGIHlKFv/jA/v7yj1RwxHoWffsXHrLOGMcfjeWyQZTTqmXsWj9KKRjqrk8w0yOFt6szB0z+aTtyP8J2WxCKVDWbR9D7QwM9noYq+PMxTOQgHjD8N7RfF648v7RIXFl/mLrb98GCfCkcP/DI9DR/xdg4M+6svulC7thKYQ6h60h7GQUJXok8PcKSsTGZn6XMCyRJmPOgduboq+i6BpXvAPomcP3ywK4swolC/ynIcqgGIfK8KwMnzrp+PxjXpi47B1PD0okDjbj82E7m1OzjKr9zo623Do/eoaMFT9P6LFFjGiIPzn7jzQZvcudH62Xu7+otmgA3qSTDHpwBoWiODSi3TaVkdX6NMFS+ws2S/w/MillUj gc= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1152; 31:6octGgreAMJqZFuBfzDf4ySRMJgQIKqqbJwVBBMHnSnBvFnb7jAfU/uQRlQjz/0ZykRHXpqHll8DoNdXDmYjifcsSLDsDm9dBOmUDxim0eQcLaib1PHqSgWBosTrrP/Qtp1zQkbeGQkOUsCGeso7rzOyd0bQt7sANNjzixkPlPMOVrtplrLampDkFkA3y1XNpu4RCwmQFk9UpFYSBNcGiryQ2AC3t36c8okNFUPxmmdk5ctH6BV2YP+VtImdJeJieq9xzp66rXoLaD3P7cCHQ7HejmtZ6jpLuS6eOnBExlN5/wwY+yy7XR87iBK37NbHm7okWkyI4p1sv32Bq4gWSwYWvJbY/z/9UEUdjfGKAWNnpq4U9UWKp694Vou1AIllipRBdg0j4wr9ZqKSMydH9wyY5SeZIg/4VqQP255QeahFpT6DiSkFgAAHJhs7zbyMgtLySZokk7fdikOsb6egOORgGdzDaf7BY+NLSoZsbrVPkQu53aUl5eUm6/8j6U0x5niVJUzWT+hWocBHAxPmQj3jH0kwOtEAwhI9u7MGesWLkL/DFYq5Hym7HqRbI9sBLcl3OcK0e5KQSnlswXMkjE/yed2uCncrPYMl2isXRuJmiUfX7PUikPCrvsSM8fEVSCOsg8V0iEfv5tobV/6ufJdgTa8ZWfk6uHmWxZG43is= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1152; 20:trpVoJ1GEhMUK7+ztery89hpTVDaeV5cJSmpSBrE9L2k292r8mtcrMDfK+09+kcFKAvLbUoRJ8+F7oMFfLldpunBNTH2idOjQ1/zHNdw0yjoT+gUC4263ydepxTTfL6VbZtPiUbMHlOYz2HbLoMZZPnNOO/7mgf8cQhHVPOc1UUI6tZVDqyL0YwWCSHdW+TkWxMsBNbo4w1Z19Pv1zZHuN1PM+272B9Qc4LFdvusskZHcZunIPDcUV2CJS9x0akZoi3RdqXsMPwVlsYVNXzNt8TrbqxM4QfwneHZB3k9PDDqgROmgRRqQZQSH3ZNpNfbGZCbT6qYMXq1wAiN7TUHzZrt+ZPj7295YtF+NOWIe2a2V6UPYuSf90/Pb8bDPqxQx3u357MfZ8FkRXIHjkfTRCUCYtwRH9pQFR5BTAw4uRwVicziHHYP9mguMlMs1QpN5Lm/orKmPgmtpL9QkXLSdRV4uwvOPfqvSiuOTQ+yTJOF3Vqo+63/NRAsnMNBee0V X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(767451399110)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(2017060910064)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR12MB1152; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR12MB1152; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUyOzQ6emZrOEprbmRDQjB4L0hKM0NnYkNWaEhJWDNW?= =?utf-8?B?V1RYam5WZ2VVak4zaE1hMDVNWmVXMGR0NlgwRDR0SjBoNytrM2hhQ09rNStP?= =?utf-8?B?SmxsMTRld3JVclkweU1mTTdOMDR6WXF0YjFDOVFrTE5KNFN5bHRQb0pXNnpG?= =?utf-8?B?R2hDMnB4OS9wcmxQVDJJTWJNc3NqZXBSN0dRL2xkYUdkaE84TFhxWkpCRDdv?= =?utf-8?B?RWttRGZDWW45dmYwWnJpNVkybHJsendjL1MyVlR1dkdvNHlXWTlwTXc3NFpz?= =?utf-8?B?cCs3SmhURlloeFp6dDFoNmxZcUQ1U0dmYlMwOWV4T09qR04rSmM1cE9Oc2Jt?= =?utf-8?B?alBVQVlUTmlWeTZGUmllcFlTUkd0M3d0ZGFYVEUzMlIvWjJRSGc0VzJVbGpy?= =?utf-8?B?VmpNcXBzVTNrMnJ0Y0IwaWpPVnZrU1hPUjU4QTVSb3ZGVm5xQU1UZ1ZZZlVu?= =?utf-8?B?TUtSQW9RaHE1YUxEUkk4anl5Qkw5SCtDbyt5Tm5oQUtGK0hyZzFob212M1Nj?= =?utf-8?B?SkRLR3dCMlNxK3ordHJHS3NJT2VFbEJsdFlOMVprcVNYTGtZamcwMHFVR0or?= =?utf-8?B?RXp6TVlSdTV5azd0Sis3ZGhJbExrR1VPUUJpeFBTWTJzSnEwQnVLaUFmYWRu?= =?utf-8?B?L3ZRSWRXdElFTWZEVGp6cE91djNzYTYvTXMwUlVPU2NGRmdqUXBrTmNsVnhl?= =?utf-8?B?RVRDaUNNRFA2UFdEWDdjYXFiZFZIaTBsQVpuNEtEN05WQ09tWHpiTjRpNmUz?= =?utf-8?B?eGt4MUFiUTBZWS90b0w5c0s0bUhtdmNaQlNlVExJYjhoYWRubDVUWk5VUDJW?= =?utf-8?B?NVRZWWJOdUtIcVFyUFc3YnVoNzZWVHNpcjVEcnVSUWYxUk9HQzVCUkFjNkIy?= =?utf-8?B?TE1KakprWldxRC9waFlnVXRUZXlTZUpkMHVSc2FiOStlTUFzVEdleldzcmZV?= =?utf-8?B?M1F1dm83VHIzcHJnZWZ2UWV4RS9TeDg2K0EwdlV4ejR3Q0lGM0EyNWpzNTIz?= =?utf-8?B?L2VSYzR5Uzl1MzlvbVF4RFpNSFpMY21laFZOazQ1NkVKZ1VPSTdFZTFmeDBI?= =?utf-8?B?SC9acUgyR1BXQU9aMmJhUHNHZnEyRkxLUGVzbTN1U1pZblFZa3RxQ09VQnlH?= =?utf-8?B?Vk12Wk90TnBWOWh6em5rb2NtUFhwOWpjTXgxSC9EMHBHQ1BkMTBIb1NuaGFS?= =?utf-8?B?Uk5iM3hWYU9nSUQrZm9tYm1kaEhoMDI4VmVvTTJXSXRySUxKOWJxa2xkNjR3?= =?utf-8?B?ZWMyckxSTlB1QVBDT3pSYVRZRUxDczEyS1RkbzQwSDBEOHVrQzNjM1QyYlJU?= =?utf-8?B?VFhYQWxjSWpMSGxpYnFDUldoNE0rS1puME1hOThjdWdLSU5OSjh3SmZmZ2Y0?= =?utf-8?B?K2V6OWNWd2JJR2I1UUR4NVl0aG5qZVlhUUhwbmdkOWVueVJSVzFxSnBrZW1n?= =?utf-8?B?dVBZcTlzYjc0WnJORndUM0hKZ2ZNREJhRUhmODlINW1SZGhDcmd3UzFSbW1Q?= =?utf-8?B?NFJaVlhza1hQektPdVUxNzZ4NjdOd1hjbnNCU3ZvRjRDWHlEWmxsSkR5QmRK?= =?utf-8?B?WE5TU05qSGJqQjhRTVlLc0dKVGl6a3BDQ3dwQ0oxL1d6U0VpMFl3aXNaVWNh?= =?utf-8?B?V3A0ckxFZzE4R3p0aE81ZlpXMlg5dGkyUFZiT1NQeUYyd0hnb0JtOTJjSytt?= =?utf-8?B?ZGtSam9tZERHSFJHNEJmVjYvZDNRTWhNd1F5VDJEWWRQalVTRUR4V0xOQnBa?= =?utf-8?B?OHE5NjBkbWxaTlp0aG5nMHhPWmpkVzgxMlduYStXZC9VSHIxTlUvcjF1a3Ev?= =?utf-8?Q?i1uSAGTL7Z9w?= X-Forefront-PRVS: 0361212EA8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39840400002)(39860400002)(39850400002)(39400400002)(39410400002)(39450400003)(23676002)(3846002)(1076002)(6116002)(83506001)(53416004)(42186005)(103116003)(230700001)(33646002)(47776003)(76176999)(50986999)(54356999)(66066001)(86362001)(189998001)(50466002)(305945005)(2906002)(97746001)(7416002)(7406005)(5660300001)(6506006)(55016002)(72206003)(7736002)(54906002)(4326008)(478600001)(2950100002)(25786009)(8676002)(53936002)(81166006)(110136004)(38730400002)(6666003)(9686003)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR12MB1152; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUyOzIzOktreExqRVBYdXFrZzc2RkYwRDA5V2p5MWtH?= =?utf-8?B?VlV6blppKy9hOXE3MFJDY0w5dnJFSjhnY0U4ektjZFBWVE5ZVERtYWdFZXlK?= =?utf-8?B?aTA4UjE3MjhybXJqaDYySUQyTmF5Z1Irc1ZVZXhKSjlBcHBaZnhUTW80T0xl?= =?utf-8?B?VlJxb2ljeVk1S3JLWHJ6SHp1UldENXdUMG8wU3dHZmdHcXJaWXZxd2FmNlRk?= =?utf-8?B?QlNCb0J1OVk0UVhIUlZFYXRjbTZyMEVMN2RraWcyUzZzZ256ejJDRHNYeTRs?= =?utf-8?B?Q0ZBUk0xcGUwc3hFNWFDbFdkd3RVNThrZnZ1Y2pyczRtSE1Fc2dXazREbGRN?= =?utf-8?B?anlLMGtESjlrV0R4UzBRWUFUUDlzRDdzTEMrQUtoc3J5emZqaEExeERrL1Br?= =?utf-8?B?VUhoSGhra05vdjQ4TXlCdFJzdmhCUXB1T1pDTGExblJzMHZnSkpBK2hrM1F4?= =?utf-8?B?N0hsVlFHTWxLS0JQYUtNZXg4VkorcFhqYVNDMEFWTVM2bjBtK2xROUM1WGMr?= =?utf-8?B?QTVJaHkvRnZFOHZOR3RWRHh1UFNOZzIvVEc3ald5MnE2QTRqUTNWV2xibGVh?= =?utf-8?B?UDJpUEJFZllRQWFPNWVROXBuYWY0SllVUlRMNTUzVEk1N285a2tJS2o5emc1?= =?utf-8?B?VWo4WlJ3NENMSzczQnpXdWdMWm11T0liYkQwZU0zTVFTZnczSmRWc2l3WEVw?= =?utf-8?B?RjdjQ2xjSkt5a0ZrWklvbUhJUGkzS2dRQXhYQ3BHQmRRd2N0cmZGSUNta3hw?= =?utf-8?B?bFJ2M0lwd2E1SkVxdlZhWlI0YjU2b21McDI4Q1NWM0N2c0owMDhTVStUSGY2?= =?utf-8?B?SXY1YjFRWlFBaEd0aWVhckxFMHBFTzZNTDAxNU8wTCtyVWVESEo3Z3ZRT0Fr?= =?utf-8?B?bVVoby82RG9DTlhNeVVoMTNPL25lSjVMVFJpY0F1Y3BWRFFDV21ET1BmdERN?= =?utf-8?B?NU95UjVPUGVCQ1VKY0E1bjVHV2p3N2tzTDdPQ2pmU3QxOGRITzY0YVZDNGJJ?= =?utf-8?B?TkM4UWlDYnd6b1hadm1ENXVTem53Ymw4TUlKVmtkcTFkdnFBWmsvcmUvNnpJ?= =?utf-8?B?OUlSQXl6UzNSU0xQdUxiUlE1WFBMMkowTFNpWElWNXFiV0xtRVZaR2VRaEFp?= =?utf-8?B?a3JMK3NJbUw0bTV5R1hKQVZicWROUmRvRmdUdTVEYmxJNjI1YlUrdnd5RjFK?= =?utf-8?B?Y0pMQmNjTjl3MmVpVEhzcDV4d0xCUFcxaE4vWTBXWVo3VUg2T25xMHFsY0Zr?= =?utf-8?B?NXIwK3d2Nzd0bzZiYmRSMkxNQ29OQjVkRS83Uzg3RUNUTyt3eDFMazhBTDFa?= =?utf-8?B?bTUvcG9McW1DQ21zbkdycVV5bThQNTYzNDJaMkIrR1crLy9nbUJMSnVqelFB?= =?utf-8?B?amJseFJSWTdwMkFVMmJDOVFZRXBoK0tpK0JnODQvbVVBYnZXZ05RYmg1bStN?= =?utf-8?B?b1lyMS9qcG90bHV4VTdDcTZ6RDRpVW81QWZGYUJYbk1KcnNhWDZ4dUFNb1JZ?= =?utf-8?B?ZjZoUERRQkFXTjgwSHpra0lreEdGUkxVZzg1d2hDa1hjN2RITzdkU1p2VmR4?= =?utf-8?B?WEx0amNMV2ZFQlIraVRmbzhEc28yTHVzdFA4bWFDTUZvZjBpVjJkTzc3M1Rx?= =?utf-8?B?b0l1V0N3Q3kxUW1TVGRFUmRRRUc4OWpXYWtoaWxQdFlXaXFkUWhqMklnPT0=?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUyOzY6K1c3aVYyN3RGUGFKT3JkUHNpVlBBVFdXbUJS?= =?utf-8?B?MXluZlluNGRMdE5DS0NZU1B5Ync1SVh3b3NYdW0vVUdBN21CZjFMbUJVb21n?= =?utf-8?B?WmxBOGtRSWZ1T1dXQ0lLSm9Qc09jQUI1dDNIdDZyazgyM0Ztd0h6dnJBQlQ0?= =?utf-8?B?b2pkTEIrL2NrK24xdEJkVFBCNXhrTmZNRVoveitGRzJhWjllanI3NEo4bkVr?= =?utf-8?B?c3JSbVFsei8yN0prQXNBQ1l0Z2dVdlorVUd2U3ZQSE9RWFpyOGQ3dWMrd3lz?= =?utf-8?B?ZFBYSC9wMXNkd1A5ckdrSVYyd3FtQTlueTRZUm1tL2RhU05vY0RUUllMRGV1?= =?utf-8?B?UGhFcWNOZDl4eXV6K0syT1lyY1U5MXhTWnZLcGsvOFJGSDRPd1ZjWDRsd2cz?= =?utf-8?B?UmwvcEdjQWdqNEZKMlFxY20wcmlpMnpRdGl1aUFUamFtaDlGMzhkck56Y3k2?= =?utf-8?B?cGtVOTFYR1JjOTVLRUV4eFFvOUhXV2dIOXkrNTB3RDJyc0txZWZpbnNyTG9E?= =?utf-8?B?c2tzK01TWC9aUUNDd1o5NDRVYXhVck1Zbk9rQUZrQkFTSnNidDg3blp6Vlhm?= =?utf-8?B?NVMrY3h6NWlsWGJOQVBJdE50L0QvTFYrM1ZIZUtJZ05mNEswYlFtQi92Rldt?= =?utf-8?B?bFhjL055anJFTGp2NWF2UG1TTkdHd0J1RGJMei94WHNQTFdEakZDSEFQWnlM?= =?utf-8?B?NmQ1RitwL3FZSm95VVRENW1jR3ZzRkpEV2JER0Z1ZCtVUWdWSms3Qzd4YU9D?= =?utf-8?B?WjFiUk9Nbk9KY0tBbEFobHZRRzlyTWwwZ1g1Yk5jUnRIbGtuYzRQNnJpQXBw?= =?utf-8?B?YzJWNWw2djdGdEMrbVNSMFlCcENNbVU2VjBMYzhaU3laNU9lZDk3R0l0UE04?= =?utf-8?B?T0tyMTlRUkpvV05TN0VmUFZMMHBHTnRJNVRaekIrSFcyZDhUMUJOZnpzZXhS?= =?utf-8?B?M1hmTjYxdmFCQ3h1NSszTXVsTXNIRXh2bnE2MUo1MzE2enI5WjF5eW1oSkpB?= =?utf-8?B?Z3FzcitMcGkvSnVHZXVlQy94R3dUOUhmRXF6QUhTb21scUk2NFd2U3FCLzZx?= =?utf-8?B?KzJmZTNxQ2plWGxnRHlTOEU1SlZjZkxibWt4MWVZWjRQeThocm1ZTlpDL0Iv?= =?utf-8?B?d1RrdWtGaEs0allhamZzYi9oSnJOV1F4NUl4K1JWaXRwU1U3OG9SdStIMkdy?= =?utf-8?B?ckFFSmpNY3A1eUl0TUNHQjQ0S0MybDUraGkyaGorNG5zL0tLajhpbnRVbXgx?= =?utf-8?B?ZUZSQWQ0NXdxYXBQcWQ2SUtIbHg3K2JzeHpPZCtzWDlINWlHVERHNG8xc21u?= =?utf-8?B?M3BndHlJalN0WldRSGoxT3UzemdNd2ZsRXFySFM5Z0plLzMvYTJIYmNlU3JP?= =?utf-8?Q?hRl3eUm?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1152; 5:m/G63zHDKw0j8Zfh4+LtK7VOyHEBCVFOTDOnD5n97f+97PEzYGqGCattCBgbzwRVeujv7ulPQAkitRcQrOnLopoclppK3YTW6PrWOJECMUOYkliV/7xcAxxXr6l3Jd/WRkKvXS/pxtZ65XtkQcfdvTThdY8occIFxLSDY7jGcCW+V2UeVldYFlfHjFfI2nCzqzAPJ4AqrkJxPQ4qf0fm3jc0QEYnHi5zQuAM8adLitYQGPRJLkjX55yWMlrslDbKLdCMHB53+ZkE0IjY0pGsVl+u+9mwdgiS6kkDVpEMBE4nLzn2h/gyzdrVQzhD2U24QzjaGmr194VbMfOK9n1laPZHWh7jvFypLD6ZJMfGIym9IibPFjN1PxlRlciYCum0KROh5OtXQCjl1BJCcC2547kI7poTGf8xBG2TozrQlyc7QXKDBDn9UOCZhuws/JmWXs0RgNgDOJQbOi9D9uhNyVVpE4hRzu3XtYBnI3+MiOi5CQfib3u8HM09uhDaA2Ev; 24:4SWkgiI/oH3V9wZO76eCU7sLwh02J48yu+WGf2Srw7a6YXvMVHg/O9gCRft/u+aFF/lWlw4gLMv77il7uKjvx9Ll3SIK0wzD8w+VXA/FIJY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1152; 7:XiZaEPwUCUGvS79TDDYNvDtjXUe6QtrSqlHciii1VXhmGwNpyO5UhQxeVIzZCZiiRacQ1+RnwYrLku5BQlsEedyjZUyCkUCz6/3PRwDgaAqZ5MBsBiwmlhHtzjFTwtS95d9B/lhptW6PG1+DXT3fUaqEpiM5xuvbiRD0YRNGDuOdMyuVXT2h8F9meU2nzWv8OIWV4Mzmy1520pxj2DvuFZyZlETQuX5uluqjUS6NtBt3V4RGEVtyvxcxrKvPKgNa0QjK+ZegQV0/UZTsBMOb2ZW/HUApVgaMcZFvVIM6jmWdf+Kax2uqZMhuqTT66kzBgPM49d4d/PHIgPOao96pFHHiVb/YAv+F/EXEJbYWz23rD5MD10AfKMsJjUy7EVjeVexXgEsWQohBX8ClAIvZvr7+TpeIdBcNApb8G1AT2MMDqhxQo31uyNqpNjy7AtwDcuK1o7ExjGKv56QnSvBJR76Oe0tFN/m4wVWuDyl+nqGrvcZBj2dJEtsczjoZxq16ro5iPSU1uQioAIQ5IrW2NHsU83wWB8kHENznl/tzmGAsgzywfg/z3nbtvwmY0s3CFpxRdyiFe36nsOt5bFWD/fP4zCEO+mfOC8rw9+2pXKbiDT1tXx9qC8/lC3Y9r+OwG3rMO1cj5JsQcPdLu3VuKAHf5DqJL6vxwxjCHf37HXow9hKpeY7JFw2fnVio4++cQDNLgwzt0q7zRXwkc+Ts6nyF13BSJJq2PAK73sFJztMvBkjX+16fTR/PL1Q0jFDrx9e8GtauxsZWDB4abRoxz2MUnHnHYPrH1Coa2H5mH4E= X-Microsoft-Exchange-Diagnostics: 1; MWHPR12MB1152; 20:nduwiytLgGg75H3hQxjl9hXtONF95UKRNeFnTGlQwflUBEB6mtIU1GNklnqzDf3Dpaib5fulr1P7StYtN27EMERmKJM8O1zj3WE/FK9oOuX844ZjyEe0URDlsooczECWdKjba97jX+2RTgRNaLlsbUYCZKHotygs0pjTxiuOZGkBpSHg61mzon07XfQ8BHOal8zWCcFEVoBWY5kzKqiOwgjp9LOzF6wQGW0r2beP7KBn0xmgzOOReGZct5L6IfWQ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2017 13:40:52.9818 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1152 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add a function that will return the E820 type associated with an address range. Reviewed-by: Borislav Petkov 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 a504adc..cd266d8 100644 --- a/arch/x86/include/asm/e820/api.h +++ b/arch/x86/include/asm/e820/api.h @@ -39,6 +39,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 532da61..71c11ad 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c @@ -96,7 +96,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; @@ -122,9 +123,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; } /*