Skip to content
  • David Brazdil's avatar
    KVM: arm64: Remove __hyp_text macro, use build rules instead · c50cb043
    David Brazdil authored
    
    
    With nVHE code now fully separated from the rest of the kernel, the effects of
    the __hyp_text macro (which had to be applied on all nVHE code) can be
    achieved with build rules instead. The macro used to:
      (a) move code to .hyp.text ELF section, now done by renaming .text using
          `objcopy`, and
      (b) `notrace` and `__noscs` would negate effects of CC_FLAGS_FTRACE and
          CC_FLAGS_SCS, respectivelly, now those flags are  erased from
          KBUILD_CFLAGS (same way as in EFI stub).
    
    Note that by removing __hyp_text from code shared with VHE, all VHE code is now
    compiled into .text and without `notrace` and `__noscs`.
    
    Use of '.pushsection .hyp.text' removed from assembly files as this is now also
    covered by the build rules.
    
    For MAINTAINERS: if needed to re-run, uses of macro were removed with the
    following command. Formatting was fixed up manually.
    
      find arch/arm64/kvm/hyp -type f -name '*.c' -o -name '*.h' \
           -exec sed -i 's/ __hyp_text//g' {} +
    
    Signed-off-by: default avatarDavid Brazdil <dbrazdil@google.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20200625131420.71444-15-dbrazdil@google.com
    c50cb043