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: Kamil Rytarowski
Subject: Re: [Qemu-devel] [Bug 1691379] [NEW] NetBSD evbmips64el port installation doesn't work with qemu-system-mips64el.
Date: Fri, 19 May 2017 02:50:26 +0200
User-agent: Mozilla/5.0 (X11; NetBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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