From patchwork Tue Jun 27 15:09:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 9812421 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 5D8FD60351 for ; Tue, 27 Jun 2017 15:12:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EFAC828659 for ; Tue, 27 Jun 2017 15:12:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E4192286E4; Tue, 27 Jun 2017 15:12:53 +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 13DC228659 for ; Tue, 27 Jun 2017 15:12:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753249AbdF0PMt (ORCPT ); Tue, 27 Jun 2017 11:12:49 -0400 Received: from mail-cys01nam02on0063.outbound.protection.outlook.com ([104.47.37.63]:64033 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751808AbdF0PKO (ORCPT ); Tue, 27 Jun 2017 11:10:14 -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=3Dqr5I3Mf0/G+9XmmbGxNcRNyUQtUYO512N+GI/ktsw=; b=T4y+HMr8GbV17ti+MVoofHF8Jn1YZMepjPxbuGp3HrYibzI2ToFDG4g7dDFTuoPQj5HwaIi682Zdwsx+p+goJxvkiPHtpCv30ARaR3Q5Ux+KKaFo4RXYr2yDoEXGBW4npOl2avhWrpDg9ikfc6qsavquY12RgjyMBgrCHyh0gPY= 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 CY4PR12MB1143.namprd12.prod.outlook.com (10.168.164.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Tue, 27 Jun 2017 15:10:08 +0000 From: Tom Lendacky Subject: [PATCH v8 RESEND 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: Tue, 27 Jun 2017 10:09:59 -0500 Message-ID: <20170627150959.17428.15703.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170627150718.17428.81813.stgit@tlendack-t1.amdoffice.net> References: <20170627150718.17428.81813.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: MWHPR21CA0059.namprd21.prod.outlook.com (10.172.93.149) To CY4PR12MB1143.namprd12.prod.outlook.com (10.168.164.135) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aa5cb333-d079-426c-7c8f-08d4bd6e9b59 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); SRVR:CY4PR12MB1143; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1143; 3:lbjoQzXT8Pc0RjwBoAfPwn7FCOLnj6dA/400GA6VCJbDmFKfl8q9UVv+ixVI7uicz34Io6MbrE0y3maAtkCeH4QOvOB1CXS6tJGH/Ja/ldVpURS++DiK5e+PHzGypoN3Bl2H7I6uMcyhMJPmBRmMZG9secaV/FL27Ryimm1HyZpfsdiBMiyDauf2XW15Z62DoCZ8SFxDtIzi9hmQG4URjDHv/e3qNAz4FsxzNGPjZCmv4DEGgq4WHyUq5YfwqeSjWqvoN326UxR4pD/ZO3pYxImLrVagHW+e+2uVhCZ/rx7KdHtrfB6njyXqyvHHJ4GvKQpeWgPHojVMSHLeih600JHTAPCTsuOkNrKNEotd97oK+AlPCFXnYVagUgA2s56guwi73/AapowSbrA9KCgZGon0i0p0DiLWujvaJzOze4ZREFL1IV+OAsoNYj753Gse5hN7/Om7tM8DqjOIO1dLQE0L/Duoy+kFKJj4kCYGCdgcUgSZeyU/Agqv2FhLLneU36qvzGyA0YWr9xUP8hL+BaovVFwdEoORZzsWeHht8BdMLsTkaUfLNEFAlmorrrdrv1KnhZAyZ8kK0+EiFGF/YvE2pfq+5kbZFDZurbWLGkkEGvZErW0FxQ3Dj/ZjcC8ozkg4v1gwU+WBhVzJVk//lsbbNVK87I/hdxklm727ESF2G8pZLWJ39NG4oyF2Wnely5InaLLUNW0iQVkCs0Ml4g== X-MS-TrafficTypeDiagnostic: CY4PR12MB1143: X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1143; 25:HnsBju/fBv9oQHC8S7kDfwGXhJSMRQMAmvMXu+4UxvrVS4eXeql+K36eEiexI/eu4gNc7hPD29aBtPqAWQapMJbJbBoFaKnMjZGaTVLrZRebFVbeRe0DPmDWdgfiNJuPtNnsE6m+61bg6iWNCvHRSA625welkJmhyk0AwUvqPsdWPWgdcgv72LW0ng6p81Kmmy4xLjzVgbQP/1kOthUXVmTlYNaPgtZyd6Y3QJk49aGToCoRMpC1U8NL2qPsnAWaJKbMRp7laNrqjgtcgRCphOmC7coQ4rV8ZWmV3UF+UEPxmJAtJMdCuWgcoBmBetMuRCyBVKnbIwueKyB7TTs2+BsnHnqhikXRFm884PxP9gUdx/Qj5KKLjE/w5nhXYLMnoGtoFePZP+tH6cAZIAL7KJ4hOzOpPmbHAXhOcNkfH02rRr9H4KApwnGj+4sjc3z7FttOTyfIuM6vUjeEQtsEX89sfFFqXSggvP0Ql+FQY2u1Ss9kS9yjL0doxH+MoObPk6nk7Arx55FEkVd2iVU6C/3uKMLwG5mS9FZ/LN06oFiK+OIAHq8FC8EOKKqw01rVLhOcv/EIAYCh0nrs6AaWxOCGNNWWrc/M9DNMK87ZUzGRpzQJQ362Hhcp9FAhp3AogEnUVTluU9Dd5aH326fbGDywYX7eI+j4y0iy/TVX0nfv2KBxPf+/T5Aj3Aeulw13hDKNqGzQuRYq5htXNkgFOVVaI/ONE4oJ4io4vk0UbWVVOf/Mr/MARDF/aYch7XTKOTcvBwU7M/mku1sl0iUENMVA0700Po0LgUq2aQ79TPLezVYhmV5+Z2bvsojp3DWDphWabRNPFV+cNNvkx9Onmt5Y5za+rdCM0n+IDFeJmmnBnYVn5yD2xGs+pJvpQZ5rlmMa+8uK06nIm0j1fGTGcI/p+vrcEbshpMuU/IXC1 UE= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1143; 31:dsqh+lvIS9xkJj3I0Z+b9XronCaWjLvGdtCjPx2DX88Sr4tOV10Vwi0B4DHVU9BMm/3gDYq4P0Q/y7719EJca4Y0gM0bKKHcFHwj2jgH7UPkl549yKx0mHENbpeQSxYMealV5GRVBHZqk7nIp1fmOVrUKm9XsN7Ek9iRGtioZwBteS5zf1kMToD/GwPT5Z+gNUuRuhpG/UYd+6K5UUYycDP3zQJPMzZT9yvqQ4YjlJjhjgJCXVrR3mz9cmR7MDRmnL/3mZIOcZBab+FKdB8aiEi8+V7OfXVXvGVY1jeuk+EDqYIrhbKeW4FnIHSp6uH4UewFQyqNZglR1wpbHs3ZFYdNx9wNmkzUTAQdJor1U1znj1ooUL4knF7cp67ppS5aTnmJuPTmht3BdTBjdL1LurZmQ47Gqqy9gW12pRtH72uHRVbjQFZQN6vE2zjIQJD1Dn3KmOS4iM94CFUGPTAmzKTra5Pp4nxgjd0rqbaaxeNth5GeuzYTuK8rxgITdwN8QunI07sjjGQhezMxevZ1acBr8y+EFujPSZX1fohGzh6N4os8MKqXIoFwqA52fSrLax/JcobfcmjABV2Z754FXptZyupy/xYvv/92oI8HX52FMwiQnkOQzAVu64XAs0JgmI7CsAyrbRIZauha7jD1MjTsk1ojqfXp0TurqDXWpVU= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1143; 20:aW12EjAPlO67XuFNLz68brdzYOKdqvwSR+fJ3TygBGJTjkpzOrTBtZVYTrF8Av4a6b6NeVDhOVpOwaYKDbyMpvAOPVgFpwYYvsW+PMPOMd7mOclke9+G0daIhWfxWGufixMBuIckyONeMESBU6pyu3Qh6paYIYV75YzMH2q4QtOsc0vqmDQyRAPVGkVP4k9e/OfTLue8RI2TFU7rqbCodIOVDXoUax3S1E7lhrBwFzwxIjZ0vAwHOonuY6UeBvYBVEwU3TjZYiEuPNdJJiX6RLeHYBiLNsM7UqP/SJy+QxTGknb/BTzUdMLQdRYnYdprwGfszfVlJivwGLoe7bC8bkIPOzkvh1zV4bv59sVypTbMN3WmCLUxHJ8BrQcek7+hdDZjExjNapsdWpvumcHP5jTxT1mI6K54ddUFIUT7SAyse+Ps1cumOaH/utL78acM5Ic3Wto/oY5mI9AKeyShAep4sp09i5uCgqhAMMCn18PIdLmsuuCW3yqhzai9AvS4 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)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6055026)(6041248)(20161123558100)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(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?MTtDWTRQUjEyTUIxMTQzOzQ6aDdtRFU3Rmx0QnRmVWE5bnhUKzhuRVJYS0tx?= =?utf-8?B?ZG1FUXdEOUo2SDVsZFlZSWZSVk5GVUxsNTR3VGxjd21aMDk2bHQ1VUtBWVAx?= =?utf-8?B?ZGdMajZ1RG4rWHNUcWFZdTlEa1BLc3JweER2UVRwT01EeWFHc1hJSHB4QVMy?= =?utf-8?B?STZPcmtqd3BLWFVSSmswSkNqVnJLeW9idGpWMXpqWlF4YjNFWEQ4NWNGanJh?= =?utf-8?B?NXh0dXVodTJQbHNzaG1sWW1kVVJDWEppRkNta1VKZHBNNmRmM00rV3owWkJU?= =?utf-8?B?dVhXNXRjbE5GZ1UzSWFiWUYxTjRKYXJuQ0JjUzZrSG8xdWZzSUNGVEZCc25v?= =?utf-8?B?L1JaSktHaVdiM1JmbnBLK20yR0ZjeldLSW9ESHh0Q0xZWC9WVFFPZFF5R2xR?= =?utf-8?B?OFp5aG9kcncvZk1yQnRVM01lV3NSZFE0aVZZei9LQ2R2c3dwYmZmdWFmdmx5?= =?utf-8?B?VEh2MGxTaEFaaVhRLzNBUlp5OUZXdjNxdkd4LzY0anRmemJLaCtFV2tYL0M1?= =?utf-8?B?R3VLanh4NE04dDExYzFjY08zZHoyM2lkaWJNOU1BelNRcDY5aksydWZmVmF3?= =?utf-8?B?YTVUNEtuSzlQd00yZ05KZHlEMmY5NzU3SnlKVk12RkthNmFZOFdzbmdqTXNV?= =?utf-8?B?RXg5OEF1czNvRVpFSTMySktOUkhoR0J3QWtDZmI1T2U2eC9lMGpWWHpIejNq?= =?utf-8?B?L1BxRWw3UDJyazUzSW1NWEhTUmtSLzliaFFlZUQ1c0VkTDFaOUFPbG14R1JD?= =?utf-8?B?RWIyWU5peXY2cnhySVJVTkhReHFaT25VeVBXazJvazg2bHVac0k4VDBVZGZX?= =?utf-8?B?d3dmOFAweHMxNHdOT24yU1dLa1Zudm5yYVMwTm13SmVKaUpkeS9SRklmV0U0?= =?utf-8?B?MHJHM1JQVUgwR0JkTHVFM240aVdOQlowakp6U0pDcUhvbW1rdEhUbHcrL29p?= =?utf-8?B?S0cvVXFXTkZ2RnJwNGJvemF0V255YkJ2VzBGN3ZqTFM3aGQ2bUFtZXlxSU9L?= =?utf-8?B?RkhVTUZ4eHE1dmdaMWNaZWxYNVpCS2RteDczUHIzaC8yQWRWbW8yUGd3YlBY?= =?utf-8?B?WVgvNm5yWThKTkxURTE0YXlsM0ZiVUxHaGsxenVCaEZEUFN4UEZLRnVrN05P?= =?utf-8?B?VnpOKzlraTFBci9rQkN2M2oyblNrMmh6LzFHNUR5Q3l1bVRnRlVMaTBnZVZD?= =?utf-8?B?Szkyb2ZBR1RIMm1QRnY3eWkvZGFpdDhkVmQ5SHhPTUpSTG8yemVuNUhLWTNi?= =?utf-8?B?SklreDNMaXg1ZS8reVlGYWJOREl0cEZyajJ3ZSsxeGd3TUlCQ1BTMG1ZZC94?= =?utf-8?B?OXNEQ1Fkb3N5RUlsTENlSWo5ZkJKMDJ2SXhZd2ljMWp2Um4waFBoUEVSZy9U?= =?utf-8?B?S3BPRDQzMVp2ZlRrN082d2kzUExhSU8zNGtkZlJTMWZoRUNiMm9PQzhjOG91?= =?utf-8?B?T1JBMUc4MElWT3d6eUFjTlFVUXZmSE1ZU0VRRkNTcmVhd09ScU91cGZoZUN5?= =?utf-8?B?TEQxek9KR1FzN1doUVhJdS9Ec2N3QjFMMVQwVTZLVTZlMkFBdjRDNU90a3pO?= =?utf-8?B?a3hBcSt4WnRBaHZlNXo3dXBxOVN6Z3Jta2E1YXd4MTNnL1pTMFp2RlJ0Ky91?= =?utf-8?B?VXMyY1FrNCttYlR3UURGZnc1djMrRFMvMlpjN0JWQWxQeDBTMDE5SnJkb2o2?= =?utf-8?B?Wkl4NnczR1lERURYOUJTbUliSFAxenJ0ZzRpaFNGbzZ6aGczNnRqSjBZWWh2?= =?utf-8?Q?aehk9IW6hIJpujWKavC0oq6uOwRc0eYW7wac=3D?= X-Forefront-PRVS: 0351D213B3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39840400002)(39450400003)(39400400002)(39850400002)(39860400002)(39410400002)(53416004)(7416002)(4001350100001)(25786009)(42186005)(7406005)(8676002)(2906002)(81166006)(4326008)(189998001)(103116003)(66066001)(55016002)(54906002)(6506006)(38730400002)(9686003)(47776003)(23676002)(110136004)(305945005)(33646002)(53936002)(50466002)(72206003)(6666003)(478600001)(3846002)(6116002)(1076002)(575784001)(83506001)(86362001)(50986999)(230700001)(5660300001)(54356999)(7736002)(76176999)(97746001)(2950100002)(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?MTtDWTRQUjEyTUIxMTQzOzIzOkxyNFQreEZzNzBEWnZpdWRuZlozdno0ZFVn?= =?utf-8?B?ZlVlRkVEb2dQd3AwbzZkVXJ2SUh2ZzkvbHdBV3dIWDE2Qkt1QkpQVnEvQWhR?= =?utf-8?B?bkF2OTVBb2VTTE1aTGlMVGY2eWQ5ZUI0SDhlR0htRHJpVmxBT25yL2VNbmx1?= =?utf-8?B?NTdRTnNsdWk5U3F6VS9oU0pEdm9vbFdXNHp6YTl0MXVXRVV3YVJlQjJiQlAv?= =?utf-8?B?dFYwZ3ZVQldIWHYyZTFsckRmY0djekUzK014V0l5YjFPQTBsUzJWaGU3Vjl3?= =?utf-8?B?Z3EyckJ4Q0FjMWphR2Vjc3RlcUJOY01zSmkyWmw3LzVob3Z1YWRnS0hvbi91?= =?utf-8?B?SG16a2FRZFZYMnp0OUhYZWdTMW9GK3BJTEViZkpQcjkxWkQ3QnIxUDFvbEs5?= =?utf-8?B?MHVRN0JFdnF4bnBNRjVqbGZFSzVRZUFob1BUcjhhenE5YlRNQjMrSFlrYXNi?= =?utf-8?B?aWNPVE95eER6QW1uSHgyU3FlMDQrcGhxdk1pWU55TktNSi9xeGllazZwVTFX?= =?utf-8?B?NjArejlTMWVRaHhXS09QZTVsQU1reS8zbDhTMk5MRVBNcVgweHQyUFNsTlVO?= =?utf-8?B?MkUzMDNzUDBkcU9QVHc1cTFMTVpRaXV2OXN1cGdaNHRGcGRVa3M0RkxhT3Q1?= =?utf-8?B?eEcvbkFUSkRCM1N6dVRGVTkwd3B0N0s4bTBtSEZaU3RweEhhdzVTeDNzZDlS?= =?utf-8?B?ZE95enNhZnJQSFY1bUJ4QU80QmQ3N1hwT2pyS3h1N1N1aGxMSVJPRHZzVlVB?= =?utf-8?B?ZVZJWHREeVMzRHVvZElaS1dua2kvRHFJVC9ldkgwVXEyY21OQnVYRnYxdURv?= =?utf-8?B?eWd5cEZkNFN1Z2h5bDRKZzJJeUFrb1VsdjB5UEVJNnFuMFNlNEtZb214eFVS?= =?utf-8?B?TkpXSWRTeEFjQmE3enJKNm1ZcXRVd0g3emhCV1BONTJpRDlRSlJHbGUyNzVk?= =?utf-8?B?UGVYbnhtZkgyNDNhTjU2cnZWVFBYSzZEaUk5Q3lLU29kbUs0bU9UWDFtNk1K?= =?utf-8?B?QUo3a0ptVkxySkRsdDhLbXpiR3dBOWtVMTZaNnNWV0dlR2dQLzUwNEY0b281?= =?utf-8?B?WTFHMWN5UXNQRVdSdytTV3J0MlFJdStCUzNvNVByamFNc3duTStmQURzNjVO?= =?utf-8?B?aTJqNVlpTUpjMWdoVVpYQ2J5cDJWWjl4VmpnMXZ4ZUVObnNoQTNVdWZQbDJ4?= =?utf-8?B?UDRsZEVQN3Q1enhxamVPQXUwSVloZDIxeVczTW83MnFNMkpwVTZ0QXJwM3Vr?= =?utf-8?B?UXBmM3RDa1JyajAzSUFYUkt1V0l4RW9DZUlRNGE0VzlMNXQ3WERwV0x5S1Fu?= =?utf-8?B?SGJYT3R6VjVLcXhtRDhtNUdZU1cycHpxeGJmNk1wa2NVakh6aHRwT0dtZ290?= =?utf-8?B?cHU0VzJQaUNTOGkyZWg5WWhnZjZ4RFZ3Z3J6OHI5emNxRHZid1Q2elh1TmZH?= =?utf-8?B?aHlqTzhxdVZyU2JnTGNtbjdBTGZseTlYOUlDVnQ1Sy9kTFY4UXRyajJlQnY3?= =?utf-8?B?OXYzaTNaVGF4UzVXZWN4alc5UFFDS1lvbjRlSm1qVUcxREo3OFJJK3Z0TTNz?= =?utf-8?B?Z3JUK0tyOVltSVFzSzdVTVRtU2FlbFVtNzV2WXVFZmhhSE8zTkhjSU5lc0Uz?= =?utf-8?B?ODBNQ01wekJzZGpwYzUzTW1uSEdTM1YwYmhRaFFwa3BkUTJyWTlYYS9tMUxi?= =?utf-8?B?RWF0UHg5VnpQUS90N1dXM1h6eGppMnZxL2xZRDNtZXVDK3JjMmFiK0RZTTZh?= =?utf-8?B?UXk2ajl5QVVXUUxwbnh2dz09?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQzOzY6ajVKUDJSYWp2bEU0RW05MnJvUzlJWUdDdXdX?= =?utf-8?B?S1ZrTjhDQ0RWTWFHbVVSTmhnSTY0TUVJT00yK2hac1dRS0lvbGxteGs2NW1N?= =?utf-8?B?NmdIbzErNjFOMHNDczA1aDJ0Z2VxOFYyRW5uS3ZKWTgxSEZDa0NMU1dZWG12?= =?utf-8?B?bCs3TWNIOXFJeW0rRzlEV3kzY3RQRUlHS1BnRno4UHA4VFZWUm00NlRLdXNJ?= =?utf-8?B?Z094OE1WMStrRGgyei9ENndzTzBHemZGMjN5VnRjRlZqN3F1N3BIc1ByUVQz?= =?utf-8?B?MXBsY005dGtKMWNTMGQyNlZtYlZhZjEwSTB4Nk8xMTVKUm1MQ2RNc0hrVkwr?= =?utf-8?B?MnRyRFZ6RFp1UXhVdmRNUi8xZkcySE95UCtzOXhmYlhnMC9KS0VDVDI4bmQz?= =?utf-8?B?VFFSRlFFNGFiWVBGNVpyU05RVW03TWZuMjVpVVVrSkppNnFCT1lJSjVwRkxy?= =?utf-8?B?aVB2VE1wVzdsZWc3OTdib0NkMXd1TEhPUytuOGxsYmREcXYxWmd0Mktva0Vt?= =?utf-8?B?TGE4azJETmdYSWRyVnc2TG5VWnRqeWJEZ0VEczJtK0k0Skd0UnBwcUtXQktB?= =?utf-8?B?cGNpbmlpb0NFZVRuNGNPeHhYMVhmRktPWWRXZ2tQaHByOGwwWFlVWkZTUXZv?= =?utf-8?B?M2IwVHpzSnNoNUpuVms3L3M1cS9NRDVBcjZpbkVFMjlQQ29PYm9ySm80UTJK?= =?utf-8?B?OURab05PRkpBc0FPMDJHbTdMVjZxa1M3bUFDTU0vUmc1Uk5tbC9jeGdpbU1M?= =?utf-8?B?NzdIWHU3S1l2ZG1UUDNtS1lVU0VHV0VpZ2NuS1h3SlpmeXNqRnE1Q25kc1VM?= =?utf-8?B?cFBiZHFObkM2N2pwN0VDdno2UjI1emJLaE9OUitJN3AwemFFeitqV0w1OGl0?= =?utf-8?B?KzJuMksvanJTYWsxYjNjM0xkZG45a1dWcFFzVUU4VEVzRmdmbndaenU2emJz?= =?utf-8?B?MzVCYjcySkVDSDM0N1kwbjkwb1QxQmQ2R2E3emtkUHJvWGMyempUMDVLMmYy?= =?utf-8?B?bzZndHkzdTAwYkRnV016UUVLY0lQZWY4VmROZmRodnBlQVRJdllNb0JDWlhP?= =?utf-8?B?RUpnRkZ4MDJOZVgxelVsUlZBMFB6K01HM2pKbDFiTlFWVXdLVkVCVmI1TlFY?= =?utf-8?B?RWkyK2w0M2Q0SHRJZ3lENG94V2xtdWtXQjg0MTZCdy9lRFpIOERtNG1QU0lZ?= =?utf-8?B?TUZiVVVjeFVqNGVoQWpkQWVXb3pEMEhPUmtCZzJNbVIybmYzbmlpeDVYUlpI?= =?utf-8?B?Q3Z5WTNpOXlLNHRtMytYVUJjQ1NnejhWMjE5MzdieGFSRGlTODhNQUdlb3B1?= =?utf-8?B?eXdMVDZOQnBFVEVVTkwrZlNzeFpGQytlZmNOaXBpekF0byt1TGNaMjV1RVZJ?= =?utf-8?Q?8n0eraG?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1143; 5:/BrRYu5YKmCws8UhTL2DLNUFFttLFMifxf72rWX98qp8930nFQKvkAqVZnOWkORLQxFh9wYwUOAuaW8rQqqOZVw+BgAnldnpL8uwJSMq+F26djrTz9ZN8Fqz3U+eEGkVBRe7JY/3s6R2YIu/10X5VbvcgH+SqfHBM/qD1jV68QeGAFddyZpx+g+7aj/icVFUeuIgfltuT1PYqn43S/Ew7ctpi+vMk4MKx/wdQ6NTbTB+z6fly4BIqs1OtJKdWh68ldOO8XKgCfSAX/7ZDqgA3aoeu5+uKIXN3BjiRk2fhQG/Xcv6dwev5XfHlREB2DU6Hq7msG8uMbc+CSwUebDmx0khTv0jxIz6kz3p6Vxbt/22R07IV/gJJrfoxfsjU+bDZcGOnFLyrMLNstcelHeF2cyQUwz5TzvZBIiWQk9a0saJFpIZhAVAVuDbTkInCr1wFzV0Hcmwxe53mSvhGLQFXGS3j7O1/HxZ6sFcv26rWfZZwPSuoA7jwreYWdhvL858; 24:zIc2X4Fy7ZjyhtcTz0Jem7kwPVcV2z+LLcTkicDEGo47/N1Y0yiUhKB7fYPf7bNnoYm6fUxctmb7j8YRbeXT22ahiRF7ihN9tgTGQNKS8jM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1143; 7:3zkTUMVCJJCoOQVDOyNdnH30YZYwlZZ7tsrY/7RM9cTAkxYiCPHduLXY4+vWFMDXgt7TOPw7K3W1NUWX+iK/yu3X0402rdN8xp7x42WCCYLQb0EndDaM9/JKx43ZuM0pWwinhwRzuqih8gKPT42m7pOTjSC0+tdI0+d9ZBlh9pIqStE1mwgm+/0X2QwfZJZYJhsnNsjnJGIAYqHUB70D/sKmLNcylkMKvG6iTLTAM1LHeYuORCzKgm6yo2HwaqmrvX/rKYjTJV7//heULzF1aYsHktVd1J35iRyiRCJmZlni0bitle/rqTNKDSP/kQc7btodKOU/vl1cBZYXP4YbJFyiruWlTHvUsLt9g9eoHgVrWrnUGOIg0lAnMDRnLA4rgcJv/c05J0pj8bZx8T38xwkz9wSBy6Ed8t1Pij0qb+SSIHhbKYOe4vOJEzaJYHRbHhMFqYnD4hulGjRMEfSe4A/FkiAJ0SHOLjm4LRePKt+OGElmM7mtV5eGO/EstGgdhuAMI4i5XrsD5IzS/eDxNKrLFvLkj8qAq9hlMioCqvNQAwoPZ0mzM6ODqeeF8rqNlqKcbjEBftGNebkA7oL33QVqdoSLi2mFPX9gup7TnIjP01GFHRTmllSKLrpUm8EXRHvwwbwUuAB8CtMvWMvPq0TUJTa73QC2AyzIE+09u+EnVw43/0B9cm4wufRTngYvMqoxXNy7Bccp077og/YMS01icRA4NBhewU2Kt5YpMC6XqUBEA0ClK8Si0gdvlojreNC7Zl1z3sM22N82nDgEJHW+W7zyHvc6NyuPTJVZ0+Y= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1143; 20:Z+0rL7jYOaWGlrPt/qvLkxrWyGvxpyLkrva7Mc8hVouCIWP5YeY9SLM2cvMuJG9pEoBLsFAWhlSRB0DPYl/OcPgH0b7kZQS1AP1+2wD2+iXct2H6TdnIzv72WlzLxHGhioCDMMkiB057YRtb5XQNpbgEFwAQbW1kjnXVcU7xXlsrWtQmUFmqTSc1V4kmdE3vL4vPJf2QKqa4hD5xTjPhVUvQqM6yoYDsAZBk2J8WH9ur7LYMpyiH0c2LCmqh6l/c X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2017 15:10:08.8811 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1143 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 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; } /*