Subject: Re: uvm_pagefaults in 1.5.3 & 1.6
To: None <don+nbsdtk@resun.com>
From: Peter. Bex <Peter.Bex@student.kun.nl>
List: tech-kern
Date: 10/16/2002 16:28:24
Hello again,
Hm.. Frank van der Linden posed something interesting. (DMA bug on VIA)
I'm about to download the latest BIOS flash, then I'll give it a test run.
I'll post results.
Meanwhile, some more information about my system to play with:
dmesg output:
-------------------------------------------------------------------------------
NetBSD 1.6 (FROHIKE-DEBUG) #0: Wed Oct 16 01:52:41 GMT 2002
airhead@vhe-382807:/usr/src/sys/arch/i386/compile/FROHIKE-DEBUG
cpu0: AMD Athlon Model 4 (Thunderbird) (686-class), 1002.32 MHz
cpu0: I-cache 64 KB 64b/line 2-way, D-cache 64 KB 64b/line 2-way
cpu0: L2 cache 256 KB 64b/line 16-way
cpu0: features 183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 183f9ff<PGE,MCA,CMOV,FGPAT,PSE36,MMX>
cpu0: features 183f9ff<FXSR>
total memory = 511 MB
avail memory = 468 MB
using 6144 buffers containing 26296 KB of memory
BIOS32 rev. 0 found at 0xfb3f0
mainbus0 (root)
pnpbios0 at mainbus0: nodes 15, max len 78
pckbc1 at pnpbios0 index 4 (PNP0303): kbd port
pnpbios0: length mismatch in node 7: used 66 of 78 Bytes
pckbc2 at pnpbios0 index 10 (PNP0F13): aux port
com4 at pnpbios0 index 13 (PNP0501)
com4: io 3f8-3ff, irq 4
com4: ns16550a, working fifo
com5 at pnpbios0 index 14 (PNP0501)
com5: io 2f8-2ff, irq 3
com5: ns16550a, working fifo
lpt1 at pnpbios0 index 15 (PNP0400)
lpt1: io 378-37f, irq 7
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: vendor 0x1106 product 0x0305 (rev. 0x03)
agp0 at pchb0: aperture at 0xe8000000, size 0x10000000
ppb0 at pci0 dev 1 function 0: vendor 0x1106 product 0x8305 (rev. 0x00)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
vga1 at pci1 dev 0 function 0: vendor 0x10de product 0x0110 (rev. 0xb2)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
pcib0 at pci0 dev 7 function 0
pcib0: vendor 0x1106 product 0x0686 (rev. 0x40)
pciide0 at pci0 dev 7 function 1: VIA Technologies VT82C686A (Apollo KX133) ATA100 controller
pciide0: bus-master DMA support present
pciide0: primary channel configured to compatibility mode
atapibus0 at pciide0 channel 0: 2 targets
cd0 at atapibus0 drive 1: <AOpen 12X DVD-ROM/ASH 01112001, , R22> type 5 cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
wd0 at pciide0 channel 0 drive 0: <Maxtor 33073H3>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 29312 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 60032448 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
cd0(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
pciide0: secondary channel configured to compatibility mode
atapibus1 at pciide0 channel 1: 2 targets
cd1 at atapibus1 drive 0: <AOPEN CD-RW CRW1232 A, , 1.01> type 5 cdrom removable
cd1: 32-bit data port
cd1: drive supports PIO mode 4, DMA mode 2
pciide0: secondary channel interrupting at irq 15
cd1(pciide0:1:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
vendor 0x1106 product 0x3038 (USB serial bus, revision 0x16) at pci0 dev 7 function 2 not configured
vendor 0x1106 product 0x3038 (USB serial bus, revision 0x16) at pci0 dev 7 function 3 not configured
vendor 0x1106 product 0x3057 (miscellaneous bridge, revision 0x40) at pci0 dev 7 function 4 not configured
auvia0 at pci0 dev 7 function 5: VIA VT82C686A AC'97 Audio (rev 0x50)
auvia0: interrupting at irq 10
auvia0: ADS96 codec; headphone, Analog Devices Phat Stereo
audio0 at auvia0: full duplex, mmap, independent
mtd0 at pci0 dev 10 function 0: vendor 0x1516 product 0x0803 (rev. 0x00)
ukphy0 at mtd0 phy 0: Generic IEEE 802.3u media interface
ukphy0: OUI 0x00032d, model 0x0000, rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
mtd0: using irq 10 for interrupt
isa0 at pcib0
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0: no ISA Plug 'n Play devices found
apm0 at mainbus0: Power Management spec V1.2 (slowidle)
biomask eb65 netmask ef65 ttymask ffe7
boot device: wd0
root on wd0a dumps on wd0b
mountroot: trying msdos...
mountroot: trying cd9660...
mountroot: trying ntfs...
mountroot: trying nfs...
mountroot: trying ext2fs...
mountroot: trying ffs...
root file system type: ffs
init: copying out path `/sbin/init' 11
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
wsdisplay0: screen 5 added (80x25, vt100 emulation)
wsdisplay0: screen 6 added (80x25, vt100 emulation)
wsdisplay0: screen 7 added (80x25, vt100 emulation)
-------------------------------------------------------------------------------
Configuration file: (Removed some comments for brevity)
-------------------------------------------------------------------------------
include "arch/i386/conf/std.i386"
maxusers 32 # estimated number of users
# CPU support. At least one is REQUIRED.
options I686_CPU
# CPU-related options.
options USER_LDT # user-settable LDT; used by WINE
options MTRR # memory-type range register syscall support
options PERFCTRS # performance-monitoring counters support
# Standard system options
options UCONSOLE # users can use TIOCCONS (for xconsole)
options INSECURE # disable kernel security levels
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
options NTP # NTP phase/frequency locked loop
options KTRACE # system call tracing via ktrace(1)
options SYSVMSG # System V-like message queues
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
options LKM # loadable kernel modules
# Diagnostic/debugging support options
options DIAGNOSTIC # expensive kernel consistency checks
options DEBUG # expensive debugging checks/support
options KMEMSTATS # kernel memory statistics (vmstat -m)
options DDB # in-kernel debugger
options DDB_HISTORY_SIZE=512 # enable history editing in DDB
makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
options COMPAT_15 # NetBSD 1.5,
# File systems
file-system FFS # UFS
file-system EXT2FS # second extended file system (linux)
file-system NFS # Network File System client
file-system NTFS # Windows/NT file system (experimental)
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # MS-DOS file system
file-system KERNFS # /kern
file-system PROCFS # /proc
# File system options
options FFS_EI # FFS Endian Independent support
options SOFTDEP # FFS soft updates support.
options NFSSERVER # Network File System server
# Networking options
options INET # IP + ICMP + TCP + UDP
options NETATALK # AppleTalk networking protocols
options PPP_BSDCOMP # BSD-Compress compression support for PPP
options PPP_DEFLATE # Deflate compression support for PPP
options PPP_FILTER # Active filter support for PPP (requires bpf)
options PFIL_HOOKS # pfil(9) packet filter hooks
options IPFILTER_LOG # ipmon(8) log support
options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM
# wscons options
# builtin terminal emulations
options WSEMUL_VT100 # VT100 / VT220 emulation
# different kernel output - see dev/wscons/wsdisplayvar.h
options WS_KERNEL_FG=WSCOL_GREEN
#options WS_KERNEL_BG=WSCOL_BLACK
# compatibility to other console drivers
options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls
options WSDISPLAY_COMPAT_USL # VT handling
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
options PCDISPLAY_SOFTCURSOR
# Kernel root file system and dump configuration.
config netbsd root on ? type ?
mainbus0 at root
apm0 at mainbus0 # Advanced power management
# Plug-and-Play BIOS and attached devices
pnpbios* at mainbus?
# com port
com* at pnpbios? index ? # serial ports
# parallel port
lpt* at pnpbios? index ? # parallel ports
pckbc* at pnpbios? index ? # PC keyboard/mouse controller
# PCI bus support
pci* at mainbus? bus ?
pci* at pchb? bus ?
pci* at ppb? bus ?
# PCI bridges
pchb* at pci? dev ? function ? # PCI-Host bridges
pceb* at pci? dev ? function ? # PCI-EISA bridges
pcib* at pci? dev ? function ? # PCI-ISA bridges
ppb* at pci? dev ? function ? # PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
puc* at pci? dev ? function ? # PCI "universal" comm. cards
agp* at pchb?
# EISA bus support
eisa0 at mainbus?
eisa0 at pceb?
# ISA bus support
isa0 at mainbus?
isa0 at pceb?
isa0 at pcib?
# Math Coprocessor support
npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
pms* at pckbc? # PS/2 mouse for wsmouse
vga0 at isa?
vga* at pci? dev ? function ?
wsdisplay* at vga? console ?
wskbd* at pckbd? console ?
wsmouse* at pms? mux 0
pcppi0 at isa?
sysbeep0 at pcppi?
# Serial Devices
# PCI serial interfaces
com* at puc? port ? # 16x50s on "universal" comm boards
cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards
cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards
# ISA Plug-and-Play serial interfaces
com* at isapnp? # Modems and serial boards
# ISA serial interfaces
com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports
com1 at isa? port 0x2f8 irq 3
com2 at isa? port 0x3e8 irq 5
com3 at isa? port 0x2e8 irq 9
# PCI parallel printer interfaces
lpt* at puc? port ? # || ports on "universal" comm boards
# ISA parallel printer interfaces
lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports
# VIA VT82C686A hardware monitor
#viapm* at pci? dev ? function ?
#viaenv* at viapm?
# ** note: I don't use the hardware monitor at all, so it's disabled.
# IDE and related devices
# PCI IDE controllers - see pciide(4) for supported hardware.
# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
# how to set up DMA modes for this chip. This may work, or may cause
# a machine hang with some controllers.
pciide* at pci? dev ? function ? flags 0x0000
# ISA Plug-and-Play IDE controllers
wdc* at isapnp?
# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0 at isa? port 0x1f0 irq 14 flags 0x00
wdc1 at isa? port 0x170 irq 15 flags 0x00
# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd* at wdc? channel ? drive ? flags 0x0f00
wd* at pciide? channel ? drive ? flags 0x0f00
# ** note: See, no udma :)
# ATAPI bus support
atapibus* at wdc? channel ?
atapibus* at pciide? channel ?
# ATAPI devices
# flags have the same meaning as for IDE drives.
cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
# Miscellaneous mass storage devices
# ISA floppy
fdc0 at isa? port 0x3f0 irq 6 drq 2 # standard PC floppy controllers
fd* at fdc? drive ? # the drives themselves
# Network Interfaces
# PCI network interfaces
mtd* at pci? dev ? function ? # Myson MTD803 3-in-1 Ethernet
# ** note: This is my own driver, it's still to be uploaded to CVS by the tech-net people. :)
# MII/PHY support
ukphy* at mii? phy ? # generic unknown PHYs
# ** Needed for the MTD803
# Audio Devices
# PCI audio devices
auvia* at pci? dev ? function ? # VIA VT82C686A integrated AC'97 Audio
# OPL[23] FM synthesizers
opl0 at isa? port 0x388 # use only if not attached to sound card
# Audio support
audio* at auvia?
# MPU 401 UARTs
mpu* at isa? port 0x330 irq 9 # MPU401 or compatible card
# MIDI support
midi* at mpu? # MPU 401
midi* at opl? # OPL FM synth
# ** Note: Haven't had the time to check if these sound stuff works. There's music in Windows, but that could be emulated or so.
# Mice
# ISA busmice
lms0 at isa? port 0x23c irq 5 # Logitech bus mouse
lms1 at isa? port 0x238 irq 5
mms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
mms1 at isa? port 0x238 irq 5
wsmouse* at lms? mux 0
wsmouse* at mms? mux 0
# Joysticks
joy* at pnpbios? index ? # Game port
# ISA Plug-and-Play joysticks
joy* at isapnp? # Game ports (usually on audio cards)
# PCI joysticks
joy* at pci? # Game ports (usually on audio cards)
pseudo-device md 1 # memory disk device (ramdisk)
pseudo-device vnd 4 # disk-like interface to files
# network pseudo-devices
pseudo-device bpfilter 8 # Berkeley packet filter
pseudo-device ipfilter # IP filter (firewall) and NAT
pseudo-device loop # network loopback
pseudo-device ppp 2 # Point-to-Point Protocol
pseudo-device pppoe # PPP over Ethernet (RFC 2516)
pseudo-device vlan # IEEE 802.1q encapsulation
pseudo-device bridge # simple inter-network bridging
# miscellaneous pseudo-devices
pseudo-device pty # pseudo-terminals
pseudo-device tb 1 # tablet line discipline
pseudo-device sequencer 1 # MIDI sequencer
# rnd works; RND_COM does not on port i386 yet.
pseudo-device rnd # /dev/random and in-kernel generator
pseudo-device clockctl # user control of clock subsystem
# wscons pseudo-devices
pseudo-device wsmux # mouse & keyboard multiplexor
pseudo-device wsfont
-------------------------------------------------------------------------------
HTH
"The process of preparing programs for a digital computer
is especially attractive, not only because it can be economically
and scientifically rewarding, but also because it can be an aesthetic
experience much like composing poetry or music."
--Donald Knuth