blob: 7a57ca8a17933edcede20980ec6ef13236d564de [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Just a place holder. We don't want to have to test x86 before
3 * we include stuff
4 */
5
6#ifndef _i386_SETUP_H
7#define _i386_SETUP_H
8
Alon Bar-Lev7bf9f972007-02-12 00:54:27 -08009#define COMMAND_LINE_SIZE 2048
Adrian Bunk7d1362c2006-12-06 20:40:38 -080010
David Woodhousef01f0f02006-09-12 20:36:05 -070011#ifdef __KERNEL__
Dave Hansen22a98352006-03-27 01:16:04 -080012#include <linux/pfn.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
14/*
15 * Reserved space for vmalloc and iomap - defined in asm/page.h
16 */
17#define MAXMEM_PFN PFN_DOWN(MAXMEM)
18#define MAX_NONPAE_PFN (1 << 20)
19
Venkatesh Pallipadif9ba7052005-05-01 08:58:51 -070020#define PARAM_SIZE 4096
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
22#define OLD_CL_MAGIC_ADDR 0x90020
23#define OLD_CL_MAGIC 0xA33F
24#define OLD_CL_BASE_ADDR 0x90000
25#define OLD_CL_OFFSET 0x90022
26#define NEW_CL_POINTER 0x228 /* Relative to real mode data */
27
28#ifndef __ASSEMBLY__
H. Peter Anvin48c7ae62007-07-11 12:18:35 -070029
30#include <asm/bootparam.h>
31
Linus Torvalds1da177e2005-04-16 15:20:36 -070032/*
33 * This is set up by the setup-routine at boot-time
34 */
H. Peter Anvin48c7ae62007-07-11 12:18:35 -070035extern struct boot_params boot_params;
Linus Torvalds1da177e2005-04-16 15:20:36 -070036
Jeremy Fitzhardingee75eac32006-06-25 05:46:50 -070037/*
38 * Do NOT EVER look at the BIOS memory size location.
39 * It does not work on many machines.
40 */
41#define LOWMEMSIZE() (0x9f000)
42
43struct e820entry;
44
45char * __init machine_specific_memory_setup(void);
Rusty Russelld3561b72006-12-07 02:14:07 +010046char *memory_setup(void);
Jeremy Fitzhardingee75eac32006-06-25 05:46:50 -070047
48int __init copy_e820_map(struct e820entry * biosmap, int nr_map);
49int __init sanitize_e820_map(struct e820entry * biosmap, char * pnr_map);
50void __init add_memory_region(unsigned long long start,
51 unsigned long long size, int type);
52
Rusty Russell40d22c12007-02-13 13:26:26 +010053extern unsigned long init_pg_tables_end;
54
Jeremy Fitzhardinge6996d3b2007-07-17 18:37:03 -070055#ifndef CONFIG_PARAVIRT
56#define paravirt_post_allocator_init() do {} while (0)
57#endif
58
Linus Torvalds1da177e2005-04-16 15:20:36 -070059#endif /* __ASSEMBLY__ */
60
Adrian Bunk7d1362c2006-12-06 20:40:38 -080061#endif /* __KERNEL__ */
62
Linus Torvalds1da177e2005-04-16 15:20:36 -070063#endif /* _i386_SETUP_H */