Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760186AbcCDUtB (ORCPT ); Fri, 4 Mar 2016 15:49:01 -0500 Received: from mail-bn1bon0069.outbound.protection.outlook.com ([157.56.111.69]:64651 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759633AbcCDUs6 (ORCPT ); Fri, 4 Mar 2016 15:48:58 -0500 Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; From: Suravee Suthikulpanit To: , , , , , CC: , , , , Suravee Suthikulpanit Subject: [PART1 RFC v2 03/10] svm: Introduce new AVIC VMCB registers Date: Fri, 4 Mar 2016 14:46:01 -0600 Message-ID: <1457124368-2025-4-git-send-email-Suravee.Suthikulpanit@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1457124368-2025-1-git-send-email-Suravee.Suthikulpanit@amd.com> References: <1457124368-2025-1-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [124.121.8.20] X-ClientProxiedBy: SINPR01CA0045.apcprd01.prod.exchangelabs.com (10.141.109.45) To SN1PR12MB0445.namprd12.prod.outlook.com (25.162.105.139) X-MS-Office365-Filtering-Correlation-Id: 802a6e58-961d-42ca-0e91-08d3446e6052 X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;2:jecLUiFqQ5/OjZ5Iv1nd8cETM0Eq+Ee+XwUK0COaL0oQUkeJFVLrwCfOWRdBwxPVu/Vct4mDJAdENWU8MPwu7dC2/Jf6Id34Uu4AQMfq0+fA7Hf2b0CTNsz48ZdKpYjv2kH6hUtfh3mKU0HeDRZq5klm/psaKnuBJhusiAsArvqljAnFWQRYe+bdV7GR4Csf;3:R8NKsFbqAWtx8LHYm1xakT1t6Z9VtxiGkIfeHoU91GK5i1GfLtH7SSgPlY7MvetKBEUQtDoLbaCLiWu2N8RueJQVgysXB9MPHcRCfjlcq+5OoF5Bab2OZzfRZAcgjfGy;25:LVGA4BAZIC8GklLhtfYm8pj1q31+HNpdRHuGvXGU4914SquqVFw2W0kRBqTUOOdCCi6HG9BApcu1tbkT/SUN/jKaRE728PrywZMgz9cwlY5hVxQn49FoqiMaTADZDFV/ijdPv46HxXNSYfC8q24/hEjngu8Ozkv148Ugi5ZfBDtbRUykw84J50vW+NzS4vVSEgyBDdhoXdzDgKs09liDiXuY7ixoHtNAp4iwDgP0S+HQZlfV1/aYIN0Rc3U7LeQThqP5TmQSvgLNp0fbjDl2HWo0d5jokFPdEy4QW8ZPunioFppxmTsucXFEP5K1ZaiS1qNzzH9x5wit6Q3P7NS58A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0445; X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;20:+AFHNTLNZPfRATn/p7phbg5GzXlkkIFQWOOtNUKGvfb2ztzWnlhlRuC8ewCyUDT3EPEmhkbGs+wSKc3PBMYu0Ban0yInZrN9CW2pDtU55QJoIr6+CuTsomrjRk0MWrkUKJEFYRZGIZo6zAAZsFg0J2g7Sn+dyY8DpBa6xEBpSla7tsdbRsroLZb46I9tzxOIszAITLLUituGc2u/2BxzUjgfafmwdKDdr3G47+fNZj1rshMX2bKwlnjSz8Fuu16pJNbL8LJuLuFnv4Lkskq7zir3a6ijk/8XZ1zoWL3YuFLE2AiNR9j4JIyn9DV7p6JcuPTi6t1ooAatXSd/gqz9DMSa+8u5PRHqZ1r5BlF2VXQfelR3DUK/I25cmCWDykHZsv5aPT9nnEsywn8yh87DkzXEIY6oWxiG9rKl35y58W7uyF11Lb5Ecl3dfSnBo1Po5phppDUdtcuNGNEVjKFL3+VgiB0XdB/oz/AX+u7SYsYaKiO9U+Yzzqz44Foc8y9y;4:Kr3Pnlnm0bpvAt8FRLP0FNWszdZvEOHegWL54JxYsCRE6n7tIFd7wfRIhIkNpbD7oiGxAF0wbpCbKFHjHHK+4HneChzMu94Cwaez9NZekh3seXecvncZF0aCjvXSn8qJTM8VP5J2bSrv+Neh0L+AQ/kPho+GIaouUcZ51S4hWbcN2bv2/H/U0HyyEq1C8vr4ls3ZBSaoyLLOTtO4HV3XqrCl41LQh0BLCPuWGPF28MJ/i7aJNUcVAqYoRuzrF8CeNPWxr+CE2qB122m/lZ9m4hW0m/UbyiEgcBOIla43kg5wJo6i90nkYIafnfe6nIqp0NTKLzoEfipbN/czcf49/xwX8kzfFiwCqJVJdC0FEKM+yk9I1nXdmAyoWtDVz1d2 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:SN1PR12MB0445;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0445; X-Forefront-PRVS: 0871917CDA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(979002)(6069001)(6009001)(106356001)(77096005)(5001770100001)(87976001)(48376002)(47776003)(229853001)(36756003)(2201001)(66066001)(81166005)(50466002)(2950100001)(5004730100002)(189998001)(40100003)(50226001)(5003940100001)(122386002)(5008740100001)(19580405001)(2906002)(19580395003)(86362001)(4326007)(42186005)(50986999)(6116002)(3846002)(1096002)(92566002)(586003)(76176999)(217873001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0445;H:localhost.localdomain;FPR:;SPF:None;MLV:ovrnspm;PTR:InfoNoRecords;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR12MB0445;23:mGOOWpyoEvl8akEd6Uu5SkPWr1eaq/SFylZwyiOgd?= =?us-ascii?Q?V/bDZNJkTsR4CjNwN3h9xZszozUQIk0JgXX8YIURnQ31M2y1tEema7KPmkMs?= =?us-ascii?Q?dFcJVgodBVIdWiy4+/hqty1Sed9ML0phunUxZHm3a6ZGYGqWq4jtojeYV1xt?= =?us-ascii?Q?RQfMTIrhdasCBYd/rwS28CjwzrhT9QEQUWKyxrbt2BeOJhRp9LMbjRhAA0gb?= =?us-ascii?Q?TJc7YvTNJMrLljqIeSEbhT+3Uj9XF9BjlSaDsni3PUouJO6acu0W46EHfLt9?= =?us-ascii?Q?TnJx3Zga76UDva7sv6XUkT5t848tSO+G8ZcZmP+KDqYMx73EbCYaKMzjYQds?= =?us-ascii?Q?JXQkVpmajJShlgzcIy3JhXTnkvEq82I6F+whatFv7BINr+FLzauDGVo8bpfj?= =?us-ascii?Q?UfZwgTLZBGgQidcmy1arrqb1E9XEwweR7otSd/gJATzEtw7rOqLaWLNSFQ4b?= =?us-ascii?Q?VWlpbq9xaWwnu3jSYpCOKG7Qg6x9i2YfhzKnzCAb9XuNr5Es6MHMJs9TAO8e?= =?us-ascii?Q?vEJlXv7NEVRQwdWB2tXFm5NmUA2UPPk8gdUdTitiTymuCB87UIs5CKwsQAQF?= =?us-ascii?Q?L1vFg5lCG0dy/O0GERZDu4o7P/JAOzU8V6X/piW2niQNjgECAGZ2N3Iks40q?= =?us-ascii?Q?eK/Og7qduh6Hu7wnhvI50MgrUMpx9L9syP3m7u7PksnSYyQ5BhCHfw6TbSSQ?= =?us-ascii?Q?ZG0FYt/Bv5Ko5FlloRoGIKleqQMomswapbtEaR2Afz3DV4laPl/WLeE9LCat?= =?us-ascii?Q?O7qNDA0v78u0WKXw8eT6r05YwPPkuSUFpYvUnLEsi0fyyKw33IVXCZgawVDf?= =?us-ascii?Q?JOHtuawGL5u+IcBtml4rTo5b6lkGcS4l6Z0U+ev7quskfs2LIkwZvH7Qd2Z+?= =?us-ascii?Q?6mR02/333uYv5M7RL9ve2++tpXCcGSLCXM6lcXYxRKg8b7rQJHwk8iCIVa3p?= =?us-ascii?Q?NljXW5foxC4CyIod6RYaU2Rg6Iu/NYaZX1JrfDe2Zw8OdLQTe1hEFYODlNWH?= =?us-ascii?Q?QH/JkuTs3c9q+Ufr1zZVEgG2tdZYcXse1RckJgHvX5ka0knZt3PMd6Z8fEI9?= =?us-ascii?Q?oGRXEw4MznrKxUIQES6bY9RCJjIYZj6TY0Sgc8PKQjx3VlMoQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR12MB0445;5:QwjSLwrQiZWXoLGhZqUd5krxXGElVZSuA3oDmsguyHd1QoMQ/LagOPZEjb+MXfclI0ShYyJOJ/hWUIkN76b6LObWdpqNjAUM0qHwQIkmBonRqkMdcW7hJYRjeBenTwuUVJjW8cAKhHAwk1C+SuUOgw==;24:6DRSZtfVpxWSnqV/J7asWkhgRK3qCoBGy1ZoW0/RBKwbLSuGklb9PuRhZUlPwegB7/MhTSkJuEiDx/alTgBF1JKV5+sDYcxAQ6M2Kp7i/mU=;20:u5PmOnJGhVuFMm2vqEvgylGCok26HDOlDnsx8y3d6NX5+pGi18xRsfkO939hEl03gNdtfPAue+7hVIsmNBxcZSoRZ3CDZMG5nqcqTGlybdLoIRHLKXwbcuSQgf68onQTPmdU+/+BhfKDOQyoC+NnE2Olj1pMif/NfG7nHTb8YGtzeE1Ax96Loqelkk99RTo/4PgjvJFC4Q5Yz4azfR4y/saHNF+gug1xhlmi+qJ1Ljozyvw/ZNmpL4zoiBDbbn+k X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2016 20:48:41.0421 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0445 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1696 Lines: 69 From: Suravee Suthikulpanit Introduce new AVIC VMCB registers. Also breakdown int_ctl register into bit-field for ease of use. Signed-off-by: Suravee Suthikulpanit --- arch/x86/include/asm/svm.h | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/arch/x86/include/asm/svm.h b/arch/x86/include/asm/svm.h index 6136d99..db5d7af 100644 --- a/arch/x86/include/asm/svm.h +++ b/arch/x86/include/asm/svm.h @@ -67,10 +67,24 @@ struct __attribute__ ((__packed__)) vmcb_control_area { u32 asid; u8 tlb_ctl; u8 reserved_2[3]; - u32 int_ctl; + union { /* Offset 0x60 */ + u32 int_ctl; + + struct __attribute__ ((__packed__)) { + u32 v_tpr : 8, + v_irq : 1, + reserved_3 : 7, + v_intr_prio : 4, + v_ign_tpr : 1, + reserved_4 : 3, + v_intr_masking : 1, + reserved_5 : 6, + avic_enable : 1; + }; + }; u32 int_vector; u32 int_state; - u8 reserved_3[4]; + u8 reserved_6[4]; u32 exit_code; u32 exit_code_hi; u64 exit_info_1; @@ -78,17 +92,22 @@ struct __attribute__ ((__packed__)) vmcb_control_area { u32 exit_int_info; u32 exit_int_info_err; u64 nested_ctl; - u8 reserved_4[16]; + u64 avic_vapic_bar; + u8 reserved_7[8]; u32 event_inj; u32 event_inj_err; u64 nested_cr3; u64 lbr_ctl; u32 clean; - u32 reserved_5; + u32 reserved_8; u64 next_rip; u8 insn_len; u8 insn_bytes[15]; - u8 reserved_6[800]; + u64 avic_bk_page; /* Offset 0xe0 */ + u8 reserved_9[8]; /* Offset 0xe8 */ + u64 avic_log_apic_id; /* Offset 0xf0 */ + u64 avic_phy_apic_id; /* Offset 0xf8 */ + u8 reserved_10[768]; }; -- 1.9.1