On 18.05.2017 12:54, Aurelien Jarno wrote: > 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 >
Thanks, this makes sense. I have forwarded this message to NetBSD developers: http://gnats.netbsd.org/52238
signature.asc
Description: OpenPGP digital signature