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