Skip to content
  • Lorenzo Pieralisi's avatar
    arm64: kernel: fix per-cpu offset restore on resume · fb4a9602
    Lorenzo Pieralisi authored
    The introduction of percpu offset optimisation through tpidr_el1 in:
    
    Commit id :71586276
    
    
    "arm64: percpu: implement optimised pcpu access using tpidr_el1"
    
    requires cpu_{suspend/resume} to restore the tpidr_el1 register upon resume
    so that percpu variables can be addressed correctly when a CPU comes out
    of reset from warm-boot.
    
    This patch fixes cpu_{suspend}/{resume} tpidr_el1 restoration on resume, by
    calling the set_my_cpu_offset C API, as it is done on primary and secondary
    CPUs on cold boot, so that, even if the register used to store the percpu
    offset is changed, the save and restore of general purpose registers does not
    have to be updated.
    
    Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    fb4a9602