[PATCH v2 1/3] perf/amd/ibs: Limit the max EILVT register count for AMD family 0x10
From: Naveen N Rao (AMD)
Date: Tue May 12 2026 - 11:09:07 EST
For AMD family 0x10, EILVT offsets are not assigned by BIOS and is
instead assigned by picking the next available EILVT offset. Use the
maximum EILVT count for family 0x10 (APIC_EILVT_NR_AMD_10H) rather than
an arbitrary maximum EILVT count when looking for the next available
EILVT offset.
Signed-off-by: Naveen N Rao (AMD) <naveen@xxxxxxxxxx>
Tested-by: Manali Shukla <manali.shukla@xxxxxxx>
---
arch/x86/events/amd/ibs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c
index 20c2de5c697b..ad73a002f8cd 100644
--- a/arch/x86/events/amd/ibs.c
+++ b/arch/x86/events/amd/ibs.c
@@ -1839,13 +1839,13 @@ static void force_ibs_eilvt_setup(void)
preempt_disable();
/* find the next free available EILVT entry, skip offset 0 */
- for (offset = 1; offset < APIC_EILVT_NR_MAX; offset++) {
+ for (offset = 1; offset < APIC_EILVT_NR_AMD_10H; offset++) {
if (get_eilvt(offset))
break;
}
preempt_enable();
- if (offset == APIC_EILVT_NR_MAX) {
+ if (offset == APIC_EILVT_NR_AMD_10H) {
pr_debug("No EILVT entry available\n");
return;
}
--
2.54.0