Do not probe Intel PIIX4 south bridge quirks on amd64. These quirky south

bridges only supported Intel Pentium and Pentium II era processors and there
is no reason for hardware virtualizations to emulate these quirks.

MFC after:	1 week
This commit is contained in:
Jung-uk Kim 2015-05-21 19:31:10 +00:00
parent 94bdf5cfcc
commit 9cf4cabed7
2 changed files with 18 additions and 11 deletions

View File

@ -185,7 +185,8 @@ static void acpi_cpu_startup_cx(struct acpi_cpu_softc *sc);
static void acpi_cpu_cx_list(struct acpi_cpu_softc *sc);
static void acpi_cpu_idle(sbintime_t sbt);
static void acpi_cpu_notify(ACPI_HANDLE h, UINT32 notify, void *context);
static int acpi_cpu_quirks(void);
static void acpi_cpu_quirks(void);
static void acpi_cpu_quirks_piix4(void);
static int acpi_cpu_usage_sysctl(SYSCTL_HANDLER_ARGS);
static int acpi_cpu_usage_counters_sysctl(SYSCTL_HANDLER_ARGS);
static int acpi_cpu_set_cx_lowest(struct acpi_cpu_softc *sc);
@ -1239,12 +1240,9 @@ acpi_cpu_notify(ACPI_HANDLE h, UINT32 notify, void *context)
acpi_UserNotify("PROCESSOR", sc->cpu_handle, notify);
}
static int
static void
acpi_cpu_quirks(void)
{
device_t acpi_dev;
uint32_t val;
ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
/*
@ -1278,6 +1276,16 @@ acpi_cpu_quirks(void)
}
/* Look for various quirks of the PIIX4 part. */
acpi_cpu_quirks_piix4();
}
static void
acpi_cpu_quirks_piix4(void)
{
#ifdef __i386__
device_t acpi_dev;
uint32_t val;
acpi_dev = pci_find_device(PCI_VENDOR_INTEL, PCI_DEVICE_82371AB_3);
if (acpi_dev != NULL) {
switch (pci_get_revid(acpi_dev)) {
@ -1326,8 +1334,7 @@ acpi_cpu_quirks(void)
break;
}
}
return (0);
#endif
}
static int

View File

@ -96,7 +96,7 @@ static void acpi_throttle_identify(driver_t *driver, device_t parent);
static int acpi_throttle_probe(device_t dev);
static int acpi_throttle_attach(device_t dev);
static int acpi_throttle_evaluate(struct acpi_throttle_softc *sc);
static int acpi_throttle_quirks(struct acpi_throttle_softc *sc);
static void acpi_throttle_quirks(struct acpi_throttle_softc *sc);
static int acpi_thr_settings(device_t dev, struct cf_setting *sets,
int *count);
static int acpi_thr_set(device_t dev, const struct cf_setting *set);
@ -314,9 +314,10 @@ acpi_throttle_evaluate(struct acpi_throttle_softc *sc)
return (0);
}
static int
static void
acpi_throttle_quirks(struct acpi_throttle_softc *sc)
{
#ifdef __i386__
device_t acpi_dev;
/* Look for various quirks of the PIIX4 part. */
@ -339,8 +340,7 @@ acpi_throttle_quirks(struct acpi_throttle_softc *sc)
break;
}
}
return (0);
#endif
}
static int