[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH RFC 2/6] x86/ioapic: add a raw field to RTE struct
- To: xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
- Date: Thu, 21 Apr 2022 15:21:10 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eiYpcvR4fTeX/RmTQ4OuGBZuZs0rA/Bk5WTNjAu5kLw=; b=RBRK5bkT/6FugdxcT9Qdcz5P6V9N2i43KFr2OWNvB1QEGipphggTUL630VanrnJLD0AqfUsTinuImIS3JVTigU0rbaPORr5NJbHWli5nKdKqIvFpmBZ58Yqidaf1E8dGB8iAjka4kzqSFRLQBWR9faBryE/wOSfgNdlnDcIvIxFln4cDT6lVmc3WJEo9e/egrKmH7LlEa8qVhhHVM74kPE5ikkWv3i4s1MOW0Ev8ahx+WL7OY2eZdsHPHFP14C83t70/VeJoYkFfijwuhf3rCoDLvM/Bz2dozzTXDO4GyosonEuXs3iLhnpBmT7KgWRFG1Ud/Rh4qDeO3rlQSZZH6A==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LqIbDiD/126uVBnMNLYUdgTHzjzQvvsXUWaM2bYsmfJ4Ov4bVdHwHGq31lvS3m+tFRFiBKtr+86nEgJAq9bvfhGBvyqULNdHcoIsjw0ZaPPdFcMLZVdln9DHIyyIT+BECeh/19issIBWrYYf1sWLz6RD1+ONwHKauZFY8jWSELdtOxnwpndd2o2wPeUS0Kg0lYUi7Z9x7ThQ2Ai4MqnVrdJzWWt0JUpQvN7zQPv12JfCD4f9bs3MElpXNAV06a7LPEJyf2Xti8MXzFwqJby6GFTxJfV6I9qzYGklq+JvyFHo4+IC+XFIFPEYlmjXeL8DF9Vuzy0+8VrfcX+fQ9x1RQ==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
- Delivery-date: Thu, 21 Apr 2022 13:22:02 +0000
- Ironport-data: A9a23:NEa5sajQCi2aL4yeUsQ07/xlX161FBEKZh0ujC45NGQN5FlHY01je htvCD+Fbv+CMTH3edAnPIXl80wD7JGBxtFhHgI5/3sxRX8b9cadCdqndUqhZCn6wu8v7a5EA 2fyTvGacajYm1eF/k/F3oDJ9CU6jefSLlbFILas1hpZHGeIcw98z0M78wIFqtQw24LhX1nU4 YqaT/D3YzdJ5RYlagr41IrbwP9flKyaVOQw5wFWiVhj5TcyplFNZH4tDfjZw0jQG+G4KtWSV efbpIxVy0uCl/sb5nFJpZ6gGqECaua60QFjERO6UYD66vRJjnRaPqrWqJPwwKqY4tmEt4kZ9 TlDiXC/YTwTAJzugNlBaAZdKB9VEvZF0aLte1Hq5KR/z2WeG5ft69NHKRhseKc+qqNwC2wI8 uEEIjcQaBzFn/ix3L+wVuhrgIIkMdXvO4Qc/HpnyFk1D95/GcyFH/qMuIIehWhs7ixNNa+2i 84xcz1gYQ6GexRSElwWFIg/jKGjgXyXnzhw9gPL//puvjK7IApZ0L38EPbJdN2wQPpcjgGfm XLh8GL8DURPXDCY4X/fmp62vcffkCW+VI8MGbmQ8v9xnEbV1mEVEAcRV1awvb++kEHWc9BVJ lEQ+yEuhbMv70HtRd74NzWnpFaUsxhaXMBfe9DW8ymIw6vQpgyfVm4NS2cbbMR87ZBqAzs3y lWOgtXlQyR1t6GYQm6c8bHSqi6uPS8SLikJYipsoRY53uQPabob1nrnJuuP2obs5jEpMVkcG wy3kRU=
- Ironport-hdrordr: A9a23:epGMUaP281xqXcBcT1P155DYdb4zR+YMi2TDiHoddfUFSKalfp 6V98jztSWatN/eYgBDpTnmAtj7fZq8z+8P3WB1B9uftWbdyQ+Vxe1ZjbcKhgeQYhEWldQtqp uIDZIOb+EYZGIS5aia3OD7KadZ/DDuytHVuQ609QYJcegFUdAC0+8vYTzrb3GeCTM2TKYRJd 653I5qtjCgcXMYYoCSAWQEZfHKo5numIj9aRALKhY74E3W5AnYo4LSIly95FMzQjlPybAt/S zslBH43Lyqt7WexgXH32HewpxKkJ/Ky8dFBuaLls8JQw+cwjqAVcBEYfmvrTo1qOag5BIDl8 TNmQ4pO4BJ53bYbgiO0G/Q8jil9Axrx27pyFeej3emi9f+XigGB81Igp8cWgfF6mI71esMn5 5j7ia8jd56HBnAlCPy65zjTBdxjHe5pnIkjKo6k2Ffa40Dc7VcxLZvsH+9KK1wXR4S1bpXUN WHVKrnlbVrmBKhHj3kV1BUsZKRti9ZJGbFfqAA0vblpgS+0koJinfw//Zv70voxKhNNaWs2N 60QpiA7Is+KPP+TZgNc9vpEvHHfFAkf3r3QRGvCGWiMp07EFTwjLOyyIkJxYiRCe41Jd0J6d 78bG8=
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
No functional change intended.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
xen/arch/x86/include/asm/io_apic.h | 57 ++++++++++++++++--------------
1 file changed, 30 insertions(+), 27 deletions(-)
diff --git a/xen/arch/x86/include/asm/io_apic.h
b/xen/arch/x86/include/asm/io_apic.h
index ef0878b09e..a558bb063c 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -89,35 +89,38 @@ enum ioapic_irq_destination_types {
};
struct IO_APIC_route_entry {
- unsigned int vector:8;
- unsigned int delivery_mode:3; /*
- * 000: FIXED
- * 001: lowest prio
- * 111: ExtINT
- */
- unsigned int dest_mode:1; /* 0: physical, 1: logical */
- unsigned int delivery_status:1;
- unsigned int polarity:1; /* 0: low, 1: high */
- unsigned int irr:1;
- unsigned int trigger:1; /* 0: edge, 1: level */
- unsigned int mask:1; /* 0: enabled, 1: disabled */
- unsigned int __reserved_2:15;
-
union {
struct {
- unsigned int __reserved_1:24;
- unsigned int physical_dest:4;
- unsigned int __reserved_2:4;
- } physical;
-
- struct {
- unsigned int __reserved_1:24;
- unsigned int logical_dest:8;
- } logical;
-
- /* used when Interrupt Remapping with EIM is enabled */
- unsigned int dest32;
- } dest;
+ unsigned int vector:8;
+ unsigned int delivery_mode:3; /*
+ * 000: FIXED
+ * 001: lowest prio
+ * 111: ExtINT
+ */
+ unsigned int dest_mode:1; /* 0: physical, 1: logical */
+ unsigned int delivery_status:1;
+ unsigned int polarity:1; /* 0: low, 1: high */
+ unsigned int irr:1;
+ unsigned int trigger:1; /* 0: edge, 1: level */
+ unsigned int mask:1; /* 0: enabled, 1: disabled */
+ unsigned int __reserved_2:15;
+
+ union {
+ struct {
+ unsigned int __reserved_1:24;
+ unsigned int physical_dest:4;
+ unsigned int __reserved_2:4;
+ } physical;
+
+ struct {
+ unsigned int __reserved_1:24;
+ unsigned int logical_dest:8;
+ } logical;
+ unsigned int dest32;
+ } dest;
+ };
+ uint64_t raw;
+ };
};
/*
--
2.35.1
|