Trying to get MALTA64 running under qemu

Ben Morrow ben at morrow.me.uk
Sat Oct 18 23:00:02 UTC 2014


I'm considering buying an ERL to use as a local router, but before I did
I thought I'd make sure the ports I want to run work properly with MIPS,
so I'm trying to bring up a qemu-system-mips64 instance. I've built
world and kernel (using MALTA64) for mips.mips64, and built a disk image
following the instructions on the MipsEmulation page on the wiki. The
source I am using is a slightly patched 10-STABLE from 2014-09-09; the
patches have nothing to do with MIPS.

However, when I try to bring qemu up, the system appears to hang after
probing the ata devices. Over the course of about 30 seconds the qemu
process goes up to 100% of one CPU, and no more output appears on the
console. This appears to happen regardless of the disk images I pass to
qemu; I've tried passing a UFS image, a file full of zeros, no disks at
all, and (just in case) both -hda and -hdc. I've included the boot log
below; I'd appreciate any advice.

Ben

% uname -m
amd64
% pkg info -E qemu                                                     
qemu-0.11.1_16
% qemu-system-mips64 -M malta -kernel yarrow.kernel -hda yarrow.ufs -nographic
entry: platform_start()
cmd line: yarrow.kernel  
envp:
	memsize = 134217728
	modetty0 = 38400n8r
memsize = 08000000
Cache info:
  picache_stride    = 4096
  picache_loopcount = 8
  pdcache_stride    = 4096
  pdcache_loopcount = 8
cpu0: MIPS Technologies processor v160.130
  MMU: Standard TLB, 48 entries
  L1 i-cache: 4 ways of 256 sets, 32 bytes per line
  L1 d-cache: 4 ways of 256 sets, 32 bytes per line
  Config1=0xdea3519b<PerfCount,WatchRegs,EJTAG,FPU>
Physical memory chunk(s):
0x622000 - 0x7ffffff, 127787008 bytes (31198 pages)
Maxmem is 0x8000000
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2014 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 10.1-PRERELEASE #0 3c1e5d7(mauzo/10-S): Sat Oct 18 02:43:24 BST 2014
    root at anubis:/usr/obj/mips.mips64/usr/src/sys/MALTA64 mips
gcc version 4.2.1 20070831 patched [FreeBSD]
Preloaded elf kernel "kernel" at 0xffffffff8061b2c0.
real memory  = 134217728 (131072K bytes)
Physical memory chunk(s):
0x0073f000 - 0x07cadfff, 123138048 bytes (30063 pages)
avail memory = 121868288 (116MB)
random device not loaded; using insecure entropy
mem: <memory>
null: <null device, zero device>
nfslock: pseudo-device
nexus0: <MIPS32 root nexus>
gt0: <GT64120 chip> on nexus0
pcib0: <GT64120 PCI bridge> on gt0
pci0: <PCI bus> on pcib0
pci0: domain=0, physical bus=0
found->	vendor=0x11ab, dev=0x4620, revid=0x10
	domain=0, bus=0, slot=0, func=0
	class=06-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0000, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=0
	map[14]: type Prefetchable Memory, range 32, base 0x1000000, size 24, memory disabled
	map[18]: type Memory, range 32, base 0x1c000000, size 26, memory disabled
	map[1c]: type Memory, range 32, base 0x1f000000, size 24, memory disabled
	map[20]: type Memory, range 32, base 0x14000000, size 26, memory disabled
	map[24]: type I/O Port, range 32, base 0x14000000, size 26, port disabled
pcib0: no IRQ mapping for 0/0/0/1
found->	vendor=0x8086, dev=0x7110, revid=0x00
	domain=0, bus=0, slot=10, func=0
	class=06-01-00, hdrtype=0x00, mfdev=1
	cmdreg=0x0007, statreg=0x0200, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
found->	vendor=0x8086, dev=0x7111, revid=0x00
	domain=0, bus=0, slot=10, func=1
	class=01-01-80, hdrtype=0x00, mfdev=0
	cmdreg=0x0000, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	map[20]: type I/O Port, range 32, base 0, size  4, port disabled
found->	vendor=0x8086, dev=0x7112, revid=0x01
	domain=0, bus=0, slot=10, func=2
	class=0c-03-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0000, statreg=0x0000, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=d, irq=0
	map[20]: type I/O Port, range 32, base 0, size  5, port disabled
pcib0: no IRQ mapping for 0/10/2/4
found->	vendor=0x8086, dev=0x7113, revid=0x03
	domain=0, bus=0, slot=10, func=3
	class=06-80-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0000, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=0
pcib0: no IRQ mapping for 0/10/3/1
found->	vendor=0x1022, dev=0x2000, revid=0x10
	domain=0, bus=0, slot=11, func=0
	class=02-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0007, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x06 (1500 ns), maxlat=0xff (63750 ns)
	intpin=a, irq=0
	map[10]: type I/O Port, range 32, base 0, size  5, enabled
	map[14]: type Memory, range 32, base 0, size  5, enabled
found->	vendor=0x1013, dev=0x00b8, revid=0x00
	domain=0, bus=0, slot=18, func=0
	class=03-00-00, hdrtype=0x00, mfdev=0
	cmdreg=0x0003, statreg=0x0000, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	map[10]: type Prefetchable Memory, range 32, base 0, size 25, enabled
	map[14]: type Memory, range 32, base 0, size 12, enabled
uart0: <Non-standard ns8250 class UART with FIFOs> on obio0
uart0: console (9600,n,8,1)
uart0: fast interrupt
pci0: <bridge, PCI-ISA> at device 10.0 (no driver attached)
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376 at device 10.1 on pci0
atapci0: Lazy allocation of 0x10 bytes rid 0x20 type 4 at 0x100
ata0: <ATA channel> at channel 0 on atapci0
ata1: <ATA channel> at channel 1 on atapci0
pci0: <serial bus, USB> at device 10.2 (no driver attached)
pci0: <bridge> at device 10.3 (no driver attached)
le0: <AMD PCnet-PCI> irq 10 at device 11.0 on pci0
le0: Lazy allocation of 0x20 bytes rid 0x10 type 4 at 0x120
le0: 16 receive buffers, 4 transmit buffers
le0: bpf attached
le0: Ethernet address: 52:54:00:12:34:56
vgapci0: <VGA-compatible display> at device 18.0 on pci0
vgapci0: Boot video device
clock0: <Generic MIPS32 ticker> on nexus0
Timecounter "MIPS32" frequency 100000000 Hz quality 800
Event timer "MIPS32" frequency 100000000 Hz quality 800
Device configuration finished.
Timecounters tick every 10.000 msec
tcp_init: net.inet.tcp.tcbhashsize auto tuned to 2048
lo0: bpf attached
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
ata0: stat1=0x00 err=0x00 lsb=0xff msb=0xff
ata0: reset tp2 stat0=50 stat1=00 devices=0x1
ata1: reset tp1 mask=03 ostat0=50 ostat1=00
ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1: stat1=0x00 err=0x00 lsb=0xff msb=0xff
ata1: reset tp2 stat0=00 stat1=00 devices=0x10000

(The emulator hangs at this point. I've left it for over an hour and it
just sits there at 100% CPU, making no further progress.)



More information about the freebsd-mips mailing list