From ac4e68b0ccb9fd8926ec26fd1176d7afd3eb7f6b Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Mon, 31 Jan 2011 14:57:26 +0100 Subject: [PATCH] --- yaml --- r: 235181 b: refs/heads/master c: 495162dfefe3f6e3a8e908aa2f0a964a572d3e87 h: refs/heads/master i: 235179: bc2706fe5e4ad8df354196faa15ab7e27a3c9e86 v: v3 --- [refs] | 2 +- trunk/arch/microblaze/kernel/head.S | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 92c7c3d70367..0e61777e0c91 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 601149775158ea825326734c2db5d90190249bd7 +refs/heads/master: 495162dfefe3f6e3a8e908aa2f0a964a572d3e87 diff --git a/trunk/arch/microblaze/kernel/head.S b/trunk/arch/microblaze/kernel/head.S index 778a5ce2e4fc..d8dc085a9456 100644 --- a/trunk/arch/microblaze/kernel/head.S +++ b/trunk/arch/microblaze/kernel/head.S @@ -39,7 +39,7 @@ #include #include -.data +.section .data .global empty_zero_page .align 12 empty_zero_page: @@ -50,6 +50,11 @@ swapper_pg_dir: #endif /* CONFIG_MMU */ +.section .rodata +.align 4 +endian_check: + .word 1 + __HEAD ENTRY(_start) #if CONFIG_KERNEL_BASE_ADDR == 0 @@ -79,10 +84,7 @@ real_start: /* Does r7 point to a valid FDT? Load HEADER magic number */ /* Run time Big/Little endian platform */ /* Save 1 as word and load byte - 0 - BIG, 1 - LITTLE */ - addik r11, r0, 0x1 /* BIG/LITTLE checking value */ - /* __bss_start will be zeroed later - it is just temp location */ - swi r11, r0, TOPHYS(__bss_start) - lbui r11, r0, TOPHYS(__bss_start) + lbui r11, r0, TOPHYS(endian_check) beqid r11, big_endian /* DO NOT break delay stop dependency */ lw r11, r0, r7 /* Big endian load in delay slot */ lwr r11, r0, r7 /* Little endian load */