qemu-m68k-static: illegal instruction ebc0 during debootstrap second stage

Bug #1254786 reported by Ken Sharp on 2013-11-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Undecided
Unassigned
qemu-linaro (Ubuntu)
Undecided
Unassigned

Bug Description

Host: Ubuntu Precise amd64
Guest: Debian (ports) sid m68k

$ sudo qemu-debootstrap --no-check-gpg --arch=m68k sid m68k http://ftp.debian-ports.org/debian
I: Running command: debootstrap --arch m68k --foreign --no-check-gpg sid m68k http://ftp.debian-ports.org/debian
[...]
I: Running command: chroot m68k /debootstrap/debootstrap --second-stage
qemu: fatal: Illegal instruction: ebc0 @ f67e5662
D0 = 6ffffef5 A0 = f67fbf58 F0 = 0000000000000000 ( 0)
D1 = 0000010a A1 = 00000000 F1 = 0000000000000000 ( 0)
D2 = 0000000f A2 = 00000000 F2 = 0000000000000000 ( 0)
D3 = 00000000 A3 = f67e0000 F3 = 0000000000000000 ( 0)
D4 = 00000000 A4 = 00000000 F4 = 0000000000000000 ( 0)
D5 = 00000000 A5 = f67fc000 F5 = 0000000000000000 ( 0)
D6 = 00000000 A6 = f6fff7cc F6 = 0000000000000000 ( 0)
D7 = 00000000 A7 = f6fff580 F7 = 0000000000000000 ( 0)
PC = f67e5662 SR = 0000 ----- FPRESULT = 0
Aborted (core dumped)

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: qemu-user-static 1.0.50-2012.03-0ubuntu2.1
ProcVersionSignature: Ubuntu 3.8.0-33.48~precise1-generic 3.8.13.11
Uname: Linux 3.8.0-33-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.0.1-0ubuntu17.6
Architecture: amd64
Date: Mon Nov 25 16:08:26 2013
Dependencies:

InstallationMedia: Ubuntu 12.04.3 LTS "Precise Pangolin" - Release amd64 (20130820.1)
MarkForUpload: True
ProcEnviron:
 LANGUAGE=en_GB:en
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
SourcePackage: qemu-linaro
UpgradeStatus: No upgrade log present (probably fresh install)

Ken Sharp (kennybobs) wrote :

Version: 1.6.0+dfsg-2ubuntu4

Still present in Trusty.

tags: added: trusty
Andreas Färber (afaerber) wrote :

Ken, is that really a bug in QEMU or is Debian expecting some Motorola 68k CPU rather than the ColdFire MCU QEMU emulates?

ebc0 is a bitfield insn which the coldfire doesn't implement.

Andreas.

--
Andreas Schwab, <email address hidden>
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Ken Sharp (kennybobs) wrote :

"Debian currently runs on the 68020, 68030, 68040 and 68060 processors"
http://www.debian.org/ports/m68k/

From 2006:
https://lists.debian.org/debian-devel-announce/2006/01/msg00005.html

So I really don't know. :-/

Ken,

this is known to currently *not* work. As Andreas has already indirectly explained, qemu does not provide full m68k emulation.

Instead, it supports the reduced m68k instruction set of Motorola's ColdFire CPU only.
If you need a QEMU version with full m68k support, please have a look at Laurent Vivier's github repository [1].

You also shouldn't file bugs which are clearly upstream-related to the Ubuntu bugtracker. Ubuntu doesn't even support m68k but Debian does. Still, we also can't do anything about such bugs in Debian, these belong upstream.

Adrian

> [1] https://github.com/vivier/qemu-m68k

Alright, I have created a page on the Debian Wiki which explains how to properly set up a chroot environment for sbuild/m68k on Debian [1].

With this set up, I was able to increase compile performance dramatically as compared to native m68k hardware or the Aranym Atari m68k emulator.

Enjoy!

Adrian

> [1] https://wiki.debian.org/M68k/sbuildQEMU

Thomas Huth (th-huth) wrote :

Triaging old bug tickets... can you still reproduce this issue with the latest version of QEMU? There should now be support for "normal" 68k CPUs, too...

Changed in qemu:
status: New → Incomplete
Laurent Vivier (laurent-vivier) wrote :

0xebc0 is "bfexts" with register and is implemented since:

    ac815f46a3 target-m68k: Implement bitfield ops for registers

Available since qemu v2.9.0

Thomas Huth (th-huth) on 2018-02-14
Changed in qemu:
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers