forked from Minki/linux
f2d3efedbe
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>
28 lines
640 B
C
28 lines
640 B
C
#ifndef _ASM_DMI_H
|
|
#define _ASM_DMI_H 1
|
|
|
|
#include <asm/io.h>
|
|
|
|
extern void *dmi_ioremap(unsigned long addr, unsigned long size);
|
|
extern void dmi_iounmap(void *addr, unsigned long size);
|
|
|
|
#define DMI_MAX_DATA 2048
|
|
|
|
extern int dmi_alloc_index;
|
|
extern char dmi_alloc_data[DMI_MAX_DATA];
|
|
|
|
/* This is so early that there is no good way to allocate dynamic memory.
|
|
Allocate data in an BSS array. */
|
|
static inline void *dmi_alloc(unsigned len)
|
|
{
|
|
int idx = dmi_alloc_index;
|
|
if ((dmi_alloc_index += len) > DMI_MAX_DATA)
|
|
return NULL;
|
|
return dmi_alloc_data + idx;
|
|
}
|
|
|
|
#define dmi_ioremap early_ioremap
|
|
#define dmi_iounmap early_iounmap
|
|
|
|
#endif
|