Hi, if of interest to anyone... we were able to successfully upgrade firmware of Intel XL710 on aarch64 platform.
Two major items were required: - small qemu change: https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg00553.html - hack in Linux kernel /dev/mem driver in mmap function to catch wrong addresses nvmupdate64e asked for thru qemu. For some reason only lower 32-bit portion of actual physical address came to linux kernel. /dev/mem driver in kernel was changed to add missing upper 32 bits of address best regards, Matevz -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1779634 Title: qemu-x86_64 on aarch64 reports "Synchronous External Abort" Status in QEMU: Invalid Bug description: Purpose: to run x86_64 utilities on aarch64 platform (Intel/Dell network adapters' firmware upgrade tools) System: aarch64 server platform, with ubuntu 16.04 (xenial) Linux 4.13.0-45-generic #50~16.04.1-Ubuntu SMP Wed May 30 11:14:25 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux Reproduce: 1) build linux-user qemu-x86_64 static from source (tried both version 2.12.0 & 2.11.2) ./configure --target-list=x86_64-linux-user --disable-system --static --enable-linux-user 2) install the interpreter into binfmt_misc filesystem $ cat /proc/sys/fs/binfmt_misc/qemu-x86_64 enabled interpreter /usr/local/bin/qemu-x86_64 flags: offset 0 magic 7f454c4602010100000000000000000002003e00 mask fffffffffffefefcfffffffffffffffffeffffff 3) packaging Intel/Dell upgrade utilities into docker images, I've published two on docker hub: REPOSITORY TAG heyi/dellupdate latest heyi/nvmupdate64e latest 4) run the docker container on aarch64 server platform: docker run -it --privileged --network host --volume /usr/local/bin/qemu-x86_64:/usr/local/bin/qemu-x86_64 heyi/dellupdate:latest 5) finally, within docker container run the upgrade tool: # ./Network_Firmware_T6VN9_LN_18.5.17_A00.BIN Errors: in dmesg it reports excessive 'Synchronous External Abort': kernel: [242850.159893] Synchronous External Abort: synchronous external abort (0x92000610) at 0x0000000000429958 kernel: [242850.169199] Unhandled fault: synchronous external abort (0x92000610) at 0x0000000000429958 thanks and best regards, Yi To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1779634/+subscriptions