• Benjamin Herrenschmidt's avatar
    powerpc/iseries: Fix early init access to lppaca · f2f6dad6
    Benjamin Herrenschmidt authored
    The combination of commit
    
    8154c5d2 and
    93c22703
    
    Broke boot on iSeries.
    
    The problem is that iSeries very early boot code, which generates
    the device-tree and runs before our normal early initializations
    does need access the lppaca's very early, before the PACA array is
    initialized, and in fact even before the boot PACA has been
    initialized (it contains all 0's at this stage).
    
    However, the first patch above makes that code use the new
    llpaca_of(cpu) accessor, which itself is changed by the second patch to
    use the PACA array.
    
    We fix that by reverting iSeries to directly dereferencing the array. In
    addition, we fix all iterators in the iSeries code to always skip CPU
    whose number is above 63 which is the maximum size of that array and
    the maximum number of supported CPUs on these machines.
    
    Additionally, we make sure the boot_paca is properly initialized
    in our early startup code.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    f2f6dad6
lppaca.h 9.02 KB