NetBSD-Bugs archive

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

port-i386/46018: GENERIC kernel does not work with VIA VX900 chipset



>Number:         46018
>Category:       port-i386
>Synopsis:       GENERIC kernel does not work with VIA VX900 chipset
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 13 17:10:00 +0000 2012
>Originator:     Hiroshi Tokuda
>Release:        NetBSD 5.99.59
>Organization:
tokuda.net
>Environment:
$ uname -a
NetBSD zbox 5.99.59 NetBSD 5.99.59 (ZBOX) #5: Wed Feb  8 01:15:48 UTC 2012  
tokuda@zbox:/root/src/usr/src/sys/arch/i386/compile/obj/ZBOX i386
>Description:
I have been trying to use NetBSD on ZOTAC ZBOX nano VD01.
It has been used VX900 chipset.

The system crashes with kernel panic.

NetBSD 5.99.59 (GENERIC) #0 Sat Dec 24 11:37:01 UTC 2011
        
builds%b8.netbsd.org@localhost:/home/builds/ab/HEAD/i386/201112290510Z-obj/home/builds/ab/HEAD/src/arch/amd64/compile/GENERIC
total memory = 3327 MB
avail memory = 3259 MB
mainbus0 (root)
cpu0 at mainbus0 apid 0: VIA NANO X2 U4025 @ 1.2 GHz, id 0x6fc
cpu1 at mainbus0 apid 0: VIA NANO X2 U4025 @ 1.2 GHz, id 0x6fc
ioapic0 at mainbus0 apid 3
ioapic0 at mainbus0 apid 4
acpi at mainbus0: Intel ACPICA 20110623
panic: pci_make_tag: bad request
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip c0269b64 cs 8 eflags 286 cr2 0 ilevel 8
Stopped in pid 0.1 (system) at  netbsd:breakpoint+0x4: popl    %ebp
db{0}>
>How-To-Repeat:

>Fix:
In pci_mode_detect(), PCI_MODE1_ADDRESS_REG is returned zero.
As a result, pci_mode are treated as 2. 
Finally, it will panic in pci_make_tag.

The VX900 is set to 1 to force the pci_mode, it worked well.

--- ./sys/arch/x86/pci/pci_machdep.c.orig       2012-01-30 20:37:00.000000000 
+0000
+++ ./sys/arch/x86/pci/pci_machdep.c    2012-01-30 20:34:23.000000000 +0000
@@ -197,6 +197,8 @@
        _qe(0, 0, 0, PCI_VENDOR_SIS, PCI_PRODUCT_SIS_740),
        /* SIS 741 */
        _qe(0, 0, 0, PCI_VENDOR_SIS, PCI_PRODUCT_SIS_741),
+       /* VIA technology VX900 */
+       _qe(0, 0, 0, PCI_VENDOR_VIATECH, PCI_PRODUCT_VIATECH_VX900),
        {0, 0xffffffff} /* patchable */
 };
 #undef _m1tag
--- sys/dev/pci/pcidevs.orig    2012-01-30 20:42:18.000000000 +0000
+++ sys/dev/pci/pcidevs 2012-01-21 08:57:33.000000000 +0000
@@ -4589,6 +4589,7 @@
 product VIATECH VT8363_HB      0x0305  VT8363 (Apollo KT133) Host Bridge
 product VIATECH VT3351_HB_0351 0x0351  VT3351 Host Bridge
 product VIATECH        VT8371_HB       0x0391  VT8371 (Apollo KX133) Host 
Bridge
+product VIATECH        VX900           0x0410  VX900
 product VIATECH VT8501_MVP4    0x0501  VT8501 (Apollo MVP4) Host Bridge
 product VIATECH VT82C505       0x0505  VT82C505 (Pluto)
 product VIATECH VT82C561       0x0561  VT82C561



Home | Main Index | Thread Index | Old Index