> Am 06.06.2015 um 15:06 schrieb Jonathan Gray <j...@jsg.id.au>: > > On Sun, May 24, 2015 at 02:34:04AM +0200, Patrick Wildt wrote: >> Just some random input. >> >> QEMU supports emulating a few ARM boards. One of those is >> the cubieboard which OpenBSD already supports. Unfortunately >> it looks like that even though it does emulate its ethernet controller, >> it does not emulate any storage. >> >> Qemu also supports emulating a ???virt??? machine. This is essentially >> a basic machine that only provides virtio devices. This means that >> if you use the virtio mmio interface you can get access to peripherals >> like storage, ethernet, random number generator, and some more. >> >> Now this platform is very simple to support if you have FDT, but >> even without it, it???s easily doable. >> >> As far as I know that platform is supported by Bitrig and recently >> also FreeBSD. >> >> The people who work on the ARM subtree already have enough >> on their plates to worry about another platform. If you want this >> to happen, feel free to step up and have a look. It???s not that hard >> and I bet it???s a chance for people to get into hacking OpenBSD. >> >> \Patrick > > The virt target sets a board id of -1.
Yes, because they expect you to go with time and use the device tree tables. I think there’s a big push to go away from these board ids and they start to not be reliable anymore. -1 probably means „don’t use it“. I have FreeScale LS1021A TWR which doesn’t even set the boardid and it’s random everytime I boot it up. But in that case you can set it in the u-boot env. One could probably patch the qemu in ports to set some other id. > The virtio ranges are present > in the vexpress-a9 and vexpress-a15 targets which annoyingly have > different load addresses and memory maps but share the same > board id. > > Seems to be an interrupt problem of some sort with the a15 > target but the a9 one works. Oh, I had enough of those… We have some changes in the Bitrig agtimer which might make it work better. No guarantees. > > OpenBSD/vexpress booting ... > arg0 0x0 arg1 0x8e0 arg2 0x60000100 > atag core flags 1 pagesize 1000 rootdev 0 > atag mem start 0x60000000 size 0x8000000 > atag cmdline [sd0a] > bootfile: sd0a > bootargs: > memory size derived from u-boot > bootconf.mem[0].address = 60000000 pages 32768/0x08000000 > Allocating page tables > freestart = 0x60767000, free_pages = 30873 (0x00007899) > IRQ stack: p0x60795000 v0xc0795000 > ABT stack: p0x60796000 v0xc0796000 > UND stack: p0x60797000 v0xc0797000 > SVC stack: p0x60798000 v0xc0798000 > Creating L1 page table at 0x60768000 > Mapping kernel > Constructing L2 page tables > undefined page pmap [ using 384116 bytes of bsd ELF symbol table ] > board type: 2272 > Copyright (c) 1982, 1986, 1989, 1991, 1993 > The Regents of the University of California. All rights reserved. > Copyright (c) 1995-2015 OpenBSD. All rights reserved. http://www.OpenBSD.org > > OpenBSD 5.7-current (GENERIC) #76: Sat Jun 6 22:22:35 AEST 2015 > j...@imx.jsg.id.au:/usr/src/sys/arch/armv7/compile/GENERIC > real mem = 134217728 (128MB) > avail mem = 123506688 (117MB) > warning: no entropy supplied by boot loader > mainbus0 at root > cortex0 at mainbus0 > ampintc0 at cortex0 nirq 96 > amptimer0 at cortex0: tick rate 396000 KHz > armliicc0 at cortex0: rtl 0 waymask: 0x00000007 > cpu0 at mainbus0: ARM Cortex A9 rev 0 (ARMv7 core) > cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled > cpu0: 16KB(32b/l,4way) I-cache, 16KB(32b/l,4way) wr-back D-cache > vexpress0 at mainbus0: ARM VExpress > pluart0 at vexpress0 console > virtio0 at vexpress0: Virtio Entropy Device > viornd0 at virtio0 > virtio1 at vexpress0: Virtio Memory Balloon Device > viomb0 at virtio1 > virtio2 at vexpress0: Virtio Network Device > vio0 at virtio2: address 52:54:00:12:34:56 > virtio3 at vexpress0: Virtio SCSI host Device > vioscsi0 at virtio3: qsize 1024 > scsibus0 at vioscsi0: 255 targets > sd0 at scsibus0 targ 0 lun 0: <QEMU, QEMU HARDDISK, 2.3.> SCSI3 0/direct fixed > sd0: 1024MB, 512 bytes/sector, 2097152 sectors, thin > cd0 at scsibus0 targ 2 lun 0: <QEMU, QEMU CD-ROM, 2.3.> SCSI3 5/cdrom > removable > vscsi0 at root > scsibus1 at vscsi0: 256 targets > softraid0 at root > scsibus2 at softraid0: 256 targets > boot device: sd0 > root on sd0a (bfa4a02f29558655.a) swap on sd0b dump on sd0b > WARNING: CHECK AND RESET THE DATE! > Automatic boot in progress: starting file system checks. > /dev/rsd0a: file system is clean; not checking > setting tty flags > pf enabled > starting network > DHCPREQUEST on vio0 to 255.255.255.255 > DHCPACK from 192.168.1.1 (00:60:e0:48:36:c0) > bound to 192.168.1.159 -- renewal in 21600 seconds. > starting early daemons: syslogd pflogd ntpd. > starting RPC daemons:. > savecore: no core dump > checking quotas: done. > clearing /tmp > kern.securelevel: 0 -> 1 > creating runtime link editor directory cache. > preserving editor files. > starting network daemons: sshd smtpd sndiod. > starting local daemons: cron. > Sat Jun 6 22:54:10 AEST 2015 > > OpenBSD/armv7 (vexpress.jsg.id.au) (console) > > login: > > OpenBSD/vexpress booting ... > arg0 0x0 arg1 0x8e0 arg2 0x80000100 > atag core flags 1 pagesize 1000 rootdev 0 > atag mem start 0x80000000 size 0x8000000 > atag cmdline [sd0a] > bootfile: sd0a > bootargs: > memory size derived from u-boot > bootconf.mem[0].address = 80000000 pages 32768/0x08000000 > Allocating page tables > freestart = 0x80767000, free_pages = 30873 (0x00007899) > IRQ stack: p0x80795000 v0xc0795000 > ABT stack: p0x80796000 v0xc0796000 > UND stack: p0x80797000 v0xc0797000 > SVC stack: p0x80798000 v0xc0798000 > Creating L1 page table at 0x80768000 > Mapping kernel > Constructing L2 page tables > undefined page pmap [ using 384116 bytes of bsd ELF symbol table ] > board type: 2272 > Copyright (c) 1982, 1986, 1989, 1991, 1993 > The Regents of the University of California. All rights reserved. > Copyright (c) 1995-2015 OpenBSD. All rights reserved. http://www.OpenBSD.org > > OpenBSD 5.7-current (GENERIC) #76: Sat Jun 6 22:22:35 AEST 2015 > j...@imx.jsg.id.au:/usr/src/sys/arch/armv7/compile/GENERIC > real mem = 134217728 (128MB) > avail mem = 123506688 (117MB) > warning: no entropy supplied by boot loader > mainbus0 at root > cortex0 at mainbus0 > ampintc0 at cortex0 nirq 160 > agtimer0 at cortex0: tick rate 24000 KHz > cpu0 at mainbus0: ARM Cortex A15 R2 rev 1 (ARMv7 core) > cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled > cpu0: 32KB(64b/l,2way) I-cache, 32KB(64b/l,2way) wr-back D-cache > vexpress0 at mainbus0: ARM VExpress > pluart0 at vexpress0 console > virtio0 at vexpress0: Virtio Entropy Device > viornd0 at virtio0 > virtio1 at vexpress0: Virtio Memory Balloon Device > viomb0 at virtio1 > virtio2 at vexpress0: Virtio Network Device > vio0 at virtio2: address 52:54:00:12:34:56 > virtio3 at vexpress0: Virtio SCSI host Device > vioscsi0 at virtio3: qsize 1024 > scsibus0 at vioscsi0: 255 targets > sd0 at scsibus0 targ 0 lun 0: <QEMU, QEMU HARDDISK, 2.3.> SCSI3 0/direct fixed > sd0: 1024MB, 512 bytes/sector, 2097152 sectors, thin > cd0 at scsibus0 targ 2 lun 0: <QEMU, QEMU CD-ROM, 2.3.> SCSI3 5/cdrom > removable > vscsi0 at root > scsibus1 at vscsi0: 256 targets > softraid0 at root > scsibus2 at softraid0: 256 targets > boot device: sd0 > root on sd0a (bfa4a02f29558655.a) swap on sd0b dump on sd0b > WARNING: CHECK AND RESET THE DATE! Nice, congrats, looks good. :)