From: Laurent Vivier <laurent@vivier.eu>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
Richard Henderson <richard.henderson@linaro.org>,
qemu-devel@nongnu.org, kwolf@redhat.com, famz@redhat.com,
qemu-block@nongnu.org, jasowang@redhat.com, dgilbert@redhat.com,
mreitz@redhat.com, hpoussin@reactos.org, kraxel@redhat.com,
pbonzini@redhat.com, afaerber@suse.de, aurelien@aurel32.net
Subject: Re: [Qemu-devel] [PATCH v5 00/11] hw/m68k: add Apple Machintosh Quadra 800 machine
Date: Tue, 30 Oct 2018 13:49:35 +0100 [thread overview]
Message-ID: <393eca98-a092-80aa-2016-f14cd2e02d45@vivier.eu> (raw)
In-Reply-To: <5c41b46c-70e3-33a0-76cf-ba2fd8155d33@ilande.co.uk>
Le 30/10/2018 à 12:48, Mark Cave-Ayland a écrit :
> On 30/10/2018 08:15, Richard Henderson wrote:
>
>> On 10/29/18 1:39 PM, Mark Cave-Ayland wrote:
>>> You can install your own disk using debian-installer, with:
>>>
>>> ...
>>> -M q800 \
>>> -serial none -serial mon:stdio \
>>> -m 1000M -drive file=m68k.qcow2,format=qcow2 \
>>> -net nic,model=dp83932,addr=09:00:07:12:34:57 \
>>> -append "console=ttyS0 vga=off" \
>>> -kernel vmlinux-4.15.0-2-m68k \
>>> -initrd initrd.gz \
>>> -drive file=debian-9.0-m68k-NETINST-1.iso \
>>> -drive file=m68k.qcow2,format=qcow2 \
>>> -nographic
>>
>> I tried this and got
>>
>> Trace 0: 0x7f2e886c7140 [00000000/0000d404/0xe000]
>> INT 1: Unassigned(0xf4) pc=0000d404 sp=00393e60 sr=2700
>> INT 2: Access Fault(0x8) pc=00000000 sp=00393e58 sr=2700
>> ssw: 00000506 ea: 00000000 sfc: 5 dfc: 5
>>
>> which lead straight to buserr and panic. This happens way early in boot --
>> only 1926 TranslationBlocks generated.
>>
>> Is there some device missing from the command-line that the kernel is expecting?
>
> Heh that's annoying. The original branch I forked that Laurent was working on had
> some extra patches at the start of the series: some were required for q800 whilst
> others were for new development. I thought that all of the patches required for q800
> had been applied over the past few months, but sadly that isn't the case :(
>
> I've pushed an updated branch to https://github.com/mcayland/qemu/tree/q800-test
> which contains the patchset plus two extra patches that are still needed to boot to
> the debian installer here:
>
> 9281a5371f "tmp"
> 629754d847 "target/m68k: manage FPU exceptions"
>
> Laurent, are these patches ready for upstream or do they need work in which case we
> should leave q800 until the 3.2 cycle?
The only needed part is from 9281a5371f.
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -1552,7 +1552,7 @@ DISAS_INSN(undef)
but actually illegal for CPU32 or pre-68020. */
qemu_log_mask(LOG_UNIMP, "Illegal instruction: %04x @ %08x\n",
insn, s->base.pc_next);
- gen_exception(s, s->base.pc_next, EXCP_UNSUPPORTED);
+ gen_exception(s, s->base.pc_next, EXCP_ILLEGAL);
}
DISAS_INSN(mulw)
@@ -2799,7 +2799,7 @@ DISAS_INSN(mull)
if (ext & 0x400) {
if (!m68k_feature(s->env, M68K_FEATURE_QUAD_MULDIV)) {
- gen_exception(s, s->base.pc_next, EXCP_UNSUPPORTED);
+ gen_exception(s, s->base.pc_next, EXCP_ILLEGAL);
return;
}
@@ -4509,7 +4509,7 @@ DISAS_INSN(strldsr)
addr = s->pc - 2;
ext = read_im16(env, s);
if (ext != 0x46FC) {
- gen_exception(s, addr, EXCP_UNSUPPORTED);
+ gen_exception(s, addr, EXCP_ILLEGAL);
return;
}
ext = read_im16(env, s);
Because kernel only manages illegal instruction exception not unsupported.
Without the patch, we have:
IN:
0x0000d454: 071400
INT 1: Unassigned(0xf4) pc=0000d454 sp=00331e60 sr=2700
with the patch:
IN:
0x0000d454: 071400
INT 1: Illegal Instruction(0x10) pc=0000d454 sp=00331e60 sr=2700
We have in linux/arch/m68k/kernel/vectors.c:
/*
* this must be called very early as the kernel might
* use some instruction that are emulated on the 060
* and so we're prepared for early probe attempts (e.g. nf_init).
*/
void __init base_trap_init(void)
{
...
vectors[VEC_BUSERR] = buserr;
vectors[VEC_ILLEGAL] = trap;
vectors[VEC_SYS] = system_call;
}
So I think the unsupported vector jumps to an invalid address.
This seems triggered by the aranym native feature:
d454: 7300 mvsb %d0,%d1
from linux/arch/m68k/emu/natfeat.c
Thanks,
Laurent
next prev parent reply other threads:[~2018-10-30 12:50 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-29 13:39 [Qemu-devel] [PATCH v5 00/11] hw/m68k: add Apple Machintosh Quadra 800 machine Mark Cave-Ayland
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 01/11] hw/m68k: add via support Mark Cave-Ayland
2018-10-30 6:46 ` Hervé Poussineau
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 02/11] hw/m68k: implement ADB bus support for via Mark Cave-Ayland
2018-10-30 6:46 ` Hervé Poussineau
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 03/11] escc: introduce a selector for the register bit Mark Cave-Ayland
2018-10-29 23:36 ` Philippe Mathieu-Daudé
2018-10-30 9:38 ` Mark Cave-Ayland
2018-10-30 6:46 ` Hervé Poussineau
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 04/11] hw/m68k: add macfb video card Mark Cave-Ayland
2018-10-30 6:46 ` Hervé Poussineau
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 05/11] hw/m68k: Apple Sound Chip (ASC) emulation Mark Cave-Ayland
2018-10-30 6:46 ` Hervé Poussineau
2018-10-30 10:46 ` Mark Cave-Ayland
2018-10-30 12:05 ` Laurent Vivier
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 06/11] esp: add pseudo-DMA as used by Macintosh Mark Cave-Ayland
2018-10-30 6:47 ` Hervé Poussineau
2018-10-30 10:09 ` Mark Cave-Ayland
2018-10-30 20:08 ` Laurent Vivier
2018-10-30 18:02 ` Laurent Vivier
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 07/11] hw/m68k: add Nubus support Mark Cave-Ayland
2018-10-30 6:47 ` Hervé Poussineau
2018-10-30 10:23 ` Mark Cave-Ayland
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 08/11] hw/m68k: add Nubus support for macfb video card Mark Cave-Ayland
2018-10-30 6:47 ` Hervé Poussineau
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 09/11] hw/m68k: add a dummy SWIM floppy controller Mark Cave-Ayland
2018-10-30 6:48 ` Hervé Poussineau
2018-10-30 10:25 ` Mark Cave-Ayland
2018-10-29 13:39 ` [Qemu-devel] [PATCH v5 10/11] dp8393x: manage big endian bus Mark Cave-Ayland
2018-10-30 6:48 ` Hervé Poussineau
2018-10-29 13:40 ` [Qemu-devel] [PATCH v5 11/11] hw/m68k: define Macintosh Quadra 800 Mark Cave-Ayland
2018-10-30 8:15 ` [Qemu-devel] [PATCH v5 00/11] hw/m68k: add Apple Machintosh Quadra 800 machine Richard Henderson
2018-10-30 11:48 ` Mark Cave-Ayland
2018-10-30 12:49 ` Laurent Vivier [this message]
2018-10-30 13:12 ` Mark Cave-Ayland
2018-10-30 13:39 ` Laurent Vivier
2018-11-02 0:32 ` Thomas Huth
2018-11-02 11:25 ` Laurent Vivier
2018-11-19 2:30 ` Rob Landley
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=393eca98-a092-80aa-2016-f14cd2e02d45@vivier.eu \
--to=laurent@vivier.eu \
--cc=afaerber@suse.de \
--cc=aurelien@aurel32.net \
--cc=dgilbert@redhat.com \
--cc=famz@redhat.com \
--cc=hpoussin@reactos.org \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).