summaryrefslogtreecommitdiff
path: root/sys/include/aml.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-06-17 23:12:19 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-06-17 23:12:19 +0200
commita47521a3ede91ef06bf7938722c490893d5458f6 (patch)
tree9337bcdee5c2cea704a9a28652abb5b873947c32 /sys/include/aml.h
parent9cb66f310b16b51526fd3f5480b69a54589e229e (diff)
experimental acpi support for apic irq routing
Diffstat (limited to 'sys/include/aml.h')
-rw-r--r--sys/include/aml.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/sys/include/aml.h b/sys/include/aml.h
new file mode 100644
index 000000000..e1cd9c335
--- /dev/null
+++ b/sys/include/aml.h
@@ -0,0 +1,36 @@
+#pragma lib "libaml.a"
+#pragma src "/sys/src/libaml"
+
+/*
+ * b uchar* buffer amllen() returns number of bytes
+ * s char* string amllen() is strlen()
+ * i uvlong* integer
+ * p void** package amllen() is # of elements
+ * r void* region
+ * f void* field
+ * u void* bufferfield
+ * N void* name
+ * R void* reference
+ */
+int amltag(void *);
+void* amlval(void *);
+uvlong amlint(void *);
+int amllen(void *);
+
+void amlinit(void);
+void amlexit(void);
+
+int amlload(uchar *data, int len);
+void* amlwalk(void *dot, char *name);
+int amleval(void *dot, char *fmt, ...);
+void amlenum(void *dot, char *seg, int (*proc)(void *, void *), void *arg);
+
+void* amlroot;
+int amldebug;
+
+#pragma varargck type "V" void*
+#pragma varargck type "N" void*
+
+/* to be provided by operating system */
+extern void* amlalloc(int);
+extern void amlfree(void*);