PCI range checking under qemu-system-sparc64

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Fri Nov 13 18:22:34 UTC 2015

On 08/11/15 17:32, Mark Cave-Ayland wrote:

> I now have a small patchset for QEMU git master that fixes the timer
> issues (as well as implementing the NPT bit properly) and it gets to the
> same point as you did above, so that's progress :)
> QEMU is currently in freeze in preparation for the next release, so
> while the timer work won't be there for 2.5 in the meantime I shall tidy
> them up and push to github. I should add that the ebus enumeration
> patches related to the device tree properties (minus the addition of the
> keyboard device that crashes Linux) are already upstream and will appear
> in 2.5.

FYI I've just posted my patches for upstream review at
for the adventurous/foolhardy ;)

With the patches applied to QEMU git master I now see the same
corruption that you did:

$ ./qemu-system-sparc64 -cdrom sparc64.iso -boot d -nographic
OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Oct 27 2015 23:43
  Type 'help' for detailed information
Trying cdrom:f...
Not a bootable ELF image
Loading a.out image...
Loaded 7680 bytes
entry point is 0x4000

Jumping to entry point 0000000000004000 for type 0000000000000005...
switching to new context: entry point 0x4000 stack 0x00000000ffe8aa09

>> FreeBSD/sparc64 boot block
   Boot path:   /pci at 1fe,0/pci-ata at 5/ide1 at 8200/cdrom at 0:f
   Boot loader: /boot/loader
Consoles: Open Firmware console

FreeBSD/sparc64 bootstrap loader, Revision 1.0
(mca at freebsd, Thu Sep 24 00:27:19 BST 2015)
bootpath="/pci at 1fe,0/pci-ata at 5/ide1 at 8200/cdrom at 0:a"
Loading /boot/defaults/loader.conf
/boot/kernel/kernel data=0xd893c0+0x20ffd8 syms=[0x8+0xdc578+0x8+0xcb349]
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
jumping to kernel entry at 0xc00b0000.
GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2015 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 11.0-CURRENT #0 1eb7424(master): Thu Sep 24 06:41:18 BST 2015

mca at freebsd:/usr/home/mca/obj/sparc64.sparc64/usr/home/mca/src/sys/GENERIC
gcc version 4.2.1 20070831 patched [FreeBSD]
WARNING: WITNESS option enabled, expect reduced performance.
VT: init without driver.
real memory  = 134217728 (128 MB)
avail memory = 98312192 (93 MB)
cpu0: Sun Microsystems UltraSparc-IIi Processor (100.00 MHz CPU)
random: entropy device external interface
kbd0 at kbdmux0
nexus0: <Open Firmware Nexus device>
nexus0: <builtin>: incomplete
pcib0: <U2P UPA-PCI bridge> mem 0x1fe00000000-0x1fe01ffffff irq
2032,2030,2031,2021 on nexus0
pcib0: Sabre, impl 0, version 0, IGN 0x1f, bus A, 33MHz
pcib0: DVMA map: 0xc0000000 to 0xc3ffffff 8192 entries
pci0: <OFW PCI bus> on pcib0
pcib1: <APB PCI-PCI bridge> at device 1.0 on pci0
pci1: <OFW PCI bus> on pcib1
pcib2: <APB PCI-PCI bridge> at device 1.1 on pci0
pci2: <OFW PCI bus> on pcib2
ebus0: <PCI-EBus2 bridge> port 0x4000-0x7fff mem 0x3000000-0x3ffffff at
device 3.0 on pci0
vgapci0: <VGA-compatible display> mem
0x1000000-0x1ffffff,0x2000000-0x2000fff at device 2.0 on pci0
vgapci0: Boot video device
eeprom0: <EEPROM/clock> addr 0x1400002000-0x1400003fff on ebus0
eeprom0: model mk48t59
ebus0: <fdthree> addr 0 (no driver attached)
uart0: <16550 or compatible> addr 0x14000003f8-0x14000003ff irq 43 on ebus0
uart0: console (9600,n,8,1)
ebus0: <kb_ps2> addr 0x1400000060-0x1400000067 (no driver attached)
pci0: <network, ethernet> at device 4.0 (no driver attached)
atapci0: <SiI (CMD) 646U2 UDMA33 controller> port
0x8100-0x8107,0x8180-0x8183,0x8200-0x8207,0x8280-0x8283,0x8300-0x830f at
device 5.0 on pci0
ata2: <ATA channel> at channel 0 on atapci0
ata3: <ATA channel> at channel 1 on atapci0
cryptosoft0: <software crypto> on nexus0
nexus0: <syscons> type unknown (no driver attached)
Timecounter "tick" frequency 100000000 Hz quality 1000
Event timer "tick" frequency 100000000 Hz quality 1000
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
cd0 at ata3 bus 0 scbus1 target 0 lun 0
cd0: <QEMU QEMU DVD-ROM 2.4.> Removable CD-ROM SCSI device
cd0: Serial Number QM00003
cd0: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: cd present [250560 x 2048 byte records]
WARNING: WITNESS option enabled, expect reduced performance.
Trying to mount root from cd9660:/dev/iso9660/TEST [ro]...
[ thread pid 17 tid 100035 ]
Stopped at      tl1_trap+0x24:  stx             %o0, [%sp + 0x997]



More information about the freebsd-sparc64 mailing list