From: Matevz Langus <1779634@bugs.launchpad.net>
To: qemu-devel@nongnu.org
Subject: [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
Date: Tue, 05 Jan 2021 19:42:21 -0000 [thread overview]
Message-ID: <160987574123.3872.9791485793510570120.malone@wampee.canonical.com> (raw)
In-Reply-To: 153052346519.30029.15773821079672320069.malonedeb@wampee.canonical.com
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
prev parent reply other threads:[~2021-01-05 19:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-02 9:24 [Qemu-devel] [Bug 1779634] [NEW] qemu-x86_64 on aarch64 reports "Synchronous External Abort" He Yi
2018-07-02 9:45 ` [Qemu-devel] [Bug 1779634] " Peter Maydell
2018-07-02 10:03 ` Peter Maydell
2018-07-03 2:44 ` He Yi
2018-07-03 8:44 ` Peter Maydell
2018-07-03 9:34 ` He Yi
2018-07-04 7:52 ` He Yi
2021-01-05 19:42 ` Matevz Langus [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=160987574123.3872.9791485793510570120.malone@wampee.canonical.com \
--to=1779634@bugs.launchpad.net \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.