summaryrefslogtreecommitdiff
path: root/src/arch/i386/boot/linuxbios_table.h
blob: 42c0a07dac1822f1fac96f14906c029a2aee57ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef LINUXBIOS_TABLE_H
#define LINUXBIOS_TABLE_H

#include <boot/linuxbios_tables.h>

struct mem_range;

/* This file holds function prototypes for building the linuxbios table. */
unsigned long write_linuxbios_table(
	unsigned long *processor_map, 
	struct mem_range *ram,
	unsigned long low_table_start, unsigned long low_table_end,
	unsigned long rom_table_start, unsigned long rom_table_end);

struct lb_header *lb_table_init(unsigned long addr);
struct lb_record *lb_first_record(struct lb_header *header);
struct lb_record *lb_last_record(struct lb_header *header);
struct lb_record *lb_next_record(struct lb_record *rec);
struct lb_record *lb_new_record(struct lb_header *header);
struct lb_memory *lb_memory(struct lb_header *header);
void lb_memory_range(struct lb_memory *mem, 
	uint32_t type, unsigned long startk, unsigned long sizek);
struct lb_mainboard *lb_mainboard(struct lb_header *header);
unsigned long lb_table_fini(struct lb_header *header);

/* Routines to extract part so the linuxBIOS table or information
 * from the linuxBIOS table.
 */
struct lb_memory *get_lb_mem(void);

extern struct cmos_option_table option_table;

#endif /* LINUXBIOS_TABLE_H */