All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Kamil Rytarowski <n54@gmx.com>
Cc: Thomas Huth <thuth@redhat.com>,
	Bug 1691379 <1691379@bugs.launchpad.net>,
	qemu-devel@nongnu.org, Yongbok Kim <yongbok.kim@imgtec.com>
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	[thread overview]
Message-ID: <20170518105413.35nurpeltmtj7l3q@aurel32.net> (raw)
In-Reply-To: <6f73123b-d235-3680-89cc-8ed5b02a7040@gmx.com>

[-- Attachment #1: Type: text/plain, Size: 5777 bytes --]

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
aurelien@aurel32.net                 http://www.aurel32.net

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2017-05-18 10:54 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-17  7:52 [Qemu-devel] [Bug 1691379] [NEW] NetBSD evbmips64el port installation doesn't work with qemu-system-mips64el Utkarsh Anand
2017-05-17  8:10 ` Thomas Huth
2017-05-17 17:58   ` Kamil Rytarowski
2017-05-18  2:29     ` Kamil Rytarowski
2017-05-18 10:54       ` Aurelien Jarno [this message]
2017-05-19  0:50         ` Kamil Rytarowski
2020-11-09 17:49 ` [Bug 1691379] " Thomas Huth
2021-04-22  5:26 ` Thomas Huth
2021-06-22  4:17 ` Launchpad Bug Tracker

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=20170518105413.35nurpeltmtj7l3q@aurel32.net \
    --to=aurelien@aurel32.net \
    --cc=1691379@bugs.launchpad.net \
    --cc=n54@gmx.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=yongbok.kim@imgtec.com \
    /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 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.