qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External A


From: Matevz Langus
Subject: [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
Date: Tue, 05 Jan 2021 19:42:21 -0000

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]