libata: Strict checking for identify reporting
[linux-2.6] / include / asm-x86 / dmi_64.h
1 #ifndef _ASM_DMI_H
2 #define _ASM_DMI_H 1
3
4 #include <asm/io.h>
5
6 #define DMI_MAX_DATA 2048
7
8 extern int dmi_alloc_index;
9 extern 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. */
13 static 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         return dmi_alloc_data + idx;
19 }
20
21 #define dmi_ioremap early_ioremap
22 #define dmi_iounmap early_iounmap
23
24 #endif