]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix support for machines with default MP Table configurations:
authorJohn Baldwin <jhb@FreeBSD.org>
Fri, 7 Jan 2005 18:42:59 +0000 (18:42 +0000)
committerJohn Baldwin <jhb@FreeBSD.org>
Fri, 7 Jan 2005 18:42:59 +0000 (18:42 +0000)
commitdd08fca3b66f24a32c0ea25f8c32999df6ef484a
treec36d6b9875afb1933714e1b686d7a7ae6d8ff7a7
parent15575dc0aac2ab83f0fb2709546f79440db4dfb8
Fix support for machines with default MP Table configurations:
- Fix the MP Table pci bridge drivers to not probe the configuration table
  unless we actually have one.  Machines using a default configuration do
  not have such a table.
- Only allow default configuration types of 5 (ISA + PCI) and 6 (EISA +
  PCI) as the others are not likely to work.  Types 1 through 4 use an
  external APIC (probably with 80486 processors) which we certainly do not
  support, and type 7 uses an MCA bus which has not been tested with the
  new MP Table code.
- Correct the fact that the single I/O APIC in a default configuration has
  an ID of 2, not 0.
- Fix off by one errors in setting the bus types from the default_data[]
  arrays for default configurations.
- Explicitly configure each of the 16 interrupt pins on the sole I/O APIC
  when using a default configuration.  This is especially helpful for type
  6 (EISA + PCI) since the EISA interrupts need to have their polarity
  programmed based on the values in the ELCR.

Much thanks to the submitter and tester who endured several rounds of
testing to get this fixed.

MFC after: 1 week
Tested by: Georg Schwarz georg dot schwarz at freenet dot de
sys/i386/i386/mptable.c