Messages in this thread | | | From | Ard Biesheuvel <> | Date | Tue, 10 Nov 2020 22:35:27 +0100 | Subject | Re: [PATCH v2] Make iwmmxt.S support Clang's integrated assembler |
| |
On Tue, 10 Nov 2020 at 21:38, Arnd Bergmann <arnd@kernel.org> wrote: > > On Tue, Nov 10, 2020 at 9:11 PM 'Nick Desaulniers' via Clang Built > Linux <clang-built-linux@googlegroups.com> wrote: > > > > On Tue, Nov 10, 2020 at 12:10 PM Jian Cai <jiancai@google.com> wrote: > > > > > > I tried to verify with ixp4xx_defconfig, and I noticed it also used CONFIG_CPU_BIG_ENDIAN=y to enable big endianness as follows, > > > > > > linux$ grep ENDIAN arch/arm/configs/ixp4xx_defconfig > > > CONFIG_CPU_BIG_ENDIAN=y > > > > > > Also it appeared arch/arm/kernel/iwmmxt.o was not built with ixp4xx_defconfig. The commands I used > > > > > > linux$ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make CC=clang ixp4xx_defconfig > > > linux$ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make -j32 CC=clang > > > linux$ ls arch/arm/kernel/iwmmxt.o > > > ls: cannot access 'arch/arm/kernel/iwmmxt.o': No such file or directory > > > > > > Did I miss any steps? > > > > Yes, you need to manually enable CONFIG_IWMMXT in menuconfig or via > > `scripts/configs -e`. > > To clarify: ixp4xx and pxa3xx were two platforms based on the XScale core. > ixp4xx was commonly used in big-endian mode but lacked iWMMXt. pxa3xx > had iWMMXt but doesn't allow enabling big-endian mode because of a Kconfig > dependency, meaning that nobody has ever tried it, and it's likely broken. > > Later 'mvebu' parts (Armada 510) do have iWMMXt and allow big-endian > mode, but those are BE8, with non-reversed byteorder for the instructions. > > So none of this matters in practice, but it's very satifiying to know > it is finally > all working with the integrated assembler in all those combinations, at > least in theory! >
Thanks for the perspective. I wasn't aware of all these details, but I just wanted to confirm that .inst works as expected in all configurations.
| |