]>
Commit | Line | Data |
---|---|---|
2262cfee WD |
1 | /* |
2 | * (C) Copyright 2002 | |
fa82f871 | 3 | * Daniel Engström, Omicron Ceti AB, daniel@omicron.se. |
2262cfee | 4 | * |
1a459660 | 5 | * SPDX-License-Identifier: GPL-2.0+ |
2262cfee WD |
6 | */ |
7 | ||
3bac3513 WD |
8 | #ifndef _U_BOOT_I386_H_ |
9 | #define _U_BOOT_I386_H_ 1 | |
2262cfee | 10 | |
2262cfee | 11 | /* cpu/.../cpu.c */ |
8b37c769 | 12 | int arch_cpu_init(void); |
0ea76e92 | 13 | int x86_cpu_init_f(void); |
1c409bc7 | 14 | int cpu_init_f(void); |
9e6c572f GR |
15 | void init_gd(gd_t *id, u64 *gdt_addr); |
16 | void setup_gdt(gd_t *id, u64 *gdt_addr); | |
d653244b | 17 | int init_cache(void); |
f30fc4de | 18 | int cleanup_before_linux(void); |
c78a62ac | 19 | void panic_puts(const char *str); |
8c63d476 GR |
20 | |
21 | /* cpu/.../timer.c */ | |
22 | void timer_isr(void *); | |
23 | typedef void (timer_fnc_t) (void); | |
24 | int register_timer_isr (timer_fnc_t *isr_func); | |
e761ecdb SG |
25 | unsigned long get_tbclk_mhz(void); |
26 | void timer_set_base(uint64_t base); | |
d0b6f247 | 27 | int pcat_timer_init(void); |
8c63d476 | 28 | |
07387d17 SG |
29 | /* Architecture specific DRAM init */ |
30 | int dram_init(void); | |
2262cfee | 31 | |
abf0cd3d GR |
32 | /* cpu/.../interrupts.c */ |
33 | int cpu_init_interrupts(void); | |
34 | ||
2262cfee | 35 | /* board/.../... */ |
7a8e9bed WD |
36 | int dram_init(void); |
37 | ||
e1ffd817 SG |
38 | int cleanup_before_linux(void); |
39 | int x86_cleanup_before_linux(void); | |
40 | void x86_enable_caches(void); | |
41 | void x86_disable_caches(void); | |
42 | int x86_init_cache(void); | |
43 | void reset_cpu(ulong addr); | |
44 | ulong board_get_usable_ram_top(ulong total_size); | |
45 | void dram_init_banksize(void); | |
727c1a98 | 46 | int default_print_cpuinfo(void); |
e1ffd817 | 47 | |
79ea6b87 GR |
48 | void setup_pcat_compatibility(void); |
49 | ||
7a8e9bed WD |
50 | void isa_unmap_rom(u32 addr); |
51 | u32 isa_map_rom(u32 bus_addr, int size); | |
52 | ||
fea25720 | 53 | /* arch/x86/lib/... */ |
7a8e9bed | 54 | int video_bios_init(void); |
2262cfee | 55 | |
f48dd6fc GR |
56 | void board_init_f_r_trampoline(ulong) __attribute__ ((noreturn)); |
57 | void board_init_f_r(void) __attribute__ ((noreturn)); | |
2262cfee | 58 | |
2f899e03 | 59 | /* Read the time stamp counter */ |
d8819f94 | 60 | static inline __attribute__((no_instrument_function)) uint64_t rdtsc(void) |
2f899e03 VB |
61 | { |
62 | uint32_t high, low; | |
63 | __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high)); | |
64 | return (((uint64_t)high) << 32) | low; | |
65 | } | |
66 | ||
67 | /* board/... */ | |
68 | void timer_set_tsc_base(uint64_t new_base); | |
69 | uint64_t timer_get_tsc(void); | |
70 | ||
65dd74a6 SG |
71 | void quick_ram_check(void); |
72 | ||
3bac3513 | 73 | #endif /* _U_BOOT_I386_H_ */ |