1. 26 Oct, 2010 2 commits
    • Wolfgang Denk's avatar
      Replace CONFIG_SYS_GBL_DATA_SIZE by auto-generated value · 25ddd1fb
      Wolfgang Denk authored
      CONFIG_SYS_GBL_DATA_SIZE has always been just a bad workarond for not
      being able to use "sizeof(struct global_data)" in assembler files.
      Recent experience has shown that manual synchronization is not
      reliable enough.  This patch renames CONFIG_SYS_GBL_DATA_SIZE into
      GENERATED_GBL_DATA_SIZE which gets automatically generated by the
      asm-offsets tool.  In the result, all definitions of this value can be
      deleted from the board config files.  We have to make sure that all
      files that reference such data include the new <asm-offsets.h> file.
      
      No other changes have been done yet, but it is obvious that similar
      changes / simplifications can be done for other, related macro
      definitions as well.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      25ddd1fb
    • Wolfgang Denk's avatar
      include/asm-offsets.h: automatically generate assembler constants · 16a354f9
      Wolfgang Denk authored
      A recurrent issue is that certain C level constructs like sizeof() or
      offsetof() cannot be used in assembler files, which is inconvenient
      when such constructs are used in the definition of macro names etc.
      
      To avoid duplication of such definitions (and thus another cause of
      problems), we adapt the Linux way to automatically generate the
      respective definitions from the respective C header files.
      
      In Linux, this is implemented in include/linux/kbuild.h, Kbuild, and
      arch/*/kernel/asm-offsets.c; we adapt the code from the Linux v2.6.36
      kernel tree.
      
      We also copy the concept of the include/generated/ directory which can
      be used to hold other automatically generated files as well.
      
      We start with an architecture-independent lib/asm-offsets.c which
      generates include/generated/generic-asm-offsets.h (included by
      include/asm-offsets.h, which is what will be referred to in the actual
      source code).  Later this may be extended by architecture-specific
      arch/*/lib/asm-offsets.c files that will generate a
      include/generated/asm-offsets.h.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Acked-by: default avatarKumar Gala <galak@kernel.crashing.org>
      16a354f9