On 9/1/26 20:33, Thomas Weißschuh wrote:
On 2026-09-01 15:33:11+0200, Michal Simek wrote:
On 8/31/26 17:43, Thomas Weißschuh wrote:
On 2026-08-31 12:48:08+0200, Michal Simek wrote:
(...)
If there is an issue with memmove implementation I can't see any issue to
disable that options to let it pass from the beginning and solve it
separately.
Ack. Could you take care of this? I have next to no idea about microblaze.
On little endian this is passing. I can add it to my todo list but big
endian is very very old and likely none is using it anymore.
If it is not supposed to work maybe mark it as BROKEN or disable the
custom memmove() implementation there and instead rely on the generic
one from lib/string.c?
This should be enough. Do you want to send a patch for it?
diff --git a/arch/microblaze/Kconfig.platform b/arch/microblaze/Kconfig.platform
index 9cf9007ed69a..2d7c21767215 100644
--- a/arch/microblaze/Kconfig.platform
+++ b/arch/microblaze/Kconfig.platform
@@ -10,6 +10,7 @@ menu "Platform options"
config OPT_LIB_FUNCTION
bool "Optimized lib function"
default y
+ depends on CPU_BIG_ENDIAN
help
Turns on optimized library functions (memcpy and memmove).
They are optimized by using word alignment. This will work
@@ -21,7 +22,6 @@ config OPT_LIB_FUNCTION
config OPT_LIB_ASM
bool "Optimized lib function ASM"
depends on OPT_LIB_FUNCTION && (XILINX_MICROBLAZE0_USE_BARREL = 1)
- depends on CPU_BIG_ENDIAN
default n
help
Turns on optimized library functions (memcpy and memmove).
This should be fragment for Little endian.
Thanks, unfortunately this hangs for me with my distros QEMU 11.1.0.
No output, 100% CPU usage during boot. I am using qemu-system-microblaze
instead of qemu-system-microblazel, as the latter is not available
anymore, but the former is documented to also handle little endian
automatically.
I built the latest qemu like this
../qemu/configure
--target-list=microblaze-softmmu,microblaze-linux-user,microblazeel-linux-user
--enable-gcrypt --disable-docs
/mnt/projects/xilinx-new-git/qemu.org/build-microblaze/qemu-system-microblaze
--version
QEMU emulator version 11.1.50 (v11.1.0-779-gd2e570cc0f97)
For me it still doesn't work. I am using the same build of QEMU and GCC
13.4.0 (or 16.2.0) from crosstools.kernel.org.
I am not a toolchain expert. I do use toolchains from Xilinx design tools and I
have also tried toolchains from buildroot.
Linux version 7.3.0-rc1-00017-g139833dc9bf4 (monstr@monstr-desktop3)
(microblazeel-buildroot-linux-uclibc-gcc.br_real (Buildroot
2026.08-rc3-13-geaf7a45ddfdc) 15.3.0, GNU ld (GNU Binutils) 2.45.1) #1 Wed Sep
2 12:39:02 CEST 2026
But keep in mind that there is a need to have v15.3.0 or 16.2.0 toolchain fixed
by this
https://lore.kernel.org/all/[email protected]/
Thanks,
Michal