Blame view

lib/asm-offsets.c 1.02 KB
16a354f92   Wolfgang Denk   include/asm-offse...
1
2
3
4
5
6
7
8
9
10
11
  /*
   * Adapted from Linux v2.6.36 kernel: arch/powerpc/kernel/asm-offsets.c
   *
   * This program is used to generate definitions needed by
   * assembly language modules.
   *
   * We use the technique used in the OSF Mach kernel code:
   * generate asm statements containing #defines,
   * compile this file to assembler, and then extract the
   * #defines from the assembly-language output.
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
12
   * SPDX-License-Identifier:	GPL-2.0+
16a354f92   Wolfgang Denk   include/asm-offse...
13
14
15
16
17
18
19
20
   */
  
  #include <common.h>
  
  #include <linux/kbuild.h>
  
  int main(void)
  {
25ddd1fb0   Wolfgang Denk   Replace CONFIG_SY...
21
22
  	/* Round up to make sure size gives nice stack alignment */
  	DEFINE(GENERATED_GBL_DATA_SIZE,
0c51c245a   Stefan Roese   Small coding styl...
23
  		(sizeof(struct global_data) + 15) & ~15);
25ddd1fb0   Wolfgang Denk   Replace CONFIG_SY...
24

89c95f0cd   Mike Frysinger   asm-offsets: gene...
25
  	DEFINE(GENERATED_BD_INFO_SIZE,
0c51c245a   Stefan Roese   Small coding styl...
26
  		(sizeof(struct bd_info) + 15) & ~15);
89c95f0cd   Mike Frysinger   asm-offsets: gene...
27

e05e5de7f   Albert ARIBAUD   arm: move C runti...
28
29
30
31
32
33
34
35
36
37
38
39
40
  	DEFINE(GD_SIZE, sizeof(struct global_data));
  
  	DEFINE(GD_BD, offsetof(struct global_data, bd));
  
  #if defined(CONFIG_ARM)
  
  	DEFINE(GD_RELOCADDR, offsetof(struct global_data, relocaddr));
  
  	DEFINE(GD_RELOC_OFF, offsetof(struct global_data, reloc_off));
  
  	DEFINE(GD_START_ADDR_SP, offsetof(struct global_data, start_addr_sp));
  
  #endif
16a354f92   Wolfgang Denk   include/asm-offse...
41
42
  	return 0;
  }