• David Mosberger's avatar
    [IA64] fix per-CPU MCA mess and make UP kernels work again · 55c8c0cb
    David Mosberger authored
    This patch cleans up the per-CPU MCA mess with the following changes
    (and yields a UP kernel that actually boots again):
    
     - In percpu.h, make per_cpu_init() a function-call even for the
       UP case.
     - In contig.c, enable per_cpu_init() even for UP since we need to
       allocate the per-CPU MCA data in that case as well.
     - Move the MCA-related stuff out of the cpuinfo structure into
       per-CPU variables defined by mca.c.
     - Rename IA64_KR_PA_CPU_INFO to IA64_KR_PER_CPU_DATA, since it really
       is a per-CPU pointer now.
     - In mca.h, move IA64_MCA_STACK_SIZE early enough so it gets defined
       for assembly-code, too.  Tidy up struct ia64_mca_struct.  Add declaration
       of ia64_mca_cpu_init().
     - In mca_asm.[hS], replace various GET_*() macros with a single
       GET_PERCPU_ADDR() which loads the physical address of an
       arbitrary per-CPU variable.  Remove all dependencies on the
       layout of the cpuinfo structure.  Replace hardcoded stack-size
       with I...
    55c8c0cb
efi.c 24.4 KB