Skip to content
  • Russell King's avatar
    [ARM] Fix SMP initialisation oops · 7bbb7940
    Russell King authored
    
    
    A change to the SMP initialisation caused the following oops:
    
     CPU1: Booted secondary processor
     CPU1: D VIPT write-back cache
     CPU1: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
     CPU1: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
     <7>Calibrating delay loop... 83.14 BogoMIPS (lpj=415744)
     <1>Unable to handle kernel NULL pointer dereference at virtual address 0000001c
     ...
     PC is at enqueue_task+0x1c/0x64
     LR is at activate_task+0xcc/0xe4
    
    SMP initialisation now requires cpu_possible_map to be initialised in
    setup_arch().  Move this from smp_prepare_cpus() to smp_init_cpus()
    and call it from our setup_arch() if CONFIG_SMP is enabled.
    
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    7bbb7940