[Bug 279720] virtualization/bhyve: it does not boot from the slot where the parameter bootindex=1 is declared.

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 01 Jul 2024 16:03:21 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279720

--- Comment #8 from mario felicioni <marietto2008@gmail.com> ---
Sorry,your patch does not work for me :

.....
make[2]: Leaving directory
'/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/X64/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe'

Fd File Name:BHYVE
(/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/BHYVE.fd)

Generate Region at Offset 0x0
   Region Size = 0x40000
   Region Name = DATA

Generate Region at Offset 0x40000
   Region Size = 0x1000
   Region Name = None

Generate Region at Offset 0x41000
   Region Size = 0x1000
   Region Name = DATA

Generate Region at Offset 0x42000
   Region Size = 0x42000
   Region Name = None

Generate Region at Offset 0x84000
   Region Size = 0x348000
   Region Name = FV

Generating FVMAIN_COMPACT FV

Generating PEIFV FV
####
Generating DXEFV FV
#########
Generate Region at Offset 0x3CC000
   Region Size = 0x34000
   Region Name = FV

Generating SECFV FV
#
Fd File Name:BHYVE_VARS
(/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/BHYVE_VARS.fd)

Generate Region at Offset 0x0
   Region Size = 0x40000
   Region Name = DATA

Generate Region at Offset 0x40000
   Region Size = 0x1000
   Region Name = None

Generate Region at Offset 0x41000
   Region Size = 0x1000
   Region Name = DATA

Generate Region at Offset 0x42000
   Region Size = 0x42000
   Region Name = None

Fd File Name:BHYVE_CODE
(/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/BHYVE_CODE.fd)

Generate Region at Offset 0x0
   Region Size = 0x348000
   Region Name = FV

Generate Region at Offset 0x348000
   Region Size = 0x34000
   Region Name = FV

Fd File Name:MEMFD
(/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/MEMFD.fd)

Generate Region at Offset 0x0
   Region Size = 0x6000
   Region Name = None

Generate Region at Offset 0x6000
   Region Size = 0x1000
   Region Name = None

Generate Region at Offset 0x7000
   Region Size = 0x1000
   Region Name = None
Padding region starting from offset 0x8000, with size 0x8000

Generate Region at Offset 0x8000
   Region Size = 0x8000
   Region Name = None

Generate Region at Offset 0x10000
   Region Size = 0x10000
   Region Name = None

Generate Region at Offset 0x20000
   Region Size = 0xE0000
   Region Name = FV

Generate Region at Offset 0x100000
   Region Size = 0xB00000
   Region Name = FV

GUID cross reference file can be found at
/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/Guid.xref

FV Space Information
SECFV [5%Full] 212992 (0x34000) total, 11808 (0x2e20) used, 201184 (0x311e0)
free
PEIFV [11%Full] 917504 (0xe0000) total, 106104 (0x19e78) used, 811400 (0xc6188)
free
DXEFV [45%Full] 11534336 (0xb00000) total, 5210672 (0x4f8230) used, 6323664
(0x607dd0) free
FVMAIN_COMPACT [41%Full] 3440640 (0x348000) total, 1437760 (0x15f040) used,
2002880 (0x1e8fc0) free

- Done -
Build end time: 17:34:22, Jul.01 2024
Build total time: 00:01:29

===>  Staging for edk2-bhyve-g202308_5
===>   Generating temporary packing list
/bin/mkdir -p
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/
install  -m 0644
/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/BHYVE.fd
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/BHYVE_UEFI.fd
install  -m 0644
/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/BHYVE_CODE.fd
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/BHYVE_UEFI_CODE.fd
install  -m 0644
/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/BHYVE_VARS.fd
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/BHYVE_UEFI_VARS.fd
install  -m 0644
/usr/ports/sysutils/edk2/work-bhyve/Build/BhyveX64/RELEASE_GCC5/FV/BHYVE_CODE.fd
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/BHYVE_UEFI.fd
/bin/mkdir -p
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/uefi-firmware/
install -l rs
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/BHYVE_UEFI.fd
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/uefi-firmware/BHYVE_UEFI.fd
install -l rs
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/BHYVE_UEFI_CODE.fd
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd
install -l rs
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/edk2-bhyve/BHYVE_UEFI_VARS.fd
/usr/ports/sysutils/edk2/work-bhyve/stage//usr/local/share/uefi-firmware/BHYVE_UEFI_VARS.fd
====> Compressing man pages (compress-man)
===>  Installing for edk2-bhyve-g202308_5
===>  Checking if edk2-bhyve is already installed
===>   Registering installation for edk2-bhyve-g202308_5
Installing edk2-bhyve-g202308_5...

[root@marietto /usr/ports/sysutils/edk2]==> pkg remove edk2-bhyve      

Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 2 packages (of 0 packages
in the universe):

Installed packages to be REMOVED:
        bhyve-firmware: 1.0_2
        edk2-bhyve: g202308_5

Number of packages to be removed: 2

The operation will free 7 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/2] Deinstalling bhyve-firmware-1.0_2...
[1/2] Deleting files for bhyve-firmware-1.0_2: 100%
[2/2] Deinstalling edk2-bhyve-g202308_5...
[2/2] Deleting files for edk2-bhyve-g202308_5: 100%

[root@marietto /usr/ports/sysutils/edk2]==> FLAVOR=bhyve make reinstall

===>  Deinstalling for edk2-bhyve
===>   edk2-bhyve not installed, skipping
===>  Installing for edk2-bhyve-g202308_5
===>  Checking if edk2-bhyve is already installed
===>   Registering installation for edk2-bhyve-g202308_5
Installing edk2-bhyve-g202308_5...

I launch the vm using these params :

/usr/sbin/./bhyve-win -S -c sockets=4,cores=2,threads=1 -m 8G -w -H \
-S -c sockets=4,cores=2,threads=1 -m 8G -w -H \
-s 0,hostbridge \
-s 1,ahci-hd,/mnt/$vmdisk0'p2'/bhyve/img/Windows/11/Windows11.img,bootindex=1 \
-s 2,ahci-hd,/dev/$vmdisk5 \
-s 8:0,passthru,2/0/0 \
-s 8:1,passthru,2/0/1 \
-s 8:2,passthru,2/0/2 \
-s 8:3,passthru,2/0/3 \
-s 13,virtio-net,tap12 \
-s 29,fbuf,tcp=0.0.0.0:5912,w=1600,h=950,wait \
-s 30,xhci,tablet \
-s 31,lpc \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd \
vm0:12 < /dev/null & sleep 2 && vncviewer 0:12

this is what happens :

vm exit[0]
        reason          VMX
        rip             0x00000000000f0015
        inst_length     3
        status          0
        exit_reason     2 (Triple fault)
        qualification   0x0000000000000000
        inst_type               0
        inst_error              0

-- 
You are receiving this mail because:
You are the assignee for the bug.