All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1779634] [NEW] qemu-x86_64 on aarch64 reports "Synchronous External Abort"
@ 2018-07-02  9:24 He Yi
  2018-07-02  9:45 ` [Qemu-devel] [Bug 1779634] " Peter Maydell
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: He Yi @ 2018-07-02  9:24 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

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

** Affects: qemu
     Importance: Undecided
         Status: New

** Description changed:

  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 1.12.0 & 1.11.02)
-    ./configure --target-list=x86_64-linux-user --disable-system --static --enable-linux-user
+ 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
+    $ 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                 IMAGE ID            CREATED             SIZE
-    heyi/dellupdate     latest              8e013f5511cd        6 hours ago         210MB
-    heyi/nvmupdate64e   latest              9d2de9d0edaa        3 days ago          451MB
+    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
+    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
+    # ./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

-- 
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:
  New

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
  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 ` Peter Maydell
  2018-07-02 10:03 ` Peter Maydell
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2018-07-02  9:45 UTC (permalink / raw)
  To: qemu-devel

qemu-x86_64 is just a userspace program. If the kernel is getting
Synchronous External Aborts then this is not a QEMU problem. Either
there's a bug in the host kernel, or the guest binary is attempting to
mmap /dev/mem and do wrong things to it because it's expecting it to be
an x86 system. I suspect the latter (it's probably trying to do
userspace writes directly to the network controller handware). This sort
of binary is never going to be runnable via QEMU.

-- 
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:
  New

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
  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
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2018-07-02 10:03 UTC (permalink / raw)
  To: qemu-devel

You could confirm this hypothesis by using strace and looking for
whether it's doing mmap() of /dev/mem or /dev/kmem. If it's true, then
the program would not work even if you had the source and recompiled it
for aarch64 -- it would require bugfixes (code changes) to achieve
whatever it's trying to do.

-- 
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:
  New

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
  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
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: He Yi @ 2018-07-03  2:44 UTC (permalink / raw)
  To: qemu-devel

Thanks very much @Peter Maydell, when invoking these tools through
docker/qemu-user I really saw syscall disorders, even strace fails. You
are right these tools have x86_64 syscall numbers & perhaps mmaps of
/dev/mem to allocate contiguous memory region for DMA transactions.

Then the goal cannot be achieved by docker/qemu-user method (although it
is quite convenient :)

strace ./Network_Firmware_T6VN9_LN_18.5.17_A00.BIN
qemu: Unsupported syscall: 101
qemu: Unsupported syscall: 101
/usr/bin/strace: ptrace(PTRACE_TRACEME, ...): Function not implemented
+++ exited with 1 +++

I'll downgrade this bug to a question, and try full qemu-system
emulation with PCI device passthrough assignment to achieve the goal of
running Intel/Dell firmware upgrading tools on aarch64 servers.

-- 
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:
  New

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
  2018-07-02  9:24 [Qemu-devel] [Bug 1779634] [NEW] qemu-x86_64 on aarch64 reports "Synchronous External Abort" He Yi
                   ` (2 preceding siblings ...)
  2018-07-03  2:44 ` He Yi
@ 2018-07-03  8:44 ` Peter Maydell
  2018-07-03  9:34 ` He Yi
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2018-07-03  8:44 UTC (permalink / raw)
  To: qemu-devel

> /usr/bin/strace: ptrace(PTRACE_TRACEME, ...): Function not implemented

This indicates that you're trying to run an x86 strace under QEMU. That
won't work. You want to either (a) run QEMU + guest binary under the
host strace or (b) run QEMU + guest binary with the QEMU -strace option.

-- 
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:
  New

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
  2018-07-02  9:24 [Qemu-devel] [Bug 1779634] [NEW] qemu-x86_64 on aarch64 reports "Synchronous External Abort" He Yi
                   ` (3 preceding siblings ...)
  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
  6 siblings, 0 replies; 8+ messages in thread
From: He Yi @ 2018-07-03  9:34 UTC (permalink / raw)
  To: qemu-devel

thanks Peter, yes I tried to run an x86 strace under QEMU.

I'll stop this experiment since you are right this won't work for
utilities with device-level I/O and memory operations, I will raise this
requirement to Intel support website firstly.

Best Regards, Yi

-- 
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:
  New

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
  2018-07-02  9:24 [Qemu-devel] [Bug 1779634] [NEW] qemu-x86_64 on aarch64 reports "Synchronous External Abort" He Yi
                   ` (4 preceding siblings ...)
  2018-07-03  9:34 ` He Yi
@ 2018-07-04  7:52 ` He Yi
  2021-01-05 19:42 ` Matevz Langus
  6 siblings, 0 replies; 8+ messages in thread
From: He Yi @ 2018-07-04  7:52 UTC (permalink / raw)
  To: qemu-devel

** Changed in: qemu
       Status: New => Confirmed

** Changed in: qemu
       Status: Confirmed => Invalid

-- 
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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug 1779634] Re: qemu-x86_64 on aarch64 reports "Synchronous External Abort"
  2018-07-02  9:24 [Qemu-devel] [Bug 1779634] [NEW] qemu-x86_64 on aarch64 reports "Synchronous External Abort" He Yi
                   ` (5 preceding siblings ...)
  2018-07-04  7:52 ` He Yi
@ 2021-01-05 19:42 ` Matevz Langus
  6 siblings, 0 replies; 8+ messages in thread
From: Matevz Langus @ 2021-01-05 19:42 UTC (permalink / raw)
  To: qemu-devel

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-01-05 19:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 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.