1fea25720SGraeme Russ /* 2fea25720SGraeme Russ * (C) Copyright 2002 3fa82f871SAlbert ARIBAUD * Daniel Engström, Omicron Ceti AB, daniel@omicron.se. 4fea25720SGraeme Russ * 5fea25720SGraeme Russ * See file CREDITS for list of people who contributed to this 6fea25720SGraeme Russ * project. 7fea25720SGraeme Russ * 8fea25720SGraeme Russ * This program is free software; you can redistribute it and/or 9fea25720SGraeme Russ * modify it under the terms of the GNU General Public License as 10fea25720SGraeme Russ * published by the Free Software Foundation; either version 2 of 11fea25720SGraeme Russ * the License, or (at your option) any later version. 12fea25720SGraeme Russ * 13fea25720SGraeme Russ * This program is distributed in the hope that it will be useful, 14fea25720SGraeme Russ * but WITHOUT ANY WARRANTY; without even the implied warranty of 15fea25720SGraeme Russ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16fea25720SGraeme Russ * GNU General Public License for more details. 17fea25720SGraeme Russ * 18fea25720SGraeme Russ * You should have received a copy of the GNU General Public License 19fea25720SGraeme Russ * along with this program; if not, write to the Free Software 20fea25720SGraeme Russ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21fea25720SGraeme Russ * MA 02111-1307 USA 22fea25720SGraeme Russ */ 23fea25720SGraeme Russ 24fea25720SGraeme Russ #ifndef _U_BOOT_I386_H_ 25fea25720SGraeme Russ #define _U_BOOT_I386_H_ 1 26fea25720SGraeme Russ 2783088afbSGraeme Russ /* Exports from the Linker Script */ 2883088afbSGraeme Russ extern ulong __text_start; 2983088afbSGraeme Russ extern ulong __data_end; 3083088afbSGraeme Russ extern ulong __rel_dyn_start; 3183088afbSGraeme Russ extern ulong __rel_dyn_end; 3283088afbSGraeme Russ extern ulong __bss_start; 3383088afbSGraeme Russ extern ulong __bss_end; 3483088afbSGraeme Russ 35fea25720SGraeme Russ /* cpu/.../cpu.c */ 36fea25720SGraeme Russ int x86_cpu_init_r(void); 37fea25720SGraeme Russ int cpu_init_r(void); 38fea25720SGraeme Russ int x86_cpu_init_f(void); 39fea25720SGraeme Russ int cpu_init_f(void); 409e6c572fSGraeme Russ void init_gd(gd_t *id, u64 *gdt_addr); 419e6c572fSGraeme Russ void setup_gdt(gd_t *id, u64 *gdt_addr); 42d653244bSGraeme Russ int init_cache(void); 43*f30fc4deSGabe Black int cleanup_before_linux(void); 44fea25720SGraeme Russ 45fea25720SGraeme Russ /* cpu/.../timer.c */ 46fea25720SGraeme Russ void timer_isr(void *); 47fea25720SGraeme Russ typedef void (timer_fnc_t) (void); 48fea25720SGraeme Russ int register_timer_isr (timer_fnc_t *isr_func); 49fea25720SGraeme Russ 50fea25720SGraeme Russ /* Architecture specific - can be in arch/x86/cpu/, arch/x86/lib/, or $(BOARD)/ */ 51fea25720SGraeme Russ int dram_init_f(void); 52fea25720SGraeme Russ 53fea25720SGraeme Russ /* cpu/.../interrupts.c */ 54fea25720SGraeme Russ int cpu_init_interrupts(void); 55fea25720SGraeme Russ 56fea25720SGraeme Russ /* board/.../... */ 57fea25720SGraeme Russ int dram_init(void); 58fea25720SGraeme Russ 59fea25720SGraeme Russ void setup_pcat_compatibility(void); 60fea25720SGraeme Russ 61fea25720SGraeme Russ void isa_unmap_rom(u32 addr); 62fea25720SGraeme Russ u32 isa_map_rom(u32 bus_addr, int size); 63fea25720SGraeme Russ 64fea25720SGraeme Russ /* arch/x86/lib/... */ 65fea25720SGraeme Russ int video_bios_init(void); 66fea25720SGraeme Russ int video_init(void); 67fea25720SGraeme Russ 68f48dd6fcSGraeme Russ void board_init_f_r_trampoline(ulong) __attribute__ ((noreturn)); 69f48dd6fcSGraeme Russ void board_init_f_r(void) __attribute__ ((noreturn)); 70fea25720SGraeme Russ 71fea25720SGraeme Russ #endif /* _U_BOOT_I386_H_ */ 72