diff options
| -rw-r--r-- | arch/microblaze/kernel/head.S | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/microblaze/kernel/head.S b/arch/microblaze/kernel/head.S index 30916193fcc7..cb7815cfe5ab 100644 --- a/arch/microblaze/kernel/head.S +++ b/arch/microblaze/kernel/head.S | |||
| @@ -99,8 +99,8 @@ no_fdt_arg: | |||
| 99 | tophys(r4,r4) /* convert to phys address */ | 99 | tophys(r4,r4) /* convert to phys address */ |
| 100 | ori r3, r0, COMMAND_LINE_SIZE - 1 /* number of loops */ | 100 | ori r3, r0, COMMAND_LINE_SIZE - 1 /* number of loops */ |
| 101 | _copy_command_line: | 101 | _copy_command_line: |
| 102 | lbu r7, r5, r6 /* r7=r5+r6 - r5 contain pointer to command line */ | 102 | lbu r2, r5, r6 /* r7=r5+r6 - r5 contain pointer to command line */ |
| 103 | sb r7, r4, r6 /* addr[r4+r6]= r7*/ | 103 | sb r2, r4, r6 /* addr[r4+r6]= r7*/ |
| 104 | addik r6, r6, 1 /* increment counting */ | 104 | addik r6, r6, 1 /* increment counting */ |
| 105 | bgtid r3, _copy_command_line /* loop for all entries */ | 105 | bgtid r3, _copy_command_line /* loop for all entries */ |
| 106 | addik r3, r3, -1 /* descrement loop */ | 106 | addik r3, r3, -1 /* descrement loop */ |
| @@ -136,6 +136,11 @@ _invalidate: | |||
| 136 | addik r3, r3, -1 | 136 | addik r3, r3, -1 |
| 137 | /* sync */ | 137 | /* sync */ |
| 138 | 138 | ||
| 139 | /* Setup the kernel PID */ | ||
| 140 | mts rpid,r0 /* Load the kernel PID */ | ||
| 141 | nop | ||
| 142 | bri 4 | ||
| 143 | |||
| 139 | /* | 144 | /* |
| 140 | * We should still be executing code at physical address area | 145 | * We should still be executing code at physical address area |
| 141 | * RAM_BASEADDR at this point. However, kernel code is at | 146 | * RAM_BASEADDR at this point. However, kernel code is at |
| @@ -146,10 +151,6 @@ _invalidate: | |||
| 146 | addik r3,r0, CONFIG_KERNEL_START /* Load the kernel virtual address */ | 151 | addik r3,r0, CONFIG_KERNEL_START /* Load the kernel virtual address */ |
| 147 | tophys(r4,r3) /* Load the kernel physical address */ | 152 | tophys(r4,r3) /* Load the kernel physical address */ |
| 148 | 153 | ||
| 149 | mts rpid,r0 /* Load the kernel PID */ | ||
| 150 | nop | ||
| 151 | bri 4 | ||
| 152 | |||
| 153 | /* | 154 | /* |
| 154 | * Configure and load two entries into TLB slots 0 and 1. | 155 | * Configure and load two entries into TLB slots 0 and 1. |
| 155 | * In case we are pinning TLBs, these are reserved in by the | 156 | * In case we are pinning TLBs, these are reserved in by the |
