Re: vmm (bhyve) on GICv2

From: Mark Millard <marklmi_at_yahoo.com>
Date: Wed, 22 May 2024 15:34:46 UTC
On May 22, 2024, at 00:25, Lexi Winter <lexi@le-fay.org> wrote:

> Mario Marietto:
>> On Wed, May 22, 2024 at 9:03 AM Lexi Winter <lexi@le-fay.org> wrote:
>>> i was pleased to see ARM64 vmm has been merged to main recently.
>>> 
>>> i have several use-cases to run bhyve on RPi4, but unfortunately this
>>> hardware only supports GICv2 while vmm requires GICv3.
>>> 
>>> does anyone have an idea if GICv2 is likely to be supported in the
>>> future?
>> 
>> Does RPi5 support GICv3 ? I would like to know which kind of relatively
>> cheap arm hardware can run bhyve.
> 
> i don't know off hand, but i do know FreeBSD doesn't support RPi5 at
> all right now, so this is not an immediate solution :-)

I boot and run a RPi5 via EDK2 in the microsd card slot and a USB3
UFS system media (that has lots of different swap partition sizes
for use on various machines with widely varying amounts of RAM):

# gpart show -pl
=>       40  249737136    mmcsd0  GPT  (119G)
         40       2008            - free -  (1.0M)
       2048  249733120  mmcsd0p1  RPi5-edk2  (119G)
  249735168       2008            - free -  (1.0M)

=>        34  1875384941     da0  GPT  (894G)
          34       32734          - free -  (16M)
       32768      501760   da0p1  PkgBaseEFI  (245M)
      534528    20971520   da0p2  PkgBaseSwp10  (10G)
    21506048    29360128   da0p3  PkgBaseSwp14  (14G)
    50866176    33554432   da0p4  PkgBaseSwp16  (16G)
    84420608    67108864   da0p5  PkgBaseSwp32  (32G)
   151529472    96468992   da0p6  PkgBaseSwp46  (46G)
   247998464   268435456   da0p7  PkgBaseSwp128  (128G)
   516433920     7340032   da0p8  PkgBaseSwp3p5  (3.5G)
   523773952    13631488  da0p10  PkgBaseSwp6p5  (6.5G)
   537405440  1337979528   da0p9  PkgBaseUFS  (638G)
  1875384968           7          - free -  (3.5K)

See: https://github.com/worproject/rpi5-uefi

# uname -apKU
FreeBSD aarch64-main-pkgs 15.0-CURRENT FreeBSD 15.0-CURRENT #5 main-n269589-9dcf39575efb-dirty: Sun Apr 21 01:42:00 PDT 2024     root@aarch64-main-pbase:/usr/obj/BUILDs/main-CA76-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA76 arm64 aarch64 1500018 1500018

That kernel is at: /boot/kernel.CA76-NODBG/kernel in my context.

But I also have kernels that I got from:

https://pkg.freebsd.org/FreeBSD:15:aarch64/base_latest/

that boot it as well:

# strings /boot/kernel.GENERIC-NODEBUG/kernel | grep 15.0-
@(#)FreeBSD 15.0-CURRENT main-n269581-dfa39133b333 GENERIC-NODEBUG
FreeBSD 15.0-CURRENT main-n269581-dfa39133b333 GENERIC-NODEBUG
15.0-CURRENT

And the debug version (witness and such):

# strings /boot/kernel/kernel | grep 15.0-
@(#)FreeBSD 15.0-CURRENT main-n269581-dfa39133b333 GENERIC
FreeBSD 15.0-CURRENT main-n269581-dfa39133b333 GENERIC
15.0-CURRENT

(It has beem a while since I updated.)

All these kernels boot a world that I got from the same:

https://pkg.freebsd.org/FreeBSD:15:aarch64/base_latest/

I do have another world in a directory tree that I built that I
can chroot to.

===
Mark Millard
marklmi at yahoo.com