git: b26cf7b48230 - stable/14 - x88/local_apic.c: for each lvt element, add LVT register index
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 23 Jul 2026 10:01:16 UTC
The branch stable/14 has been updated by olce:
URL: https://cgit.FreeBSD.org/src/commit/?id=b26cf7b48230fa6c04dacd944f76b0573c759bb0
commit b26cf7b48230fa6c04dacd944f76b0573c759bb0
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-12-09 03:53:50 +0000
Commit: Olivier Certner <olce@FreeBSD.org>
CommitDate: 2026-07-23 09:59:16 +0000
x88/local_apic.c: for each lvt element, add LVT register index
Reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D54543
(cherry picked from commit 87ed56a5c43521d97975d936df4fc36184f1b685)
---
sys/x86/x86/local_apic.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
index d9b5a559479a..4dc826bc5244 100644
--- a/sys/x86/x86/local_apic.c
+++ b/sys/x86/x86/local_apic.c
@@ -133,6 +133,7 @@ struct lvt {
u_int lvt_active:1;
u_int lvt_mode:16;
u_int lvt_vector:8;
+ u_int lvt_reg;
};
struct lapic {
@@ -161,6 +162,7 @@ static struct lvt lvts[] = {
.lvt_active = 1,
.lvt_mode = APIC_LVT_DM_EXTINT,
.lvt_vector = 0,
+ .lvt_reg = LAPIC_LVT_LINT0,
},
/* LINT1: NMI */
[APIC_LVT_LINT1] = {
@@ -170,6 +172,7 @@ static struct lvt lvts[] = {
.lvt_active = 1,
.lvt_mode = APIC_LVT_DM_NMI,
.lvt_vector = 0,
+ .lvt_reg = LAPIC_LVT_LINT1,
},
[APIC_LVT_TIMER] = {
.lvt_edgetrigger = 1,
@@ -178,6 +181,7 @@ static struct lvt lvts[] = {
.lvt_active = 1,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = APIC_TIMER_INT,
+ .lvt_reg = LAPIC_LVT_TIMER,
},
[APIC_LVT_ERROR] = {
.lvt_edgetrigger = 1,
@@ -186,6 +190,7 @@ static struct lvt lvts[] = {
.lvt_active = 1,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = APIC_ERROR_INT,
+ .lvt_reg = LAPIC_LVT_ERROR,
},
[APIC_LVT_PMC] = {
.lvt_edgetrigger = 1,
@@ -194,6 +199,7 @@ static struct lvt lvts[] = {
.lvt_active = 1,
.lvt_mode = APIC_LVT_DM_NMI,
.lvt_vector = 0,
+ .lvt_reg = LAPIC_LVT_PCINT,
},
[APIC_LVT_THERMAL] = {
.lvt_edgetrigger = 1,
@@ -202,6 +208,7 @@ static struct lvt lvts[] = {
.lvt_active = 1,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = APIC_THERMAL_INT,
+ .lvt_reg = LAPIC_LVT_THERMAL,
},
[APIC_LVT_CMCI] = {
.lvt_edgetrigger = 1,
@@ -210,6 +217,7 @@ static struct lvt lvts[] = {
.lvt_active = 1,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = APIC_CMC_INT,
+ .lvt_reg = LAPIC_LVT_CMCI,
},
};
@@ -222,6 +230,7 @@ static struct lvt elvts[] = {
.lvt_active = 0,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = 0,
+ .lvt_reg = LAPIC_EXT_LVT0,
},
[APIC_ELVT_MCA] = {
.lvt_edgetrigger = 1,
@@ -230,6 +239,7 @@ static struct lvt elvts[] = {
.lvt_active = 0,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = APIC_CMC_INT,
+ .lvt_reg = LAPIC_EXT_LVT1,
},
[APIC_ELVT_DEI] = {
.lvt_edgetrigger = 1,
@@ -238,6 +248,7 @@ static struct lvt elvts[] = {
.lvt_active = 0,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = 0,
+ .lvt_reg = LAPIC_EXT_LVT2,
},
[APIC_ELVT_SBI] = {
.lvt_edgetrigger = 1,
@@ -246,6 +257,7 @@ static struct lvt elvts[] = {
.lvt_active = 0,
.lvt_mode = APIC_LVT_DM_FIXED,
.lvt_vector = 0,
+ .lvt_reg = LAPIC_EXT_LVT3,
},
};