• Vineet Gupta's avatar
    ARC: boot log: eliminate struct cpuinfo_arc #1: mm · 72d861f2
    Vineet Gupta authored
    This is first step in eliminating struct cpuinfo_arc[NR_CPUS]
    
    Back when we had just ARCompact ISA, the idea was to read/bit-fiddle
    the BCRs once and and cache decoded information in a global struct ready
    to use.
    
    With ARCv2 it was modified to contained abstract / ISA agnostic
    information.
    
    However with ARCv3 there 's too much disparity to abstract in common
    structures. So drop the entire decode once and store paradigm. Afterall
    there's only 2 users of this machinery anyways:  boot printing and
    cat /proc/cpuinfo. None is performance critical to warrant locking away
    resident memory per cpu.
    
    This patch is first step in that direction
     - decouples struct cpuinfo_arc_mmu from global struct cpuinfo_arc
     - mmu code still has a trimmed down static version of
       struct cpuinfo_arc_mmu to cache information needed in performance
       critical code such as tlb flush routines
     - folds read_decode_mmu_bcr() into arc_mmu_mumbojumbo()
     - setup_processor() directly calls arc_mmu_init() and not via
       arc_cpu_init()
    Tested-by: default avatarkernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202308151213.qKZPMiyz-lkp@intel.com/Signed-off-by: default avatarVineet Gupta <vgupta@kernel.org>
    72d861f2
setup.c 17.3 KB