blob: 7d8bd318baf3d20a27c9bbd695c9d16f90134979 [file] [log] [blame]
Greg Watson8cff29d2003-06-13 17:09:26 +00001#include <console/console.h>
Greg Watson8cff29d2003-06-13 17:09:26 +00002#include <cpu/cpu.h>
3#include <boot/tables.h>
4#include <boot/linuxbios_tables.h>
5#include "linuxbios_table.h"
6
7struct lb_memory *
Eric Biederman6e53f502004-10-27 08:53:57 +00008write_tables(void)
Greg Watson8cff29d2003-06-13 17:09:26 +00009{
10 unsigned long low_table_start, low_table_end;
11 unsigned long rom_table_start, rom_table_end;
12
13 rom_table_start = 0xf0000;
14 rom_table_end = 0xf0000;
15 /* Start low addr at 16 bytes instead of 0 because of a buglet
16 * in the generic linux unzip code, as it tests for the a20 line.
17 */
18 low_table_start = 0;
19 low_table_end = 16;
20
Greg Watson8cff29d2003-06-13 17:09:26 +000021 /* The linuxbios table must be in 0-4K or 960K-1M */
Eric Biederman6e53f502004-10-27 08:53:57 +000022 write_linuxbios_table(
Eric Biedermanb78c1972004-10-14 20:54:17 +000023 low_table_start, low_table_end,
24 rom_table_start >> 10, rom_table_end >> 10);
Greg Watson8cff29d2003-06-13 17:09:26 +000025
26 return get_lb_mem();
27}