Add architecture-specific global data
We plan to move architecture-specific data into a separate structure so that we can make the rest of it common. As a first step, create struct arch_global_data to hold these fields. Initially it is empty. This patch applies to all archs at once. I can split it if this is really a pain. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		
							parent
							
								
									6ad77d88e5
								
							
						
					
					
						commit
						5cb48582ac
					
				| 
						 | 
				
			
			@ -23,6 +23,11 @@
 | 
			
		|||
 | 
			
		||||
#ifndef	__ASM_GBL_DATA_H
 | 
			
		||||
#define __ASM_GBL_DATA_H
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory which is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -83,6 +88,7 @@ typedef	struct	global_data {
 | 
			
		|||
	unsigned long	post_log_res; /* success of POST test */
 | 
			
		||||
	unsigned long	post_init_f_time; /* When post_init_f started */
 | 
			
		||||
#endif
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,10 @@
 | 
			
		|||
#ifndef __ASM_GLOBAL_DATA_H__
 | 
			
		||||
#define __ASM_GLOBAL_DATA_H__
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -48,6 +52,7 @@ typedef	struct	global_data {
 | 
			
		|||
#endif
 | 
			
		||||
	void		**jt;		/* jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,6 +30,10 @@
 | 
			
		|||
 | 
			
		||||
#include <asm/u-boot.h>
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -57,6 +61,7 @@ typedef struct global_data {
 | 
			
		|||
 | 
			
		||||
	void	**jt;			/* jump table */
 | 
			
		||||
	char	env_buf[32];		/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,11 @@
 | 
			
		|||
 | 
			
		||||
#ifndef	__ASM_GBL_DATA_H
 | 
			
		||||
#define __ASM_GBL_DATA_H
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -66,6 +71,7 @@ typedef	struct	global_data {
 | 
			
		|||
#endif
 | 
			
		||||
	void		**jt;		/* Standalone app jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,11 @@
 | 
			
		|||
 | 
			
		||||
#ifndef	__ASM_GBL_DATA_H
 | 
			
		||||
#define __ASM_GBL_DATA_H
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +51,7 @@ typedef	struct	global_data {
 | 
			
		|||
	unsigned long	fb_base;	/* base address of frame buffer */
 | 
			
		||||
	void		**jt;		/* jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,10 @@
 | 
			
		|||
 | 
			
		||||
#include <asm/regdef.h>
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -59,6 +63,7 @@ typedef	struct	global_data {
 | 
			
		|||
	unsigned long	env_valid;	/* Checksum of Environment valid? */
 | 
			
		||||
	void		**jt;		/* jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,11 @@
 | 
			
		|||
 | 
			
		||||
#ifndef	__ASM_GBL_DATA_H
 | 
			
		||||
#define __ASM_GBL_DATA_H
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -63,6 +68,7 @@ typedef	struct global_data {
 | 
			
		|||
 | 
			
		||||
	void		**jt;		/* jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,10 @@
 | 
			
		|||
#ifndef	__ASM_NIOS2_GLOBALDATA_H_
 | 
			
		||||
#define __ASM_NIOS2_GLOBALDATA_H_
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef	struct	global_data {
 | 
			
		||||
	bd_t		*bd;
 | 
			
		||||
	unsigned long	flags;
 | 
			
		||||
| 
						 | 
				
			
			@ -42,6 +46,7 @@ typedef	struct	global_data {
 | 
			
		|||
#endif
 | 
			
		||||
	void		**jt;		/* Standalone app jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,11 @@
 | 
			
		|||
 | 
			
		||||
#ifndef __ASM_GBL_DATA_H
 | 
			
		||||
#define __ASM_GBL_DATA_H
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -44,6 +49,7 @@ typedef struct global_data {
 | 
			
		|||
	unsigned long	fb_base;	/* base address of frame buffer */
 | 
			
		||||
	void		**jt;		/* jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,10 @@
 | 
			
		|||
#include "config.h"
 | 
			
		||||
#include "asm/types.h"
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -184,6 +188,7 @@ typedef	struct	global_data {
 | 
			
		|||
#endif
 | 
			
		||||
	void		**jt;		/* jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,11 @@
 | 
			
		|||
 | 
			
		||||
#ifndef	__ASM_GBL_DATA_H
 | 
			
		||||
#define __ASM_GBL_DATA_H
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +51,7 @@ typedef	struct global_data {
 | 
			
		|||
	const void	*fdt_blob;	/* Our device tree, NULL if none */
 | 
			
		||||
	void		**jt;		/* jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,10 @@
 | 
			
		|||
#ifndef	__ASM_SH_GLOBALDATA_H_
 | 
			
		||||
#define __ASM_SH_GLOBALDATA_H_
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef	struct global_data
 | 
			
		||||
{
 | 
			
		||||
	bd_t		*bd;
 | 
			
		||||
| 
						 | 
				
			
			@ -42,6 +46,7 @@ typedef	struct global_data
 | 
			
		|||
	unsigned long	env_valid;	/* Checksum of Environment valid */
 | 
			
		||||
	void		**jt;		/* Standalone app jump table */
 | 
			
		||||
	char		env_buf[32];	/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,6 +29,10 @@
 | 
			
		|||
 | 
			
		||||
#include "asm/types.h"
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -74,6 +78,7 @@ typedef struct global_data {
 | 
			
		|||
#endif
 | 
			
		||||
	void	**jt;			/* jump table */
 | 
			
		||||
	char	env_buf[32];		/* buffer for getenv() before reloc. */
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
} gd_t;
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/global_data_flags.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,13 @@
 | 
			
		|||
 | 
			
		||||
#ifndef	__ASM_GBL_DATA_H
 | 
			
		||||
#define __ASM_GBL_DATA_H
 | 
			
		||||
 | 
			
		||||
#ifndef __ASSEMBLY__
 | 
			
		||||
 | 
			
		||||
/* Architecture-specific global data */
 | 
			
		||||
struct arch_global_data {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following data structure is placed in some memory wich is
 | 
			
		||||
 * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or
 | 
			
		||||
| 
						 | 
				
			
			@ -31,13 +38,12 @@
 | 
			
		|||
 * up the memory controller so that we can use RAM).
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef __ASSEMBLY__
 | 
			
		||||
 | 
			
		||||
#include <asm/u-boot.h>
 | 
			
		||||
 | 
			
		||||
typedef struct global_data gd_t;
 | 
			
		||||
 | 
			
		||||
struct global_data {
 | 
			
		||||
	struct arch_global_data arch;	/* architecture-specific data */
 | 
			
		||||
	/* NOTE: gd_addr MUST be first member of struct global_data! */
 | 
			
		||||
	gd_t *gd_addr;	/* Location of Global Data */
 | 
			
		||||
	bd_t		*bd;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue