summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica/acpi.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2002-09-06 16:08:08 +0000
committerjhb <jhb@FreeBSD.org>2002-09-06 16:08:08 +0000
commit004940f13ef54fa25fc39d097e8242ac28570d4c (patch)
treef4798d4462556180771bb44580193364aace1600 /sys/dev/acpica/acpi.c
parent241e77818a258855d9439094d8ba982b10f39f64 (diff)
downloadFreeBSD-src-004940f13ef54fa25fc39d097e8242ac28570d4c.zip
FreeBSD-src-004940f13ef54fa25fc39d097e8242ac28570d4c.tar.gz
Add a helper routine acpi_SetIntrModel() to call the _PIC method to set
the interrupt model in use so that ACPI can properly route interrupts for machines using APIC's or SAPIC's.
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r--sys/dev/acpica/acpi.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index 97294201..b4df2a7 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -1256,6 +1256,22 @@ acpi_AppendBufferResource(ACPI_BUFFER *buf, ACPI_RESOURCE *res)
return(AE_OK);
}
+/*
+ * Set interrupt model.
+ */
+ACPI_STATUS
+acpi_SetIntrModel(int model)
+{
+ ACPI_OBJECT_LIST ArgList;
+ ACPI_OBJECT Arg;
+
+ Arg.Type = ACPI_TYPE_INTEGER;
+ Arg.Integer.Value = model;
+ ArgList.Count = 1;
+ ArgList.Pointer = &Arg;
+ return (AcpiEvaluateObject(ACPI_ROOT_OBJECT, "_PIC", &ArgList, NULL));
+}
+
#define ACPI_MINIMUM_AWAKETIME 5
static void
OpenPOWER on IntegriCloud