uboot/arch/arm/include/asm/secure.h
<<
>>
Prefs
   1#ifndef __ASM_SECURE_H
   2#define __ASM_SECURE_H
   3
   4#include <config.h>
   5
   6#ifdef CONFIG_ARMV7_SECURE_BASE
   7/*
   8 * Warning, horror ahead.
   9 *
  10 * The target code lives in our "secure ram", but u-boot doesn't know
  11 * that, and has blindly added reloc_off to every relocation
  12 * entry. Gahh. Do the opposite conversion. This hack also prevents
  13 * GCC from generating code veeners, which u-boot doesn't relocate at
  14 * all...
  15 */
  16#define secure_ram_addr(_fn) ({                                         \
  17                        DECLARE_GLOBAL_DATA_PTR;                        \
  18                        void *__fn = _fn;                               \
  19                        typeof(_fn) *__tmp = (__fn - gd->reloc_off);    \
  20                        __tmp;                                          \
  21                })
  22#else
  23#define secure_ram_addr(_fn)    (_fn)
  24#endif
  25
  26#endif
  27