Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze

* 'next' of git://git.monstr.eu/linux-2.6-microblaze:
microblaze: Fix ASM optimized code for LE
microblaze: Fix unaligned issue on MMU system with BS=0 DIV=1
microblaze: Fix DTB passing from bootloader

+16 -6
+12 -2
arch/microblaze/kernel/head.S
··· 77 77 We ensure r7 points to a valid FDT, just in case the bootloader 78 78 is broken or non-existent */ 79 79 beqi r7, no_fdt_arg /* NULL pointer? don't copy */ 80 - lw r11, r0, r7 /* Does r7 point to a */ 81 - rsubi r11, r11, OF_DT_HEADER /* valid FDT? */ 80 + /* Does r7 point to a valid FDT? Load HEADER magic number */ 81 + /* Run time Big/Little endian platform */ 82 + /* Save 1 as word and load byte - 0 - BIG, 1 - LITTLE */ 83 + addik r11, r0, 0x1 /* BIG/LITTLE checking value */ 84 + /* __bss_start will be zeroed later - it is just temp location */ 85 + swi r11, r0, TOPHYS(__bss_start) 86 + lbui r11, r0, TOPHYS(__bss_start) 87 + beqid r11, big_endian /* DO NOT break delay stop dependency */ 88 + lw r11, r0, r7 /* Big endian load in delay slot */ 89 + lwr r11, r0, r7 /* Little endian load */ 90 + big_endian: 91 + rsubi r11, r11, OF_DT_HEADER /* Check FDT header */ 82 92 beqi r11, _prepare_copy_fdt 83 93 or r7, r0, r0 /* clear R7 when not valid DTB */ 84 94 bnei r11, no_fdt_arg /* No - get out of here */
-4
arch/microblaze/kernel/hw_exception_handler.S
··· 147 147 #if CONFIG_XILINX_MICROBLAZE0_USE_BARREL > 0 148 148 #define BSRLI(rD, rA, imm) \ 149 149 bsrli rD, rA, imm 150 - #elif CONFIG_XILINX_MICROBLAZE0_USE_DIV > 0 151 - #define BSRLI(rD, rA, imm) \ 152 - ori rD, r0, (1 << imm); \ 153 - idivu rD, rD, rA 154 150 #else 155 151 #define BSRLI(rD, rA, imm) BSRLI ## imm (rD, rA) 156 152 /* Only the used shift constants defined here - add more if needed */
+4
arch/microblaze/lib/fastcopy.S
··· 29 29 * between mem locations with size of xfer spec'd in bytes 30 30 */ 31 31 32 + #ifdef __MICROBLAZEEL__ 33 + #error Microblaze LE not support ASM optimized lib func. Disable OPT_LIB_ASM. 34 + #endif 35 + 32 36 #include <linux/linkage.h> 33 37 .text 34 38 .globl memcpy