diff options
| -rw-r--r-- | arch/powerpc/kernel/head_64.S | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index 1448af92c6a9..171800002ede 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S | |||
| @@ -1672,8 +1672,9 @@ _GLOBAL(__start_initialization_multiplatform) | |||
| 1672 | * Are we booted from a PROM Of-type client-interface ? | 1672 | * Are we booted from a PROM Of-type client-interface ? |
| 1673 | */ | 1673 | */ |
| 1674 | cmpldi cr0,r5,0 | 1674 | cmpldi cr0,r5,0 |
| 1675 | bne .__boot_from_prom /* yes -> prom */ | 1675 | beq 1f |
| 1676 | 1676 | b .__boot_from_prom /* yes -> prom */ | |
| 1677 | 1: | ||
| 1677 | /* Save parameters */ | 1678 | /* Save parameters */ |
| 1678 | mr r31,r3 | 1679 | mr r31,r3 |
| 1679 | mr r30,r4 | 1680 | mr r30,r4 |
| @@ -1701,7 +1702,7 @@ _GLOBAL(__start_initialization_multiplatform) | |||
| 1701 | bl .__mmu_off | 1702 | bl .__mmu_off |
| 1702 | b .__after_prom_start | 1703 | b .__after_prom_start |
| 1703 | 1704 | ||
| 1704 | _STATIC(__boot_from_prom) | 1705 | _INIT_STATIC(__boot_from_prom) |
| 1705 | /* Save parameters */ | 1706 | /* Save parameters */ |
| 1706 | mr r31,r3 | 1707 | mr r31,r3 |
| 1707 | mr r30,r4 | 1708 | mr r30,r4 |
| @@ -1768,9 +1769,10 @@ _STATIC(__after_prom_start) | |||
| 1768 | /* the source addr */ | 1769 | /* the source addr */ |
| 1769 | 1770 | ||
| 1770 | cmpdi r4,0 /* In some cases the loader may */ | 1771 | cmpdi r4,0 /* In some cases the loader may */ |
| 1771 | beq .start_here_multiplatform /* have already put us at zero */ | 1772 | bne 1f |
| 1773 | b .start_here_multiplatform /* have already put us at zero */ | ||
| 1772 | /* so we can skip the copy. */ | 1774 | /* so we can skip the copy. */ |
| 1773 | LOAD_REG_IMMEDIATE(r5,copy_to_here) /* # bytes of memory to copy */ | 1775 | 1: LOAD_REG_IMMEDIATE(r5,copy_to_here) /* # bytes of memory to copy */ |
| 1774 | sub r5,r5,r27 | 1776 | sub r5,r5,r27 |
| 1775 | 1777 | ||
| 1776 | li r6,0x100 /* Start offset, the first 0x100 */ | 1778 | li r6,0x100 /* Start offset, the first 0x100 */ |
| @@ -1957,7 +1959,7 @@ _GLOBAL(enable_64b_mode) | |||
| 1957 | /* | 1959 | /* |
| 1958 | * This is where the main kernel code starts. | 1960 | * This is where the main kernel code starts. |
| 1959 | */ | 1961 | */ |
| 1960 | _STATIC(start_here_multiplatform) | 1962 | _INIT_STATIC(start_here_multiplatform) |
| 1961 | /* get a new offset, now that the kernel has moved. */ | 1963 | /* get a new offset, now that the kernel has moved. */ |
| 1962 | bl .reloc_offset | 1964 | bl .reloc_offset |
| 1963 | mr r26,r3 | 1965 | mr r26,r3 |
| @@ -2019,7 +2021,7 @@ _STATIC(start_here_multiplatform) | |||
| 2019 | b . /* prevent speculative execution */ | 2021 | b . /* prevent speculative execution */ |
| 2020 | 2022 | ||
| 2021 | /* This is where all platforms converge execution */ | 2023 | /* This is where all platforms converge execution */ |
| 2022 | _STATIC(start_here_common) | 2024 | _INIT_STATIC(start_here_common) |
| 2023 | /* relocation is on at this point */ | 2025 | /* relocation is on at this point */ |
| 2024 | 2026 | ||
| 2025 | /* The following code sets up the SP and TOC now that we are */ | 2027 | /* The following code sets up the SP and TOC now that we are */ |
