From fd94de5c9d0f58f266ecee6008b0c1a299a319cc Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Sat, 10 Mar 2012 21:08:07 +0000 Subject: [PATCH] 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 MFC after: 1 week --- sys/dev/acpica/acpi_hpet.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/dev/acpica/acpi_hpet.c b/sys/dev/acpica/acpi_hpet.c index 2fa7122173c..5991c157e0d 100644 --- a/sys/dev/acpica/acpi_hpet.c +++ b/sys/dev/acpica/acpi_hpet.c @@ -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