Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 May 2009 02:37:01 +0200
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        Sebastian Herbszt <herbszt@gmx.de>
Cc:        jan.kiszka@siemens.com, freebsd-emulation@FreeBSD.org, qemu-devel@nongnu.org
Subject:   Re: Thanx for the kqemu patches; some notes about NetBSD/OpenBSD guests
Message-ID:  <20090531003701.GA13927@triton.kn-bremen.de>
In-Reply-To: <799A5F31E2B2415DA53F558FE3E2ACE7@FSCPC>
References:  <20090530205152.GA7702@triton.kn-bremen.de> <799A5F31E2B2415DA53F558FE3E2ACE7@FSCPC>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, May 31, 2009 at 01:06:31AM +0200, Sebastian Herbszt wrote:
> Juergen Lock wrote:
> > 2. NetBSD doesn't seem to particularly like qemu's acpi tables, it
> > apparenly doesn't find a pci bus and anything on it in that case
> > (like a nic our audio card; `pcictl pci0 list' says Device not configured.)
> > 
> > 3. When I disable acpi either via the boot menu or via -no-acpi it still
> > has trouble assigning pci irqs correctly (like, uses irq 12 instead of 11
> > for the nic) - this seems to have something to do with the emulated
> > io-apic that it still picks up in that case - if I disable that by
> > building a new bios that has this patch reverted,
> > pc-bios/bios-pq/0003_kvm-bios-generate-mptable-unconditionally.patch
> > the irqs at least get assigned correctly.  (Maybe the bios should only
> > pass an mptable for a single cpu when there also is acpi?)
> 
> With "-no-acpi" there is no PIIX4 PM added to the bus. If i don't mistake the
> mp and acpi tables aren't affected by this.
> 
> The mptable doesn't contain a pci bus entry (just isa). The linux kernel does
> complain if booted with "acpi=off"; maybe NetBSD is more picky.
> 
Aha so maybe NetBSD is expectig to see the pci bus listed in acpi then...

> > Oh, if anyone wants dmesg.s of the various with/without acpi/io-apic
> > combinations I can post those too, the patched bios I just put at:
> > http://people.freebsd.org/~nox/qemu/pc-bios-0.10.5-no-default-mptable/bios.bin
> 
> I would like to see the output.
> 
 OK I'll append below.

> > (I had to end up building it on a Linux guest, our assembler said things
> > like
> > rombios32start.S:56: Error: `0(%ebx)' is not a valid 16 bit base/index expression
> > .)
> 
> What's your tool chain (gcc, binutils,...) ?

 Whatever is in FreeBSD 7.2-stable base, lets see...

zsh triton% as --version
GNU assembler 2.15 [FreeBSD] 2004-05-23
zsh triton% ld --version              
GNU ld version 2.15 [FreeBSD] 2004-05-23

 Heh doesn't look particularly new indeed :)

 Thanx,
	Juergen

1. acpi + mptable: (upstream bios; notice no pci0, piixide0, pcn0, and
auich0)

--------snip------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.0 (GENERIC) #0: Sun Apr 26 18:50:08 UTC 2009
	builds@b6.netbsd.org:/home/builds/ab/netbsd-5-0-RELEASE/i386/200904260229Z-obj/home/builds/ab/netbsd-5-0-RELEASE/src/sys/arch/i386/compile/GENERIC
total memory = 1023 MB
avail memory = 994 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Generic PC
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel 686-class, id 0x633
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 11, 24 pins
acpi0 at mainbus0: Intel ACPICA 20080321
acpi0: X/RSDT: OemId <QEMU  ,QEMURSDT,00000001>, AslId <QEMU,00000001>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
ACPI-Safe 24-bit timer
pckbc1 at acpi0 (KBD, PNP0303): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (MOU, PNP0F13): aux port
pckbc2: irq 12
FDC0 (PNP0700) at acpi0 not configured
LPT (PNP0400) at acpi0 not configured
COM1 (PNP0501) at acpi0 not configured
apm0 at acpi0: Power Management spec V1.2
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
isa0 at mainbus0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
attimer0 at isa0 port 0x40-0x43: AT Timer
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
atabus0 at wdc0 channel 0
wdc1 at isa0 port 0x170-0x177 irq 15
atabus1 at wdc1 channel 0
vga0 at isa0 port 0x3b0-0x3df iomem 0xa0000-0xbffff
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
attimer0: attached to pcppi0
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
wd0 at atabus0 drive 0: <QEMU HARDDISK>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 10240 MB, 20805 cyl, 16 head, 63 sec, 512 bytes/sect x 20971520 sectors
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <QEMU DVD-ROM, QM00003, 0.10.5> cdrom removable
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio0 at pad0: half duplex
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
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)
--------snip------------

2. -no-acpi + mptable (notice wrong pcn0 irq, and `ioapic0 pin 12:
can't share type 3 with 2' as a result):

--------snip------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.0 (GENERIC) #0: Sun Apr 26 18:50:08 UTC 2009
	builds@b6.netbsd.org:/home/builds/ab/netbsd-5-0-RELEASE/i386/200904260229Z-obj/home/builds/ab/netbsd-5-0-RELEASE/src/sys/arch/i386/compile/GENERIC
total memory = 1023 MB
avail memory = 994 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Generic PC
mainbus0 (root)
ACPI Error (tbxfroot-0308): A valid RSDP was not found [20080321]
ACPI: unable to initialize ACPI tables: AE_NOT_FOUND
mainbus0: Intel MP Specification (Version 1.4) (QEMUCPU  0.1         )
cpu0 at mainbus0 apid 0: Intel 686-class, id 0x633
mpbios: bus 0 is type ISA   
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 11, 24 pins
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 0x8086 product 0x1237 (rev. 0x02)
pcib0 at pci0 dev 1 function 0
pcib0: vendor 0x8086 product 0x7000 (rev. 0x00)
piixide0 at pci0 dev 1 function 1
piixide0: Intel 82371SB IDE Interface (PIIX3) (rev. 0x00)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel interrupting at ioapic0 pin 15
atabus1 at piixide0 channel 1
vga1 at pci0 dev 2 function 0: vendor 0x1013 product 0x00b8 (rev. 0x00)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
drm at vga1 not configured
pcn0 at pci0 dev 3 function 0: AMD PCnet-PCI Ethernet
pcn0: Am79c970A PCnet-PCI II rev 0, Ethernet address 52:54:00:12:34:56
pcn0: interrupting at ioapic0 pin 12
pcn0: 10base5, 10base5-FDX, 10baseT, 10baseT-FDX, auto, auto-FDX
auich0 at pci0 dev 4 function 0: i82801AA (ICH) AC-97 Audio
auich0: interrupting at ioapic0 pin 9
auich0: ac97: SigmaTel STAC9700 codec; no 3D stereo
auich0: ac97: ext id 809<AC97_23,VRM,VRA>
vendor 0x1af4 product 0x1002 (RAM memory) at pci0 dev 5 function 0 not configured
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
intr_establish: pic ioapic0 pin 12: can't share type 3 with 2
pckbc0: unable to establish interrupt for aux slot
wsmouse0 at pms0 mux 0
attimer0 at isa0 port 0x40-0x43: AT Timer
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
attimer0: attached to pcppi0
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
auich0: measured ac97 link rate at 45801 Hz, will use 48000 Hz
audio0 at auich0: full duplex, mmap, independent
wd0 at atabus0 drive 0: <QEMU HARDDISK>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 10240 MB, 20805 cyl, 16 head, 63 sec, 512 bytes/sect x 20971520 sectors
wd0: 32-bit data port
wd0(piixide0:0:0): using PIO mode 0
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <QEMU DVD-ROM, QM00003, 0.10.5> cdrom removable
cd0: 32-bit data port
cd0(piixide0:1:0): using PIO mode 3
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
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)
--------snip------------

3. -no-acpi + no mptable: (patched bios; only this combination works)

--------snip------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.0 (GENERIC) #0: Sun Apr 26 18:50:08 UTC 2009
	builds@b6.netbsd.org:/home/builds/ab/netbsd-5-0-RELEASE/i386/200904260229Z-obj/home/builds/ab/netbsd-5-0-RELEASE/src/sys/arch/i386/compile/GENERIC
total memory = 1023 MB
avail memory = 994 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Generic PC
mainbus0 (root)
ACPI Error (tbxfroot-0308): A valid RSDP was not found [20080321]
ACPI: unable to initialize ACPI tables: AE_NOT_FOUND
cpu0 at mainbus0: Intel 686-class, id 0x633
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 0x8086 product 0x1237 (rev. 0x02)
pcib0 at pci0 dev 1 function 0
pcib0: vendor 0x8086 product 0x7000 (rev. 0x00)
piixide0 at pci0 dev 1 function 1
piixide0: Intel 82371SB IDE Interface (PIIX3) (rev. 0x00)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel interrupting at irq 15
atabus1 at piixide0 channel 1
vga1 at pci0 dev 2 function 0: vendor 0x1013 product 0x00b8 (rev. 0x00)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
drm at vga1 not configured
pcn0 at pci0 dev 3 function 0: AMD PCnet-PCI Ethernet
pcn0: Am79c970A PCnet-PCI II rev 0, Ethernet address 52:54:00:12:34:56
pcn0: interrupting at irq 11
pcn0: 10base5, 10base5-FDX, 10baseT, 10baseT-FDX, auto, auto-FDX
auich0 at pci0 dev 4 function 0: i82801AA (ICH) AC-97 Audio
auich0: interrupting at irq 9
auich0: ac97: SigmaTel STAC9700 codec; no 3D stereo
auich0: ac97: ext id 809<AC97_23,VRM,VRA>
vendor 0x1af4 product 0x1002 (RAM memory) at pci0 dev 5 function 0 not configured
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
attimer0 at isa0 port 0x40-0x43: AT Timer
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
attimer0: attached to pcppi0
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
auich0: measured ac97 link rate at 46040 Hz, will use 48000 Hz
audio0 at auich0: full duplex, mmap, independent
wd0 at atabus0 drive 0: <QEMU HARDDISK>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 10240 MB, 20805 cyl, 16 head, 63 sec, 512 bytes/sect x 20971520 sectors
wd0: 32-bit data port
wd0(piixide0:0:0): using PIO mode 0
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <QEMU DVD-ROM, QM00003, 0.10.5> cdrom removable
cd0: 32-bit data port
cd0(piixide0:1:0): using PIO mode 3
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
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)
--------snip------------

4. and for completeness sake, acpi + no mptable: (patched bios; again
no pci devices)

--------snip------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.0 (GENERIC) #0: Sun Apr 26 18:50:08 UTC 2009
	builds@b6.netbsd.org:/home/builds/ab/netbsd-5-0-RELEASE/i386/200904260229Z-obj/home/builds/ab/netbsd-5-0-RELEASE/src/sys/arch/i386/compile/GENERIC
total memory = 1023 MB
avail memory = 994 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
Generic PC
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel 686-class, id 0x633
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 11, 24 pins
acpi0 at mainbus0: Intel ACPICA 20080321
acpi0: X/RSDT: OemId <QEMU  ,QEMURSDT,00000001>, AslId <QEMU,00000001>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
ACPI-Safe 24-bit timer
pckbc1 at acpi0 (KBD, PNP0303): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (MOU, PNP0F13): aux port
pckbc2: irq 12
FDC0 (PNP0700) at acpi0 not configured
LPT (PNP0400) at acpi0 not configured
COM1 (PNP0501) at acpi0 not configured
apm0 at acpi0: Power Management spec V1.2
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
isa0 at mainbus0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
attimer0 at isa0 port 0x40-0x43: AT Timer
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
atabus0 at wdc0 channel 0
wdc1 at isa0 port 0x170-0x177 irq 15
atabus1 at wdc1 channel 0
vga0 at isa0 port 0x3b0-0x3df iomem 0xa0000-0xbffff
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
attimer0: attached to pcppi0
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
wd0 at atabus0 drive 0: <QEMU HARDDISK>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 10240 MB, 20805 cyl, 16 head, 63 sec, 512 bytes/sect x 20971520 sectors
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 0: <QEMU DVD-ROM, QM00003, 0.10.5> cdrom removable
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio0 at pad0: half duplex
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
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)
--------snip------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090531003701.GA13927>