qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Bug 1691379] [NEW] NetBSD evbmips64el port installatio


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [Bug 1691379] [NEW] NetBSD evbmips64el port installation doesn't work with qemu-system-mips64el.
Date: Thu, 18 May 2017 12:54:13 +0200
User-agent: NeoMutt/20170113 (1.7.2)

On 2017-05-18 04:29, Kamil Rytarowski wrote:
> On 17.05.2017 19:58, Kamil Rytarowski wrote:
> > On 17.05.2017 10:10, Thomas Huth wrote:
> >> On 17.05.2017 09:52, Utkarsh Anand wrote:
> >>> Public bug reported:
> >>>
> >>> I successfully installed the NetBSD evbmips64el port on gxemul but was
> >>> unable to install it on qemu. Trying to boot it on qemu takes me to the
> >>> 'db>' prompt. Here's the output and backtrace:
> >>>
> >>> panic: pcib_isa_intr_string: bogus isa irq 0x0
> >>> kernel: breakpoint trap
> >>> Stopped in pid 0.1 (system) at  netbsd:cpu_Debugger+0x4:        jr      ra
> >>>                 bdslot: nop
> >>> db> bt
> >>> 0xffffffff805977f0: cpu_Debugger+4 
> >>> (63061,90000000180003f8,6,ffffffff804c2290) ra ffffffff8030acd0 sz 0
> >>> 0xffffffff805977f0: vpanic+158 
> >>> (63061,90000000180003f8,6,ffffffff804c2290) ra ffffffff8030ad7c sz 64
> >>> 0xffffffff80597830: panic+34 (63061,ffffffff803d65b0,0,40) ra 
> >>> ffffffff80109784 sz 96
> >>> 0xffffffff80597890: pcib_isa_intr_string+6c (63061,ffffffff803d65b0,0,40) 
> >>> ra ffffffff80149bfc sz 16
> >>> 0xffffffff805978a0: uhci_pci_attach+16c (63061,ffffffff803d65b0,0,40) ra 
> >>> ffffffff802f0400 sz 176
> >>> 0xffffffff80597950: config_attach_loc+1c8 (63061,ffffffff803d65b0,0,40) 
> >>> ra ffffffff802f053c sz 64
> >>> 0xffffffff80597990: config_found_sm_loc+5c (63061,ffffffff803d65b0,0,40) 
> >>> ra ffffffff80121354 sz 64
> >>> 0xffffffff805979d0: pci_probe_device+524 (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff80121548 sz 288
> >>> 0xffffffff80597af0: pci_enumerate_bus+1d0 (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff8012167c sz 160
> >>> 0xffffffff80597b90: pcirescan+5c (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff801218c4 sz 32
> >>> 0xffffffff80597bb0: pciattach+19c (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff802f0400 sz 80
> >>> 0xffffffff80597c00: config_attach_loc+1c8 (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff802f053c sz 64
> >>> 0xffffffff80597c40: config_found_sm_loc+5c (63061,ffffffff803d65b0,0,0) 
> >>> ra ffffffff80108934 sz 64
> >>> 0xffffffff80597c80: gt_attach+7c (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff802f0400 sz 112   
> >>> 0xffffffff80597cf0: config_attach_loc+1c8 (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff802f053c sz 64
> >>> 0xffffffff80597d30: config_found_sm_loc+5c (63061,ffffffff803d65b0,0,0) 
> >>> ra ffffffff801086ac sz 64
> >>> 0xffffffff80597d70: mainbus_attach+dc (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff802f0400 sz 96
> >>> 0xffffffff80597dd0: config_attach_loc+1c8 (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff80104bf8 sz 64
> >>> 0xffffffff80597e10: cpu_configure+28 (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff803d5f30 sz 16
> >>> 0xffffffff80597e20: main+3a0 (63061,ffffffff803d65b0,0,0) ra 
> >>> ffffffff801000dc sz 128       
> >>> 0xffffffff80597ea0: kernel_text+dc (63061,ffffffff803d65b0,0,0) ra 0 sz 0
> >>> User-level: pid 0.1
> >>>
> >>> Here's the command that I used:
> >>>
> >>> Build evbmips64el from source and then launch it from qemu (replace the
> >>> paths relative to your system):
> >>>
> >>> qemu-system-mips64el -cdrom
> >>> /extra/evbmips64/distrib/evbmips/cdroms/installcd/NetBSD-7.99.71
> >>> -evbmips-mips64el.iso -hda /extra/evbmips64.img -kernel
> >>> /extra/evbmips64/releasedir/evbmips/installation/netbsd-INSTALL_MALTA64
> >>> -nographic -M malta
> >>>
> >>> (I've decompressed the kernel)
> >>>
> >>> Here's the output for qemu-system-mips64el --version :
> >>>
> >>> QEMU emulator version 2.7.1(qemu-2.7.1-6.fc25), Copyright (c) 2003-2016
> >>> Fabrice Bellard and the QEMU Project developers
> >>>
> >>> This doesn't look like a NetBSD bug. I've attached a screenshot of the
> >>> working installation using gxemul in the attachments.
> >>
> >> When reporting such issues, please always use the latest release of QEMU
> >> first, so could you please try again with the latest upstream release of
> >> QEMU (currently v2.9.0)? Thanks!
> >>
> >>  Thomas
> >>
> > 
> > 7.99.71 is the most recent kernel ABI version (NetBSD-current).
> > 
> > Release engineering builds of NetBSD-current are hosted on nyftp.netbsd.org.
> > 
> > kernel:
> > 
> > http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201705170540Z/evbmips-mips64el/installation/
> > 
> > installation medium:
> > 
> > http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201705170540Z/images/
> > 
> > [In future there will be need to switch 201705170540Z to a newer
> > snapshot, as this one will be removed.]
> > 
> > I will have to a look tonight and try to reproduce locally (and take
> > MIPS 64-bit crash course).
> > 
> 
> I've reproduced it locally with qemu/NetBSD-7.99.71 ver. 2.9 git HEAD
> (rev. cdece0467c00007cf8e3).
> 
>     464 const char *
>     465 pcib_isa_intr_string(void *v, int irq, char *buf, size_t len)
>     466 {
>     467       if (irq == 0 || irq >= ICU_LEN || irq == 2)
>     468               panic("%s: bogus isa irq 0x%x", __func__, irq);
>     469
>     470       snprintf(buf, len, "isa irq %d", irq);
>     471       return buf;
>     472 }
> 
> Generates: "panic: pcib_isa_intr_string: bogus isa irq 0x0".

I haven't look in details, but it looks like that the PCI initialization
hasn't been done. This should be the responsibility of the firmware, but
the Malta emulation doesn't use any firmware when booting with -kernel. It
works with the Linux kernel because there is some fixup code which does
the work if it hasn't been done in the firmware. See:

  
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/pci/fixup-malta.c

One option would be to implement the same on the NetBSD side. The other
option is to use YAMON or U-Boot to load the NetBSD kernel.

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
address@hidden                 http://www.aurel32.net

Attachment: signature.asc
Description: PGP signature


reply via email to

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