aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/dmi.h
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-03-25 10:30:22 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-25 12:10:55 -0500
commitf2d3efedbecc04dc348d723e4c90b46731b3bb48 (patch)
tree982c7838a97a5c2420de392e5a36f49eaa1778b0 /include/asm-x86_64/dmi.h
parentf083a329e63d471a5e9238e837772b1b76c218db (diff)
[PATCH] x86_64: Implement early DMI scanning
There are more and more cases where we need to know DMI information early to work around bugs. i386 already had early DMI scanning, but x86-64 didn't. Implement this now. This required some cleanup in the i386 code. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64/dmi.h')
-rw-r--r--include/asm-x86_64/dmi.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/asm-x86_64/dmi.h b/include/asm-x86_64/dmi.h
new file mode 100644
index 000000000000..93b2b15d4325
--- /dev/null
+++ b/include/asm-x86_64/dmi.h
@@ -0,0 +1,27 @@
1#ifndef _ASM_DMI_H
2#define _ASM_DMI_H 1
3
4#include <asm/io.h>
5
6extern void *dmi_ioremap(unsigned long addr, unsigned long size);
7extern void dmi_iounmap(void *addr, unsigned long size);
8
9#define DMI_MAX_DATA 2048
10
11extern int dmi_alloc_index;
12extern char dmi_alloc_data[DMI_MAX_DATA];
13
14/* This is so early that there is no good way to allocate dynamic memory.
15 Allocate data in an BSS array. */
16static inline void *dmi_alloc(unsigned len)
17{
18 int idx = dmi_alloc_index;
19 if ((dmi_alloc_index += len) > DMI_MAX_DATA)
20 return NULL;
21 return dmi_alloc_data + idx;
22}
23
24#define dmi_ioremap early_ioremap
25#define dmi_iounmap early_iounmap
26
27#endif