First, the CMCI entry index is APIC_LVT_MAX, so it was excluded unconditionall [1]. Second, the number of entries is reported by the version register, and we must not access past the last reported entry. Reported by: olivier [1] Fixes: 11f954b021a1aadde1d03d40ed5d6b529e14da98 x86/local_apic.c: add lapic_maxlvt() helper that calculates the max index of the present LVT entry from the value of the LAPIC version register.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
| sys/x86/x86/local_apic.c | ||
|---|---|---|
| 322 | You can use this helper in a few other places, e.g., lapic_dump(). | |