diff options
| -rw-r--r-- | arch/ppc64/kernel/head.S | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/ppc64/kernel/head.S b/arch/ppc64/kernel/head.S index 036959775623..b436206e317d 100644 --- a/arch/ppc64/kernel/head.S +++ b/arch/ppc64/kernel/head.S | |||
| @@ -1646,8 +1646,9 @@ _GLOBAL(__secondary_start) | |||
| 1646 | #else | 1646 | #else |
| 1647 | /* set the ASR */ | 1647 | /* set the ASR */ |
| 1648 | ld r3,systemcfg@got(r2) /* r3 = ptr to systemcfg */ | 1648 | ld r3,systemcfg@got(r2) /* r3 = ptr to systemcfg */ |
| 1649 | ld r3,0(r3) | ||
| 1649 | lwz r3,PLATFORM(r3) /* r3 = platform flags */ | 1650 | lwz r3,PLATFORM(r3) /* r3 = platform flags */ |
| 1650 | cmpldi r3,PLATFORM_PSERIES_LPAR | 1651 | andi. r3,r3,PLATFORM_LPAR /* Test if bit 0 is set (LPAR bit) */ |
| 1651 | bne 98f | 1652 | bne 98f |
| 1652 | mfspr r3,PVR | 1653 | mfspr r3,PVR |
| 1653 | srwi r3,r3,16 | 1654 | srwi r3,r3,16 |
| @@ -1809,8 +1810,9 @@ _STATIC(start_here_multiplatform) | |||
| 1809 | ld r3,PACASTABREAL(r13) | 1810 | ld r3,PACASTABREAL(r13) |
| 1810 | ori r4,r3,1 /* turn on valid bit */ | 1811 | ori r4,r3,1 /* turn on valid bit */ |
| 1811 | ld r3,systemcfg@got(r2) /* r3 = ptr to systemcfg */ | 1812 | ld r3,systemcfg@got(r2) /* r3 = ptr to systemcfg */ |
| 1813 | ld r3,0(r3) | ||
| 1812 | lwz r3,PLATFORM(r3) /* r3 = platform flags */ | 1814 | lwz r3,PLATFORM(r3) /* r3 = platform flags */ |
| 1813 | cmpldi r3,PLATFORM_PSERIES_LPAR | 1815 | andi. r3,r3,PLATFORM_LPAR /* Test if bit 0 is set (LPAR bit) */ |
| 1814 | bne 98f | 1816 | bne 98f |
| 1815 | mfspr r3,PVR | 1817 | mfspr r3,PVR |
| 1816 | srwi r3,r3,16 | 1818 | srwi r3,r3,16 |
| @@ -1828,9 +1830,10 @@ _STATIC(start_here_multiplatform) | |||
| 1828 | 99: | 1830 | 99: |
| 1829 | /* Set SDR1 (hash table pointer) */ | 1831 | /* Set SDR1 (hash table pointer) */ |
| 1830 | ld r3,systemcfg@got(r2) /* r3 = ptr to systemcfg */ | 1832 | ld r3,systemcfg@got(r2) /* r3 = ptr to systemcfg */ |
| 1833 | ld r3,0(r3) | ||
| 1831 | lwz r3,PLATFORM(r3) /* r3 = platform flags */ | 1834 | lwz r3,PLATFORM(r3) /* r3 = platform flags */ |
| 1832 | /* Test if bit 0 is set (LPAR bit) */ | 1835 | /* Test if bit 0 is set (LPAR bit) */ |
| 1833 | andi. r3,r3,0x1 | 1836 | andi. r3,r3,PLATFORM_LPAR |
| 1834 | bne 98f | 1837 | bne 98f |
| 1835 | LOADADDR(r6,_SDR1) /* Only if NOT LPAR */ | 1838 | LOADADDR(r6,_SDR1) /* Only if NOT LPAR */ |
| 1836 | sub r6,r6,r26 | 1839 | sub r6,r6,r26 |
