diff --git a/README b/README index 246ae2bad..c90f6ee2d 100644 --- a/README +++ b/README @@ -3912,10 +3912,10 @@ For PowerPC, the following registers have specific use: average for all boards 752 bytes for the whole U-Boot image, 624 text + 127 data). -On Blackfin, the normal C ABI (except for P5) is followed as documented here: +On Blackfin, the normal C ABI (except for P3) is followed as documented here: http://docs.blackfin.uclinux.org/doku.php?id=application_binary_interface - ==> U-Boot will use P5 to hold a pointer to the global data + ==> U-Boot will use P3 to hold a pointer to the global data On ARM, the following registers are used: diff --git a/doc/README.standalone b/doc/README.standalone index 81b949a0a..885c92fb3 100644 --- a/doc/README.standalone +++ b/doc/README.standalone @@ -21,7 +21,7 @@ Design Notes on Exporting U-Boot Functions to Standalone Applications: 2. The pointer to the jump table is passed to the application in a machine-dependent way. PowerPC, ARM, MIPS and Blackfin architectures use a dedicated register to hold the pointer to the 'global_data' - structure: r2 on PowerPC, r8 on ARM, k0 on MIPS, and P5 on Blackfin. + structure: r2 on PowerPC, r8 on ARM, k0 on MIPS, and P3 on Blackfin. The x86 architecture does not use such a register; instead, the pointer to the 'global_data' structure is passed as 'argv[-1]' pointer. diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c index a8cb95428..339bbf9b5 100644 --- a/examples/standalone/stubs.c +++ b/examples/standalone/stubs.c @@ -127,14 +127,14 @@ gd_t *global_data; : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "r5"); #elif defined(CONFIG_BLACKFIN) /* - * P5 holds the pointer to the global_data, P0 is a call-clobbered + * P3 holds the pointer to the global_data, P0 is a call-clobbered * register */ #define EXPORT_FUNC(x) \ asm volatile ( \ " .globl _" #x "\n_" \ #x ":\n" \ -" P0 = [P5 + %0]\n" \ +" P0 = [P3 + %0]\n" \ " P0 = [P0 + %1]\n" \ " JUMP (P0)\n" \ : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "P0"); diff --git a/include/asm-blackfin/global_data.h b/include/asm-blackfin/global_data.h index 5c9903bb1..3194b72a5 100644 --- a/include/asm-blackfin/global_data.h +++ b/include/asm-blackfin/global_data.h @@ -66,6 +66,6 @@ typedef struct global_data { #define GD_FLG_LOGINIT 0x00020 /* Log Buf has been initialized */ #define GD_FLG_DISABLE_CONSOLE 0x00040 /* Disable console (in & out) */ -#define DECLARE_GLOBAL_DATA_PTR register gd_t * volatile gd asm ("P5") +#define DECLARE_GLOBAL_DATA_PTR register gd_t * volatile gd asm ("P3") #endif diff --git a/lib_blackfin/config.mk b/lib_blackfin/config.mk index a7e3658c3..34b53e690 100644 --- a/lib_blackfin/config.mk +++ b/lib_blackfin/config.mk @@ -28,7 +28,7 @@ CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE))) CONFIG_ENV_OFFSET := $(strip $(subst ",,$(CONFIG_ENV_OFFSET))) CONFIG_ENV_SIZE := $(strip $(subst ",,$(CONFIG_ENV_SIZE))) -PLATFORM_RELFLAGS += -ffixed-P5 -fomit-frame-pointer -mno-fdpic +PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN LDFLAGS += --gc-sections