ServerWorks HT1000 HPET reported to have problems with IRQs >= 16.

Lower (ISA) IRQs are working, but allowed mask is not set correctly.
Block both by default to allow HP BL465c G6 blade system to boot.

Reported by:	Attila Nagy <bra@fsn.hu>
MFC after:	1 week
This commit is contained in:
Alexander Motin 2012-03-10 21:08:07 +00:00
parent e4e7938ae5
commit fd94de5c9d

View File

@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$");
#define HPET_VENDID_AMD 0x4353
#define HPET_VENDID_INTEL 0x8086
#define HPET_VENDID_NVIDIA 0x10de
#define HPET_VENDID_SW 0x1166
ACPI_SERIAL_DECL(hpet, "ACPI HPET support");
@ -512,6 +513,13 @@ hpet_attach(device_t dev)
*/
if (vendor == HPET_VENDID_NVIDIA && rev <= 0x01)
sc->allowed_irqs = 0x00000000;
/*
* ServerWorks HT1000 reported to have problems with IRQs >= 16.
* Lower IRQs are working, but allowed mask is not set correctly.
* Legacy_route mode works fine.
*/
if (vendor == HPET_VENDID_SW && rev <= 0x01)
sc->allowed_irqs = 0x00000000;
/*
* Neither QEMU nor VirtualBox report supported IRQs correctly.
* The only way to use HPET there is to specify IRQs manually