1. 07 Sep, 2024 4 commits
    • Heiko Carstens's avatar
      s390: Provide MARCH_HAS_*_FEATURES defines · 697b3737
      Heiko Carstens authored
      Provide MARCH_HAS_*_FEATURES defines which are supposed to be used
      everywhere instead of the CONFIG_HAVE_MARCH_*_FEATURES defines.
      
      Various header files contain code which depend on the
      CONFIG_HAVE_MARCH_*_FEATURES defines, allowing for compile time
      optimizations. If such code is used within the decompressor wrong code may
      be generated (the compiler may generate instructions which are not
      available for the minimum architecture level of the decompressor).
      
      Therefore provide a new header file with MARCH_HAS_*_FEATURES defines,
      which are only available if __DECOMPRESSOR is not defined. This way code
      generation for the kernel image is still optimized depending on
      CONFIG_HAVE_MARCH_*_FEATURES, while code generated for the decompressor is
      compiled for the minimum architecture level.
      Reviewed-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      697b3737
    • Heiko Carstens's avatar
      s390/facility: Disable compile time optimization for decompressor code · 0147addc
      Heiko Carstens authored
      Disable compile time optimizations of test_facility() for the
      decompressor. The decompressor should not contain any optimized code
      depending on the architecture level set the kernel image is compiled
      for to avoid unexpected operation exceptions.
      
      Add a __DECOMPRESSOR check to test_facility() to enforce that
      facilities are always checked during runtime for the decompressor.
      Reviewed-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      0147addc
    • Heiko Carstens's avatar
      s390/boot: Increase minimum architecture to z10 · db545f53
      Heiko Carstens authored
      The decompressor code is partially compiled with march=z900 so it is
      possible to print an error message in case a kernel is booted on a
      machine which misses facilities to execute the kernel.
      
      Given that the decompressor code also includes header files from the
      core kernel this causes problems for inline assemblies and other code
      where the minimum assumed architecture level is set to z10 in the
      meantime. If such code is also used in the decompressor (e.g. inline
      functions) z900 support must be implemented again.
      
      In order to avoid this and to keep things simple just raise the
      minimum architecture level to z10 for the decompressor just like for
      the kernel.
      Reviewed-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      db545f53
    • Heiko Carstens's avatar
      s390/als: Remove obsolete comment · 6fa7aea6
      Heiko Carstens authored
      The bss section of the decompressor is part of the compressed kernel image
      since commit 980d5f9a ("s390/boot: enable .bss section for compressed
      kernel").
      
      Remove a now incorrect comment that states that the bss section must not be
      accessed.
      Reviewed-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      6fa7aea6
  2. 05 Sep, 2024 6 commits
  3. 29 Aug, 2024 30 commits