#ifndef _ASM_X86_DMI_H
#define _ASM_X86_DMI_H

#include <asm/io.h>

#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;
	dmi_alloc_index += len;
	return dmi_alloc_data + idx;
}

/* Use early IO mappings for DMI because it's initialized early */
#define dmi_ioremap early_ioremap
#define dmi_iounmap early_iounmap

#endif
