| 
									
										
										
										
											2007-10-15 23:28:20 +02:00
										 |  |  | #ifndef _ASM_X86_DMI_H
 | 
					
						
							|  |  |  | #define _ASM_X86_DMI_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <asm/io.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-11 11:20:03 +02:00
										 |  |  | #ifdef CONFIG_X86_32
 | 
					
						
							| 
									
										
										
										
											2007-10-15 23:28:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define dmi_alloc alloc_bootmem
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #else /* CONFIG_X86_32 */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #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; | 
					
						
							| 
									
										
										
										
											2008-01-30 13:31:59 +01:00
										 |  |  | 	if ((dmi_alloc_index + len) > DMI_MAX_DATA) | 
					
						
							| 
									
										
										
										
											2007-10-15 23:28:20 +02:00
										 |  |  | 		return NULL; | 
					
						
							| 
									
										
										
										
											2008-01-30 13:31:59 +01:00
										 |  |  | 	dmi_alloc_index += len; | 
					
						
							| 
									
										
										
										
											2007-10-15 23:28:20 +02:00
										 |  |  | 	return dmi_alloc_data + idx; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-30 13:33:44 +01:00
										 |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-15 23:28:20 +02:00
										 |  |  | #define dmi_ioremap early_ioremap
 | 
					
						
							|  |  |  | #define dmi_iounmap early_iounmap
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |