1#ifndef _ASM_X86_DMI_H 2#define _ASM_X86_DMI_H 3 4#include <asm/io.h> 5 6#define DMI_MAX_DATA 2048 7 8extern int dmi_alloc_index; 9extern char dmi_alloc_data[DMI_MAX_DATA]; 10 11/* This is so early that there is no good way to allocate dynamic memory. 12 Allocate data in an BSS array. */ 13static inline void *dmi_alloc(unsigned len) 14{ 15 int idx = dmi_alloc_index; 16 if ((dmi_alloc_index + len) > DMI_MAX_DATA) 17 return NULL; 18 dmi_alloc_index += len; 19 return dmi_alloc_data + idx; 20} 21 22/* Use early IO mappings for DMI because it's initialized early */ 23#define dmi_ioremap early_ioremap 24#define dmi_iounmap early_iounmap 25 26#endif /* _ASM_X86_DMI_H */ 27

