Re: vmm (bhyve) on GICv2

From: Mario Marietto <marietto2008_at_gmail.com>
Date: Wed, 22 May 2024 20:29:48 UTC
Is there another cheap alternative to the RockPro64 / Quartz64 that works
well on FreeBSD if one wants to test bhyve ?

On Wed, May 22, 2024 at 9:39 PM Mario Marietto <marietto2008@gmail.com>
wrote:

> This ?
>
> https://pine64.com/product/quartz64-model-a-8gb-single-board-computer/
>
> On Wed, May 22, 2024 at 9:20 PM John F Carr <jfc@mit.edu> wrote:
>
>> > On May 22, 2024, at 13:20, Mario Marietto <marietto2008@gmail.com>
>> wrote:
>> >
>> > Can someone confirm that bhyve works ok on the RockPro64 (RK3399) ? Has
>> bhyve been patched in relation to this bug :
>> >
>> > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277559
>> >
>> > ?
>> >
>> > I read that there is a huge amount of work to do on the RPI5 before it
>> works with FreeBSD. And anyway,it does not support bhyve. So if I will buy
>> a soc,it will be the RockPro64....
>>
>> The RockPro64 should be usable for development, not production use
>> of virtual machines.  The kernel sometimes locks up the first time the
>> vmm module is loaded.  Once the module loads it can be unloaded
>> and reloaded without risk.
>>
>> I was able to boot FreeBSD-13.3-RELEASE-arm64-aarch64.raw in bhyve
>> on my RockPro64 with this script:
>>
>> NCPU=1
>> MEM=384m
>> DISK0=/dev/nda0s4
>> VMNAME=thirteen
>> bhyve -c "${NCPU:?}" -m "${MEM:?}" \
>> -s 0:0,hostbridge \
>> -s 1:0,virtio-blk,"${DISK0:?}" \
>> -o bootrom=/usr/local/share/u-boot/u-boot-bhyve-arm64/u-boot.bin \
>> -o rtc.use_localtime=false \
>> -o console=stdio \
>> -o config.dump=false \
>> -o acpi_tables=true \
>> "${VMNAME:?}"
>>
>> I had copied the image to /dev/nda0s4.  It should work just as well with
>> the
>> regular file after "virtio-blk".
>>
>> Some observations:
>>
>> 1. There is no clock visible to the guest OS:
>>
>> Warning: no time-of-day clock registered, system time will not be set
>> accurately
>>
>> 2. The RockPro system has two types of cores.  One has a physically
>> indexed I-cache,
>> the other virtually indexed.  The virtual CPU reports a virtually indexed
>> cache.
>>
>> CPU  0: ARM Foundation-Model r0p0 affinity:  0
>>                    Cache Type = <64 byte D-cacheline,64 byte
>> I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
>>
>> I think this will cause correct behavior despite being technically wrong.
>>
>> I have a Quartz64, a newer Pine64 SBC, but I have not yet tried to
>> install BSD on it.
>>
>> John Carr
>>
>>
>
> --
> Mario.
>


-- 
Mario.