ioapic: Rework I/O APIC APIC ID allocation
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 23 Mar 2011 12:04:15 +0000 (20:04 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 23 Mar 2011 15:12:49 +0000 (23:12 +0800)
commit68b90e82b2697c9d6acc358c76689a96a5958797
treefcabf2ee0c39de439257eab1fbb650029fd72a82
parent522f877c5693670ca40be97a7aa160cdb987e393
ioapic: Rework I/O APIC APIC ID allocation

- I/O APIC's ID field in ID register contains only 4bits, so only 16
  I/O APICs should be allowed.
- All I/O APIC's APIC ID's lower 4bits (what we wrote to I/O APIC ID
  register) must be different from each other, this should be done
  even on xAPIC (e.g. Pentium 4), where I/O APIC's APIC IDs are not
  required to be different from what LAPIC's.
sys/platform/pc32/apic/mpapic.c
sys/platform/pc64/apic/mpapic.c