1e8def77d55c0e10983a9809fa47db89ffbafe7e
[platform/kernel/u-boot.git] / include / asm-i386 / u-boot-i386.h
1 /*
2  * (C) Copyright 2002
3  * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
4  *
5  * See file CREDITS for list of people who contributed to this
6  * project.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation; either version 2 of
11  * the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21  * MA 02111-1307 USA
22  */
23
24 #ifndef _U_BOOT_I386_H_
25 #define _U_BOOT_I386_H_ 1
26
27 /* for the following variables, see start.S */
28 extern ulong i386boot_start;        /* code start (in flash) */
29 extern ulong i386boot_end;          /* code end (in flash) */
30 extern ulong i386boot_romdata_start;/* datasegment in flash (also code+rodata end) */
31 extern ulong i386boot_romdata_dest; /* data location segment in ram */
32 extern ulong i386boot_romdata_size; /* size of data segment */
33 extern ulong i386boot_bss_start;    /* bss start */
34 extern ulong i386boot_bss_size;     /* bss size */
35 extern ulong i386boot_stack_end;    /* first usable RAM address after bss and stack */
36 extern ulong i386boot_ram_end;      /* end of ram */
37
38 /* cpu/.../cpu.c */
39 int cpu_init(void);
40
41 /* cpu/.../timer.c */
42 void timer_isr(void *);
43 typedef void (timer_fnc_t) (void);
44 int register_timer_isr (timer_fnc_t *isr_func);
45
46 /* Architecture specific - can be in cpu/i386/, lib_i386/, or $(BOARD)/ */
47 int timer_init(void);
48
49 /* cpu/.../interrupts.c */
50 int cpu_init_interrupts(void);
51
52 /* board/.../... */
53 int board_init(void);
54 int dram_init(void);
55
56 void isa_unmap_rom(u32 addr);
57 u32 isa_map_rom(u32 bus_addr, int size);
58
59 /* lib_i386/... */
60 int video_bios_init(void);
61 int video_init(void);
62
63
64 #endif  /* _U_BOOT_I386_H_ */