> 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. :)


Reply via email to