]> Git Repo - J-u-boot.git/blame - arch/x86/include/asm/global_data.h
x86: Change global data baudrate to int
[J-u-boot.git] / arch / x86 / include / asm / global_data.h
CommitLineData
2262cfee 1/*
91a76751 2 * (C) Copyright 2002-2010
2262cfee
WD
3 * Wolfgang Denk, DENX Software Engineering, [email protected].
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 __ASM_GBL_DATA_H
25#define __ASM_GBL_DATA_H
26/*
27 * The following data structure is placed in some memory wich is
28 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
29 * some locked parts of the data cache) to allow for a minimum set of
30 * global variables during system initialization (until we have set
31 * up the memory controller so that we can use RAM).
2262cfee
WD
32 */
33
161b3589
GR
34#ifndef __ASSEMBLY__
35
de47cbe6 36typedef struct global_data {
9e6c572f
GR
37 /* NOTE: gd_addr MUST be first member of struct global_data! */
38 unsigned long gd_addr; /* Location of Global Data */
2262cfee
WD
39 bd_t *bd;
40 unsigned long flags;
55f97c1b 41 unsigned int baudrate;
2262cfee 42 unsigned long have_console; /* serial_init() was called */
9558b48a
GR
43#ifdef CONFIG_PRE_CONSOLE_BUFFER
44 unsigned long precon_buf_idx; /* Pre-Console buffer index */
45#endif
2262cfee 46 unsigned long reloc_off; /* Relocation Offset */
c868af3e 47 unsigned long load_off; /* Load Offset */
2262cfee
WD
48 unsigned long env_addr; /* Address of Environment struct */
49 unsigned long env_valid; /* Checksum of Environment valid? */
50 unsigned long cpu_clk; /* CPU clock in Hz! */
51 unsigned long bus_clk;
71a54049
GR
52 unsigned long relocaddr; /* Start address of U-Boot in RAM */
53 unsigned long start_addr_sp; /* start_addr_stackpointer */
9e6c572f
GR
54 unsigned long gdt_addr; /* Location of GDT */
55 unsigned long new_gd_addr; /* New location of Global Data */
b57ca3e1 56 phys_size_t ram_size; /* RAM size */
2262cfee 57 unsigned long reset_status; /* reset status register at boot */
27b207fd 58 void **jt; /* jump table */
91a76751 59 char env_buf[32]; /* buffer for getenv() before reloc. */
2262cfee
WD
60} gd_t;
61
9e6c572f
GR
62static inline gd_t *get_fs_gd_ptr(void)
63{
64 gd_t *gd_ptr;
65
66 asm volatile("fs movl 0, %0\n" : "=r" (gd_ptr));
67
68 return gd_ptr;
69}
70
71#define gd get_fs_gd_ptr()
161b3589
GR
72
73#endif
74
47fde91f 75#include <asm-generic/global_data_flags.h>
c81b26be 76
3ef96ded 77#define DECLARE_GLOBAL_DATA_PTR
2262cfee
WD
78
79#endif /* __ASM_GBL_DATA_H */
This page took 0.25734 seconds and 4 git commands to generate.