Am Wed, Apr 14, 2021 at 10:55:14PM +0200 schrieb Mark Kettenis: > > Date: Wed, 14 Apr 2021 22:25:16 +0200 > > From: Patrick Wildt <patr...@blueri.se> > > > > Am Wed, Apr 14, 2021 at 10:17:58PM +0200 schrieb Patrick Wildt: > > > Hi, > > > > > > Parallels 16 for Mac supports the Apple M1 SoC now, and since it does > > > provide an EFI 'BIOS', our images boot out of the box (once converted > > > to 'hdd' or supplied as USB stick). > > > > > > Unfortunately virtio doesn't attach, because Parallels seems to provide > > > a 'new' version 2. The following diff adds support for version 2 and > > > I used it to install the VM over vio(4) network. And I was able to > > > install packages over vio(4) network. Disk is ahci(4), USB passthrough > > > is xhci(4), so that works nicely out of the box. > > > > > > Not sure if we want this for 6.9 or not. I think it wouldn't break the > > > current version 1, so I think it shouldn't hurt. > > > > > > If you're wondering why I'm 'so late' with this: jcs@ asked me to have > > > a look at the official Parallels for M1 release, and I just did that. > > > So I couldn't be any faster than this anyway. > > > > > > Opinions? > > > > > > Patrick > > > > Obviously I forgot to pay dmesg tax ;) > > > > OpenBSD 6.9 (GENERIC.MP) #295: Wed Apr 14 22:06:35 CEST 2021 > > patr...@lx2k.blueri.se:/usr/src/sys/arch/arm64/compile/GENERIC.MP > > real mem = 516423680 (492MB) > > avail mem = 468152320 (446MB) > > random: boothowto does not indicate good seed > > mainbus0 at root: Parallels ARM Virtual Machine > > psci0 at mainbus0: PSCI 1.0 > > cpu0 at mainbus0 mpidr 0: Unknown, MIDR 0x410f0000 > > cpu0: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache > > cpu0: 12288KB 128b/line 12-way L2 cache > > cpu0: > > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2 > > cpu1 at mainbus0 mpidr 1: Unknown, MIDR 0x410f0000 > > cpu1: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache > > cpu1: 12288KB 128b/line 12-way L2 cache > > cpu1: > > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,CSV3,CSV2 > > efi0 at mainbus0: UEFI 2.7 > > efi0: EDK II rev 0x10000 > > smbios0 at efi0: SMBIOS 3.0.0 > > smbios0: vendor Parallels Software International Inc. version "16.5.0 > > (50692)" date Mar 25 2021 > > smbios0: Parallels Parallels ARM Virtual Machine > > apm0 at mainbus0 > > ampintc0 at mainbus0 nirq 128, ncpu 2 ipi: 0, 1: "interrupt-controller" > > agtimer0 at mainbus0: 24000 kHz > > "soc" at mainbus0 not configured > > "clk24mhz" at mainbus0 not configured > > pluart0 at mainbus0 > > ahci0 at mainbus0: AHCI 1.1 > > ahci0: port 0: 1.5Gb/s > > ahci0: port 1: 1.5Gb/s > > scsibus0 at ahci0: 32 targets > > sd0 at scsibus0 targ 0 lun 0: <ATA, OpenBSD-0 SSD, F.CM> > > t10.ATA_OpenBSD-0_SSD_Y15J1M1AG4B4S7VMR61V > > sd0: 8192MB, 512 bytes/sector, 16777216 sectors, thin > > sd1 at scsibus0 targ 1 lun 0: <ATA, miniroot69, F.PB> > > t10.ATA_miniroot69_NQGN5C6P8H5MSAW6W3PG > > sd1: 33MB, 512 bytes/sector, 67584 sectors, thin > > ehci0 at mainbus0 > > usb0 at ehci0: USB revision 2.0 > > uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev > > 2.00/1.00 addr 1 > > xhci0 at mainbus0, xHCI 1.10 > > usb1 at xhci0: USB revision 3.0 > > uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev > > 3.00/1.00 addr 1 > > "gpu" at mainbus0 not configured > > "toolgate" at mainbus0 not configured > > virtio0 at mainbus0: Virtio Memory Balloon Device > > viomb0 at virtio0 > > virtio1 at mainbus0: Virtio Network Device > > vio0 at virtio1: address 00:1c:42:8a:67:34 > > simplefb0 at mainbus0: 1024x768, 32bpp > > wsdisplay0 at simplefb0 mux 1: console (std, vt100 emulation) > > wsdisplay0: screen 1-5 added (std, vt100 emulation) > > uhidev0 at uhub1 port 1 configuration 1 interface 0 "Parallels Virtual > > Mouse" rev 3.00/1.00 addr 2 > > uhidev0: iclass 3/0, 1 report id > > ums0 at uhidev0 reportid 1: 8 buttons, Z and W dir > > wsmouse0 at ums0 mux 0 > > uhidev1 at uhub1 port 1 configuration 1 interface 1 "Parallels Virtual > > Mouse" rev 3.00/1.00 addr 2 > > uhidev1: iclass 3/0, 2 report ids > > ums1 at uhidev1 reportid 2: 8 buttons, Z and W dir > > wsmouse1 at ums1 mux 0 > > uhidev2 at uhub1 port 2 configuration 1 interface 0 "Parallels Virtual > > Keyboard" rev 3.00/1.00 addr 3 > > uhidev2: iclass 3/1 > > ukbd0 at uhidev2: 8 variable keys, 5 key codes > > wskbd0 at ukbd0: console keyboard, using wsdisplay0 > > uvideo0 at uhub1 port 3 configuration 1 interface 0 "Parallels FaceTime HD > > Camera" rev 3.10/1.00 addr 4 > > video0 at uvideo0 > > vscsi0 at root > > scsibus1 at vscsi0: 256 targets > > softraid0 at root > > scsibus2 at softraid0: 256 targets > > root on sd0a (4a24f1a721df244f.a) swap on sd0b dump on sd0b > > Automatic boot in progress: starting file system checks. > > /dev/sd0a (4a24f1a721df244f.a): file system is clean; not checking > > /dev/sd0e (4a24f1a721df244f.e): file system is clean; not checking > > /dev/sd0d (4a24f1a721df244f.d): file system is clean; not checking > > pf enabled > > starting network > > vio0: 10.211.55.4 lease accepted from 10.211.55.1 (00:1c:42:00:00:18) > > reordering libraries: done. > > 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. > > Wed Apr 14 22:09:59 CEST 2021 > > Funny that it uses a device tree. Can you post the eeprom -p output?
Node 0x38 name: '' model: 'Parallels ARM Virtual Machine' interrupt-parent: 00000001 #address-cells: 00000002 #size-cells: 00000002 dma-coherent: Node 0xa8 name: 'interrupt-controller' compatible: 'arm,cortex-a15-gic' + 'arm,cortex-a9-gic' #interrupt-cells: 00000003 interrupt-controller: reg: 00000000.02010000.00000000.00001000.00000000.02000000.00000000.00003000 phandle: 00000001 Node 0x15c name: 'timer' compatible: 'arm,armv8-timer' interrupts: 00000001.0000000d.00000f08.00000001.0000000e.00000f08.00000001.0000000b.00000f08.00000001.0000000a.00000f08 Node 0x1c4 name: 'aliases' serial0: '/uart@2110000' Node 0x1f0 name: 'chosen' openbsd,dma-constraint: 00000000.00000000.ffffffff.ffffffff openbsd,uefi-mmap-desc-ver: 00000001 openbsd,uefi-mmap-desc-size: 00000030 openbsd,uefi-mmap-size: 000004b0 openbsd,uefi-mmap-start: 00000000.5bf18008 openbsd,uefi-system-table: 00000000.5fa60018 openbsd,bootduid: 1420d2aa.8edf7459 openbsd,boothowto: 00010000 bootargs: 'sd0a:/bsd' stdout-path: '/chosen/framebuffer' Node 0x2cc name: 'framebuffer' compatible: 'simple-framebuffer' reg: 00000000.20000000.00000000.00300000 width: 00000400 height: 00000300 stride: 00001000 format: 'x8r8g8b8' status: 'okay' Node 0x37c name: 'cpus' #address-cells: 00000001 #size-cells: 00000000 Node 0x3a8 name: 'cpu' status: 'okay' device_type: 'cpu' compatible: 'arm,armv8' reg: 00000000 Node 0x404 name: 'cpu' status: 'okay' device_type: 'cpu' compatible: 'arm,armv8' enable-method: 'psci' reg: 00000001 Node 0x478 name: 'soc' Node 0x484 name: 'psci' compatible: 'arm,psci-0.2' method: 'smc' Node 0x4c0 name: 'clk24mhz' compatible: 'fixed-clock' #clock-cells: 00000000 clock-frequency: 016e3600 clock-output-names: 'v2m:clk24mhz' phandle: 00000002 Node 0x538 name: 'uart' compatible: 'arm,pl011' + 'arm,primecell' reg: 00000000.02110000.00000000.00001000 interrupts: 00000000.00000000.00000004 clocks: 00000002.00000002 clock-names: 'uartclk' + 'apb_pclk' status: 'okay' Node 0x5f0 name: 'rtc' status: 'disabled' compatible: 'arm,pl031' + 'arm,primecell' reg: 00000000.02120000.00000000.00002000 Node 0x65c name: 'ahci' compatible: 'generic-ahci' reg: 00000000.02140000.00000000.00002000 interrupts: 00000000.00000002.00000004 status: 'okay' Node 0x6d8 name: 'ehci' compatible: 'generic-ehci' reg: 00000000.02150000.00000000.00001000 interrupts: 00000000.00000003.00000004 status: 'okay' Node 0x754 name: 'xhci' compatible: 'generic-xhci' reg: 00000000.02160000.00000000.00001000 interrupts: 00000000.00000004.00000004 status: 'okay' Node 0x7d0 name: 'gpu' compatible: 'parallels,gpu' reg: 00000000.02170000.00000000.00004000.00000000.20000000.00000000.04000000 interrupts: 00000000.00000007.00000001 status: 'okay' Node 0x858 name: 'toolgate' compatible: 'parallels,toolgate' reg: 00000000.02190000.00000000.00001000 interrupts: 00000000.00000008.00000001.00000000.00000009.00000001.00000000.0000000a.00000001.00000000.0000000b.00000001 status: 'okay' Node 0x900 name: 'balloon' compatible: 'virtio,mmio' reg: 00000000.021a0000.00000000.00004000 interrupts: 00000000.00000006.00000004 status: 'okay' Node 0x978 name: 'ethernet' compatible: 'virtio,mmio' reg: 00000000.021c0000.00000000.00004000 interrupts: 00000000.0000000c.00000004 status: 'okay'