freebsd-skq/sys/amd64
Tor Egge e666f57c3e Be more verbose when changing APIC ID on an IO APIC.
Don't allow cpu entries in the MP table to contain APIC IDs out of range.

Don't write outside array boundaries if an IO APIC entry in the MP table
contains an APIC ID out of range.

Assign APIC IDs for all IO APICs according to section 3.6.6 in the
Intel MP spec:

  - If the current APIC ID on an IO APIC doesn't conflict with other
    IO APICs or CPUs, that APIC ID should be used.  The copy of the MP
    table must be updated if the corresponding APIC ID in the MP table
    is different.

  - If the current APIC ID was in conflict with other units, the
    corresponding APIC ID specified in the MP table is checked for conflict.

  - If a conflict is still found then fall back to using a new unique ID.
    The copy of the MP table must be updated.

  - IDs out of range is considered to be in conflict.

During these operations, the IO_TO_ID array cannot be used, since any
conflict would have caused information loss.  The array is then corrected,
since all APIC ID conflicts should have been resolved.

PR:	20312, 18919
2000-08-06 00:04:03 +00:00
..
amd64 Be more verbose when changing APIC ID on an IO APIC. 2000-08-06 00:04:03 +00:00
conf Revert previous commit. Not all RAID controllers are SCSI. 2000-07-29 02:12:44 +00:00
include Be more verbose when changing APIC ID on an IO APIC. 2000-08-06 00:04:03 +00:00
isa Allow use of TSC even if APM is compiled in but disabled. 2000-07-30 21:05:22 +00:00
pci Add PnP probe methods to some common AT hardware drivers. In each case, 2000-06-23 07:44:33 +00:00
Makefile Update tags directive to reflect the new location of soft updates 2000-07-04 00:18:43 +00:00