uboot/arch/x86/include/asm/u-boot-x86.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2002
   3 * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
   4 *
   5 * SPDX-License-Identifier:     GPL-2.0+
   6 */
   7
   8#ifndef _U_BOOT_I386_H_
   9#define _U_BOOT_I386_H_ 1
  10
  11struct global_data;
  12
  13extern char gdt_rom[];
  14
  15/* cpu/.../cpu.c */
  16int arch_cpu_init(void);
  17int x86_cpu_init_f(void);
  18int cpu_init_f(void);
  19void setup_gdt(struct global_data *id, u64 *gdt_addr);
  20/*
  21 * Setup FSP execution environment GDT to use the one we used in
  22 * arch/x86/cpu/start16.S and reload the segment registers.
  23 */
  24void setup_fsp_gdt(void);
  25int init_cache(void);
  26int cleanup_before_linux(void);
  27
  28/* cpu/.../timer.c */
  29void timer_isr(void *);
  30typedef void (timer_fnc_t) (void);
  31int register_timer_isr (timer_fnc_t *isr_func);
  32unsigned long get_tbclk_mhz(void);
  33void timer_set_base(uint64_t base);
  34int i8254_init(void);
  35
  36/* cpu/.../interrupts.c */
  37int cpu_init_interrupts(void);
  38
  39int cleanup_before_linux(void);
  40int x86_cleanup_before_linux(void);
  41void x86_enable_caches(void);
  42void x86_disable_caches(void);
  43int x86_init_cache(void);
  44void reset_cpu(ulong addr);
  45ulong board_get_usable_ram_top(ulong total_size);
  46int default_print_cpuinfo(void);
  47
  48/* Set up a UART which can be used with printch(), printhex8(), etc. */
  49int setup_internal_uart(int enable);
  50
  51void setup_pcat_compatibility(void);
  52
  53void isa_unmap_rom(u32 addr);
  54u32 isa_map_rom(u32 bus_addr, int size);
  55
  56/* arch/x86/lib/... */
  57int video_bios_init(void);
  58
  59/* arch/x86/lib/fsp/... */
  60
  61/**
  62 * fsp_save_s3_stack() - save stack address to CMOS for next S3 boot
  63 *
  64 * At the end of pre-relocation phase, save the new stack address
  65 * to CMOS and use it as the stack on next S3 boot for fsp_init()
  66 * continuation function.
  67 *
  68 * @return:     0 if OK, -ve on error
  69 */
  70int fsp_save_s3_stack(void);
  71
  72void    board_init_f_r_trampoline(ulong) __attribute__ ((noreturn));
  73void    board_init_f_r(void) __attribute__ ((noreturn));
  74
  75int arch_misc_init(void);
  76
  77/* Read the time stamp counter */
  78static inline __attribute__((no_instrument_function)) uint64_t rdtsc(void)
  79{
  80        uint32_t high, low;
  81        __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high));
  82        return (((uint64_t)high) << 32) | low;
  83}
  84
  85/* board/... */
  86void timer_set_tsc_base(uint64_t new_base);
  87uint64_t timer_get_tsc(void);
  88void board_quiesce_devices(void);
  89
  90void quick_ram_check(void);
  91
  92#define PCI_VGA_RAM_IMAGE_START         0xc0000
  93
  94#endif  /* _U_BOOT_I386_H_ */
  95