From patchwork Tue Jun 27 14:58:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Lendacky X-Patchwork-Id: 9812145 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 E367560351 for ; Tue, 27 Jun 2017 15:00:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D5278286AA for ; Tue, 27 Jun 2017 15:00:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C8AD2286CC; Tue, 27 Jun 2017 15:00:15 +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 A14A9286CF for ; Tue, 27 Jun 2017 15:00:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752249AbdF0PAL (ORCPT ); Tue, 27 Jun 2017 11:00:11 -0400 Received: from mail-sn1nam01on0057.outbound.protection.outlook.com ([104.47.32.57]:48928 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752253AbdF0O7O (ORCPT ); Tue, 27 Jun 2017 10:59: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=jxsCkpoHc6KMmmr6VrTszH18wcmUoZxFhRBU1Tjk0q451a29Jyfl07opQC0r2R7/RoqA9sSFdzc1FM9Ow4gexgshts2w0jHNIdfE/Yy1iV9Vt9+cH+92rx/o7XeECz6jNV2YFLM1E4vA3lau9KH5csfd91HnIdaFnVuLDVZ0vvw= 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 CY4PR12MB1141.namprd12.prod.outlook.com (10.168.163.149) 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 14:58:57 +0000 From: Tom Lendacky Subject: [PATCH v8 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 09:58:55 -0500 Message-ID: <20170627145855.15908.1043.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170627145607.15908.26571.stgit@tlendack-t1.amdoffice.net> References: <20170627145607.15908.26571.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: DM5PR15CA0004.namprd15.prod.outlook.com (10.173.207.142) To CY4PR12MB1141.namprd12.prod.outlook.com (10.168.163.149) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 95e27857-c909-45de-aeff-08d4bd6d0a18 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:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1141; 3:VhaN2x/MybcA5Kwi0MWqWm1Z4BFGz5xX8PdFo5wJ3RCuClSlelUjyn9bl08xyPvtpVRqYT9c8nB/7YrRCVKOsKBYr1KC/lBwt39pN+G3difFKLmVLxraiEa23J6Wd1EGZMB7DYqe+C89kjP7KtjWLhHhsJPU1oyGVDbjjmpKTqj6We5AAal0sCtd71tdVhpH+Q2uwQKDw5Qf3TN7nsxpyu9y2Bk2rDCFJkPqqYS+3sDArApBsxTqr+iuZa83fmTgdZQdM0+ct2tkK2KuT3mUb1XdY/qURW30V8ttTzglCOSy1+jovb0KRzFY9nEwDTev1uyHDWvsoMqjEOgkzGsWsuTjQBcjtaBOCbx+1Wf4KxO0sqULRWo2XSnxj8khOfv/pPFvOlM7RRWDtUP2iDms9cd5BEllp0cIuon6lV9FDfKZ9AP5HpGfbkLagfCD34hwZQ/WDlYbcLRSuANcZzXZ71QWdNSZyvGfzr3etwQIqc4YWBNo19VtXk7PGKKbovgxplCTbfemZUZ4XHbBue4WIB9NA3U4RE3stS2ibAyzhKEhlOfSnqg3CzZ0bqoFPoK5aRCPqCM0tnch0Oe+Tx6qyFTG+dsUBC3PoDW9CqDvINLXeHu7creb5MX17sDejT+fPp9b/hYPBB5gr7sJ/rbwaHQwbw6WmKcLxdZq2cXuHhS8CmEvDIHdZNrWcGeoI8wvEtDrORbFw6AzsPEqAaGlKw== X-MS-TrafficTypeDiagnostic: CY4PR12MB1141: X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1141; 25:u9QV5H+ufXk0+tLP3BXMfFYAB4+rybHqZg7RJEBbFc9wFwvyiK0aJNiK0StGUXhk3zu/UllMc1zhyMzMGn8KZClLimfPHqAPL5z/DOuECtTdYAHBvprX2GnS8iSCBh2UMU2spXvsZiFxzvF5u4+L5FObqK15gnfCZUK1KwepFh3AioQGMJM7jd80uEfKAaMaVMcq8zzHyORZRIvMKUP2kXf2XzB0XeVnu5qDLNKDAZHYy2880wXXawajA6STi7vn2FZnP356qBA1w08pKb+e4VVrLjFLwFA6O61DltReEMPW6V1myjbZAX1WXffSVM9FBmvsNt9tpphLS6p/Njn8m6aU/SnsnY9HhfHKf5XyvwiYDgJ0WZ4r53F8OtWNnd+wBBmSlcFNugowagOuWSa8Yl+wcAo6EDzFwIokXhwIpuelRTCSHtqaRa6iIZgUOTvUnnmoVLfh7eHb+5uTNzfEsWe47Jpss0I5/kgzrpsMJRsYq7WWY5lybcNBaHoiAJOTRV1H/uP7HrKouTKgz+VUzpFwLYejmzutzpC/Y0n41lfm9UhJv6BhbNNlcVVLsBhSR1sWq/HNt7tN+zbqpsZNLUk6FGK3Hs9XzvW5ezKfIGfO4x9VKlH1DXCnHxhP7hOs7H+Koe0ZrbMb0S0h98SZ5ojcCdcLEmkG+C0oRqHoXlmirFn3WZPNkXMjw6fn28SQgxodypxoIIXkpvqU/R5/JNdZc8j9Xqn9yjpi6ucmremFP50OVlDcPsR51jSeECbx1FJYq9PCQ/+SORGCG6WAsis1IPSXuX8jV4DG5gOJPn+lCZplE2U8iCyn6jUUGuumXi+ii7XTB/KUjPa/lEPc63eesR26woJJskGTOhNmxiyZf34FY52aezeO69c6Uw+7Co/YNA2zBSlRUvCz9iF9uKG4Z3lrm5LzdEqbSPvcT KY= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1141; 31:tH1JWkDVYuNqdagsnzmWBsFUZTeQi3LhkbFZ6M/yo0lTd5eKEjGY2KQ6il4FqHAJglPME2Zs0latwrdDgemN5YwjC8s42dScBMTEnDIP+AXU/wjXhujMftts4pbb8jSdht4pbYa+iSdusRHvUy/5ctAwwlNMMmjTi4TbAfY97R8SLcLzxJK7q3k6cWTJzrrVFuSgzXOjSIcHX5zSutYrEbUcmcSVWCBlH7k369x3hUyJKKv5/V8U3aMPWjlt8xJt6Zugv8CFzbiZV4tDOW1WnYPv8NlXILWrT3SXXb1P7Ez6hKvtEsI67F0dkvntjxy/svzo8uGPUiM0xobSjknrkOEdzsSg02Z3Wxn+H1DOFel01RM+LhVV3SkdyHAFo3ihrb9P5eQ9jArquD4Hg4h7xyoYljSwtt/8G1Kr1HCPiZzWoSF1TeSkv4XB6SIEuph0lAz2ZwAQHeURhV+0ZU9XAEhV+VkhNzyKc20Xg7DyiFkrFUGdgt2NLpZ9s3vwDtT/gh3I33Jc6zwqAnomwTQ/mAivepZhLDJ09j7stU3HaOV/mm7LwztJPWqRuAXJrKzvnnrli8MiX+Zdmz/3+ZPnLnUyqwyu/H+Tby/Uo0wbyj81DEapJyUUjO7rqMfLPck8o7Z/vPNOujGGNrqf9sZ3JGcrXUxLGv0t4298ustfMZI= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1141; 20:3GrK4zryD6A3gZgh5W1hwMM+W/RcqniepFK9RS/wWPh2oIynId0lvrwvOlPePcMEgnoSDH/Afv5MrZnynAosSeZjuIiUs7bvKQeHfuH2Idu742LYqNqdlMYkTju82S4zKN072Ju13xZbptcVORbOUZ8HLcf8TGnSMMO/IUFppCN+LpvgOkACTYSKHTq+mLEY1DDQ5AN/ZI+pshLVZL9CbkyH2GiWugWOCgN71QoMFTCVJF39yfGDWEsHH14vupdttoGohhdroR8VDTXZ/C4f+QH40bpwd6O5GewjknA27y+2AGHRH6OIPtni2CMO8javgAJml0/Z+B2C81SCVsa5XP/rkSCemTXslESnPPq5EAv105mO7S7jp6HacDmbcPzN2ghjbZketF7R90S8+2xEIu9f7b8o00lTUcUdYbjdz0VWupGRv4ztozFPJPxD37y3KuNw/SlP+gAvbXytp+0LiUFTW8o1F8tFMxSzAZiBjupLD4uN2LSdZDTCm5PSWcGL 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)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR12MB1141; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR12MB1141; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQxOzQ6YWJIeVJuS3hjVEtRdmkycWVWaGVYZXM1MUI2?= =?utf-8?B?WGpYeVYwWEdCSVpRempac1l3SG5vdGJ0NVlaMGlqRkNZM2dwYmsreTVIZk9i?= =?utf-8?B?c1hkV01aZnVhK2FPV01xRGkyNlFIUFd5WWxXcmFwcHhRd0QwOHVnZDVid2t2?= =?utf-8?B?Qks2bmluSG54UE9tUmRzZ1pPZ0VvOFRIV21mWllrNkxVZDQvNzRwdTUwT1Fi?= =?utf-8?B?V29oWllKM1NRdW8xaU1nK1RSNm05NVFIcHRleVdRZy9HNGFqTTJERndhdDFv?= =?utf-8?B?TGhvYnYrbnZWTzg1b0xBZHcrME4zNUNwcnd1bENUQjg1TDF4THBIRXdKUldm?= =?utf-8?B?M0xkcGpwN0YzY3A0UC91Ti84eVdJc0pCZ3BVSEIrblExdS90elMrN0pTbThP?= =?utf-8?B?bEk3K2pqVzc2L3ZJaFlHUUJPeEVOOHNZMVh6eEt1Vy9hM1gzc2tFU3Yva1ZU?= =?utf-8?B?ZXpjSGtwVnVKdkM2ZzQ2WGhMbFBnZGRKTTR3SlY4MmhrVXA3NytLT21LQW9k?= =?utf-8?B?VEIycjhqbVloTzhLVGFaMlZoQzZIRS8zUVp6d3JVSGtpT0Q1Z2xmQXcwNTR1?= =?utf-8?B?bTVURUtKYnArUXo4QmZ0UU9na2F5UzllM2wwTGdOeVVITUxFNHBZU1FsMDI2?= =?utf-8?B?aGlBQm1vMU1jYlN6dGJuc3A3NmdjRXcwYnluWWRQMGxXRk52V2lrSzl0K3BQ?= =?utf-8?B?bmxmYURScTR0dWJ3enhiU2xpbFNXcS9DcUtKcTg5VGFOTUoxYTE4QjYyclZO?= =?utf-8?B?NzlETUZXVzBDdFp2bjJtQjk5WG5xMkc0M1pNZEJ6N2Q2RzQrN0ZXZHM1ekNp?= =?utf-8?B?WlVESGxsU0NEZTJ3MG1mUmJNeUhvR3VsVnRkVXVBajd4Q21vU1p1cHJ6Tkov?= =?utf-8?B?dnVVYjZHZG1SNzdobExKdWtIV0Z4bFQ5cGtkWnI4QkZtSzlBaXJDZit4b1Z4?= =?utf-8?B?WGNTdWxhc25hSlpMM0tJSXpOVG54N0xIdDIvWUFBRHRvNEp0T0hBWHdmenVX?= =?utf-8?B?TWVOYngzblFSbm1CTDlDbllzWTcvZWd3OHlSdjJoNmd5T1pQangwRGpEVFd1?= =?utf-8?B?SG9TZjFiWU45NjRYYWNjY21sNHFJamtBSlQxcGc1RUw3RkZuVzFQVmhRbERL?= =?utf-8?B?OE42MmhWdlFiNlV5NmtxUjFBckVIWFhhNUFDd0NmQzgwbDl3TUFlTU43Z2Nx?= =?utf-8?B?UFV1eXpuVkxRUHhjSG1mTUFKNElBTkk5T3ZWZFJIUUpuU2cwOE54QVdPRGZw?= =?utf-8?B?ZjNoUEg1UGQ4SUhEUW1ScnpjUHRYYm1uQnBuU09QWUdLcUdXZWxoRk52b0Q3?= =?utf-8?B?dVF1SGdpcDNCalUxN2Ftd2t5eXp0QmJIeXJWcDRycUNnM29VUlVZNHErdGln?= =?utf-8?B?K1pFRlRFWjI5NEhDNEFTOXJWQ2g3SEZGSnJMYnA3VUlwNjJqaWFKeUgyRU4x?= =?utf-8?B?T3hlNithaVNHRExkeXgrTCtoSGRrNFZMZmxVbzNqeS9DRU1oZFJzK2FBRW1E?= =?utf-8?B?OHpFNkxzdmJWQlMrMXdnZllFY1o3SXBpbE5JNEpoakZ0M3VPbmZsNlhQWTli?= =?utf-8?B?RGtIV0F6MU9MVFpQNmlhMlFDRnFNcHdoVTE5TG1xUmhZMW0vWFZ0T0Y3OC9s?= =?utf-8?B?NUU3bUhCVmE4MzQ5K0NMUkZFK2prMzdTU245Zk1oME1TUThEVDcwVVNYZVpt?= =?utf-8?B?WXVCWDJJYnRrTm9JWGIxbzlsR0ZBQW55STBTcXFJRHVjd2dwUmMxVENCbEEz?= =?utf-8?Q?TG7btDW9Q/sFmIWFgcNP7Fqfy11jCya9taA4=3D?= X-Forefront-PRVS: 0351D213B3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39410400002)(39860400002)(39850400002)(39450400003)(39400400002)(39840400002)(54906002)(9686003)(2950100002)(6116002)(55016002)(83506001)(110136004)(38730400002)(2906002)(54356999)(76176999)(23676002)(53936002)(8676002)(230700001)(4001350100001)(478600001)(25786009)(50986999)(3846002)(4326008)(1076002)(189998001)(81166006)(33646002)(7736002)(103116003)(42186005)(66066001)(47776003)(50466002)(72206003)(53416004)(97746001)(5660300001)(305945005)(575784001)(86362001)(7416002)(7406005)(6506006)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1141; H:tlendack-t1.amdoffice.net; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQxOzIzOnp2bGg1ek1MYURPWUo3eFl0aG1wM29GYkhj?= =?utf-8?B?T25HdDVMTXVkZzFERmc4U0xyRm1iSXdSUnVNQzZrYmJNeW0razVST2k3d3By?= =?utf-8?B?T0VNQ2UwL2w3TlhSWGpLTmdQLzdEeTJDZytqMGxRZHdGcGN1ODdRc1haamNy?= =?utf-8?B?KzVpaS96MTZ2L29KdWRFUzJ5YnBkMUhRb0FqaEQyUG01cGlHUG5BNmhmWkhq?= =?utf-8?B?bUN5dS81ZjhHN1NDVmJVdlFHTytRaE0ydThIOHFoMnltRUFtcmJtUmt0VER5?= =?utf-8?B?MXMvdXppakpweEw4UjJIL1VHMkU3RGFyQXBObDQwRGZVMC9lTUhVb2pRZHdu?= =?utf-8?B?M29VeXRCcWN3YWN4d0wvVDNKMEZZRU5wdVRvLzhPYVVMc0N1TW9YV1R6VlhD?= =?utf-8?B?U0d6UG9GRlY5WnRYMHYyQy9kQmtLbytJT25lbGphNzBSc2VnS0pJZFQ4S0E0?= =?utf-8?B?VFArVGU0RnExcFo2cXNnNnR2RWN1TGE3SFUvQ0hoTXR1V1Y3L09INm1vc2xH?= =?utf-8?B?TFFwYS8zVmtBamUwSDBKTG9rb3VWVFZmajUxWXBOaDFlQ0FoaEtyWDMzeEpN?= =?utf-8?B?ck03RHdCa0UvZHU1WmVmTEhDY1NmV1RUcWs0K1I3eEpSVVU5bWFBc25LWUJT?= =?utf-8?B?MG10VzNaS2JETzlDMDRPMHVEdDArbGx0NFNXUEg5Wm5keWRsU0hYZ1dVMHVJ?= =?utf-8?B?elplR1pLOFNVdk5ITUVQVjVqSUE0amVJbGp4ZjZDWmhCVmVGdXI5M05tYW1R?= =?utf-8?B?WFVtMlZHTll4RXArYSthSUF1YWNlU3VMam1RTDdzcXU0K0NPTWloN3FKTERW?= =?utf-8?B?aDZRWGtVY0NTNS9GYnJoelV4K2dEZW1pb1hUWDQ3MWRFZmpRUUc1QnlYVFJN?= =?utf-8?B?ckVnbEgwVG4xS0NacGZOT1VlemgwODhKZHdTQmlmRE95MkdrM1JiT21mbGpQ?= =?utf-8?B?a1FhYi9taXlwcG9ZSUs5ak0zSnhJTllGZlkwYzVPNGx6eWZFL2VzZk1IZDFN?= =?utf-8?B?RmdwdW93VlNicEU5QW14d2dYVDBZM0M1UFZEU0J4ZUk2UnRPMW9zSjZ6Tmxy?= =?utf-8?B?bjFKWmw1YkhmdytrclhsaVkzNWhUdXdHRUFRS1d5MEVqRjZBZ1RYQ1Mrdjhs?= =?utf-8?B?VFZYMU1MQ2hwR2w5RG90N1BjYTlqZ2FXejB1RWdFVUJYRlZkVnN1c2JuZmVT?= =?utf-8?B?UXhqSlBBd0h0UGFlWXFQQzRQcU5uYi9LaUs3bjJnVFA0THRJYlY3NTYvWUIy?= =?utf-8?B?RHlTZjNjNDdtc0w2QTh5L0kxQUxqRW10TTQrVjJOK25QWXNwNU94c014VDlW?= =?utf-8?B?Wjd5UWFvTi85L1hzR0UzWWdLSnJ1WjlGYUlKVUFaeHZPQVQxVjlkUlJYc0tI?= =?utf-8?B?NDVMK1NySXhiYm5nb2puWWR2Sm0wVTlqYUpaMDJSSk5BRmlXSFRHRnluNmt6?= =?utf-8?B?OXhpaStPSUQ2Zk5nbkd6RGtSQW5zc0lyb3RWdmZnS1p1T3pwTmhYSmhqQ1k5?= =?utf-8?B?RDJYTmRVN09JWW5SdDM4TkRZcmlxakpVMGxCVTI5ZDNxbDZMTitSL05veiti?= =?utf-8?B?dEMzNURqUWdONml1czF1TzI5Q1N6THlKR2tTdzJraGY4cFZpVllobDZteUJm?= =?utf-8?B?cGY1dW43enJsQmJZZWlrWUFPTVhERitkMmNXdFNScGNKUU4vQnFqNlpPdVpx?= =?utf-8?Q?dWGD5hUmcpT2QUEUuhvhUQMhl6Xk+My+Ao1xVlr?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyTUIxMTQxOzY6cTlRSDBpUko0bGJyTXpzUzhpeHZyMkRaNW5x?= =?utf-8?B?cDlGZjE5NDV2V3JMR3hjbDFJR0xIRkJyVUZ5T3R1Q0E0SDRNYkdId1JKam1v?= =?utf-8?B?eGJQVmF5blNBT241NzdUaFNsVkxlMWttdmVXckEzS1FvTjBlWms0eDNOR0Va?= =?utf-8?B?em1VZDBZd1ZxaXVHQWRVaWs3VEE0RDlrUHVMWGdkN2tWUzhiOWNwZU5DNW42?= =?utf-8?B?Y3VlUmV3RjZBRW5JSTduMHlRaTd6RUdrQXE3a1dPdjdlUjdDM0xibnVyTG43?= =?utf-8?B?ZlBBaEo0WitURERZbitwMmpBUEhsNmpMaEZWTzlCd0JqL1JrdUZKeVQrUUF3?= =?utf-8?B?ZmhWanh6cVRxaUIyZkEwbTNWbXd0d3FUSHM1RXpJZ0FDa1pZYUhOaVhvUE9s?= =?utf-8?B?L1htSXhZUFpSeTBLTmRHQUFTUzNpbTBBUGFmU3hFZ0N6TERsbDFVTmh2VHZR?= =?utf-8?B?NlgwYVY4Y0NDRTVodGZVL2lWc0xlOHZtK2hnUE5KQ25Rb3IzbzRjYzBwL1lF?= =?utf-8?B?dEszUHZlNHpmTGpOZks5akVraW9pRlNvVTlvRVZqYmNORWNHbGJxcmdZWHM4?= =?utf-8?B?VVozQSsxaTVHZnREU3BKaVgwQ24waGpXQXVhb28wM1dLSloxVUVZR3VFbGp3?= =?utf-8?B?b3FEaFM4ZDRmbmh5WjI5cGMwTHRCTGNSbnRyM3pmN2xTQm1wOWl4N00yUWsv?= =?utf-8?B?VHZKemsxWWtwaC9tcTI1ckoxNVh0T20rbXU4WFFwTjJYd3NKMmRWTmd1U3ph?= =?utf-8?B?Tk1yMTZXMEY1cGxKMTBsZEtoUEhQakwzQkpGKzQzNStaUC9GQm5mUHB6V2NG?= =?utf-8?B?TDZRazFoY2dqYW9nYUFEa09ZR3dyUjRYbU1WdTZDekNxREE3UGxnU1Y4Q1h2?= =?utf-8?B?bkFWTFFLOVZ6aW9SZXZWNkhZVkZjMTNhMkJkOURoWWdmZVVSNXZIaWU1MHg3?= =?utf-8?B?MnpVRUtYMGYzclNEM1FvYTF2cmdqVUpGMTRqSWpXOVhueU1Zb3lxNis1enJN?= =?utf-8?B?L1hDR056emNlY3dnUk9MKytxbGJlV0N2YzhrUjgveVdUSkZMaU1QNHcxY2hs?= =?utf-8?B?dy9SUDJhdWEvVmRkSjIxYVEzb3hld2VtcTdOdlAxTUVSSXkycC8ySFQyczcx?= =?utf-8?B?Szd4S3VDZlRIK29ickw3TDJ5THBWOWVqdWNtZFpjVjZ5QXlwd1U4Y21FK0lF?= =?utf-8?B?OFlOYlNNc0xCNU5qOEtKNjd3dE5GcEFVK21hMTRHdWJjcFpYRG5ZTER4Um1F?= =?utf-8?B?Q2tRQjVuRmFCcXdjSWRoMTJhVXlEbnZ5OVlZd1FMRTBiNnk2bWtiYlNyNzVh?= =?utf-8?B?Qk4yUnhoZElkcVlkTUh0WGZNOExMVCs2Ny9kcUxRejZXUFI2aEVTTWJRUEs0?= =?utf-8?Q?+rS9Tzy?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1141; 5:Auq2/mPKSbUHfimS5CPWk4pAvAe0hrzU45VphOyBys/mxQlLgj7R4HFKP4CPzb66HrdR9QF1GgwXHxYbWwNf6S6JNTZMYFhRcbDKOC2HcLJ57xWeFJGIUha2eCgdwgHQ6DgSZ7TWagj3FcL5K6Q00K/mNCQnDQYjB7VpsZHzJtMmfN7wHn6dZHTOpmLpUYOwkrWg2GoxbsgpPF/PCjRJFHrvkvMTj8O1Ha20VMQAhMLQdh8lTprXp7CjSjX7cS/df2H4GFGaOeaDEZVDknSc96KYSMZFA/g8Rwxm1J6v12Tf4vBGwdP0UaT5Qh3KT6+eislVntctmCIhqJV5ZdTNTiwIXFH/JzpO6vkWQ9zqEjiP2khgzpp7bCDbUws8L/yZ0wO/0n4AxrSJffWiYJcgai8VlEV89V/Ct8oDJAxjlGqZiVkBWcFG/ECjK311WtUjQau0Va2GOscJ4UuArptgPr0TOTMhJ7NZgKEdQLd62HDfRuVLfjF/G8AmYj18CH2Z; 24:6PmV++K6FsNWWZg9hthAE8b2fN4x0t7Uz/6lipo6ZoQfIJVEd56UXITIwJa3BJhFnkOVUbApOHKsTzkQMGV2B/pK6CJ0hPNAnve6ZCckdW0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1141; 7:EDRSE0TJDqAauLJusElVjGYoTNQzeYxzSwDaETyicT/q3OMUTyT38XDi9UjNvH6YKx+j2VUZTYze3+VnpCdKQNjD4D0ww5gfiCW6ENIi9uKFprIHVrzv+aC7ivhkYa53X/mc/9P+42Z47W5b8H6MI+s46VIq9m2YjSnk2ZhoGgHGHJuX1ZowITsOobBQHm5/Mkp2/5H6QzUOl/PxwnIAwz6uTh1y7UuOSih6UCThnPhvp7ue74j9nqCX/W043hBIOrcuRipQ/9bO8QOXOF2zkbYz6DTHXqjV/yo8VVAgk9ZyTHqgG+HyjnxnlNCpRQ6qw08N1bXIyU79jy3TRE3J/4axQm97fqUhudDqMUJXe3JeyL6qRZGx0cvS04w2h23x0GFa0PGTesIIqK6FV7ZrVY5bsvHOaLnvM1mseyvTvGgVVkfln9C9P0jC/59MzvYxHMTbddTyxi0bNcZY3IHpmYDTIYM1RqzcHFx5Ax7WQFoFGgQoH/BaGRUJT0S2McQxzrGA4zllro+xF52fXTOxjk2vpX1twO6DVPvqXuUaxHE6889xeZbLkhiGLHQ485E9GsOVcfpWM48yIkuOizdNIRkdrohSzxHcbDoHFvkOjih7dvGNSNQTD/gT/HdLykocNXmiZkc7mtvBN2XOpX45GiJc3YpT1Nsca+hHlXiKqQ5KqzHNrhaQHDma6UqeK8b3k6YKDZhi04qZ/0INIEfiN6sYG7491AsATxyv+wI789w1usxjecUZCXVWJHroKeq049TrfjNPu/gPSfvBfmustSmTI+0WyXxj/1GNzhB/KDQ= X-Microsoft-Exchange-Diagnostics: 1; CY4PR12MB1141; 20:5lqR38Ax/mA+HrOQVOHAs0bB8TY+VQxFlQaqhumQgaZh3lXuN6jdI2/TsQ/Ka6PoMJrFjAkIEY9rs/ZB98dG9PN+BknHUNa2HBOMcnERpKE4KF1KeYWRJ73tOUxFRQ/4JMRu27sFU+5hMk9WvcA7P2obynInzUiitDG71bMHp3zreSaskH9Pd3IhXNBtHXlRr2zmQCBCtJ1eXQjm6OPfhIPjjDETsjBoom/6iSxUhuNJqPjNB4QppC75ExSrknMR X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2017 14:58:57.1119 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1141 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; } /*