cpu_quirks
for (i = 0; i < nitems(cpu_quirks); i++) {
if ((midr & cpu_quirks[i].midr_mask) ==
cpu_quirks[i].midr_value &&
(cpu_quirks[i].flags & mask) == flags) {
cpu_quirks[i].quirk_install();
static struct cpu_quirks cpu_quirks[] = {
if ((cpu_quirks & CPU_QUIRK_NO_BM_CTRL) == 0 &&
if ((cpu_quirks & CPU_QUIRK_NO_BM_CTRL) == 0)
(cpu_quirks & CPU_QUIRK_NO_BM_CTRL) == 0)
cpu_quirks |= CPU_QUIRK_NO_BM_CTRL;
cpu_quirks |= CPU_QUIRK_NO_C3;
cpu_quirks |= CPU_QUIRK_NO_BM_CTRL;
cpu_quirks |= CPU_QUIRK_NO_C3;
static int cpu_quirks; /* Indicate any hardware bugs. */
(cpu_quirks & CPU_QUIRK_NO_BM_CTRL) == 0)
if (AcpiGbl_FADT.C3Latency <= 1000 && !(cpu_quirks & CPU_QUIRK_NO_C3)) {
if ((cpu_quirks & CPU_QUIRK_NO_C3) != 0) {
if (cpu_quirks & CPU_QUIRK_NO_C3) {
if (cpu_quirks != NULL) {
cpu_quirk = &cpu_quirks[i];
const struct intel_dmar_quirk_cpu *cpu_quirks, int cpu_quirks_len)