• Zhangjin Wu's avatar
    selftests/nolibc: add XARCH and ARCH mapping support · c6c3734f
    Zhangjin Wu authored
    
    
    Most of the CPU architectures have different variants, but kernel
    usually only accepts parts of them via the ARCH variable, the others
    should be customized via kernel config files.
    
    To simplify testing, a new XARCH variable is added to extend the
    kernel's ARCH with a few variants of the same architecture, and it is
    used to customize variant specific variables, at last XARCH is converted
    to the kernel's ARCH:
    
      e.g. make run XARCH=<one of the supported variants>
                    | \
                    |  `-> variant specific variables:
                    |      IMAGE, DEFCONFIG, QEMU_ARCH, QEMU_ARGS, CFLAGS ...
                    \
                     `---> kernel's ARCH
    
    XARCH and ARCH are carefully mapped to allow users to pass architecture
    variants via XARCH or pass architecture via ARCH from cmdline.
    
    PowerPC is the first user and also a very good reference architecture of
    this mapping, it has variants with different combinations of
    32-bit/64-bit and bit endian/little endian.
    
    To use this mapping, the other architectures can refer to PowerPC, If
    the target architecture only has one variant, XARCH is simply an alias
    of ARCH, no additional mapping required.
    Suggested-by: default avatarWilly Tarreau <w@1wt.eu>
    Link: https://lore.kernel.org/lkml/20230702171715.GD16233@1wt.eu/
    Link: https://lore.kernel.org/lkml/20230730061801.GA7690@1wt.eu/
    
    Reviewed-by: default avatarThomas Weißschuh <linux@weissschuh.net>
    Signed-off-by: default avatarZhangjin Wu <falcon@tinylab.org>
    Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
    c6c3734f
Makefile 8.01 KB