Page MenuHomeFreeBSD

xen/efi: make Xen PV EFI clock optional
Needs ReviewPublic

Authored by ehem_freebsd_m5p.com on Jul 5 2021, 6:42 PM.

Details

Summary

The present implementation is only for x86. Other architectures need adjustments for querying presence of EFI.

Xen's EFI support is also quite troublesome on non-x86. This is being
slowly remedied, but until in better shape the EFI clock functionality
should be disabled.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 45561
Build 42449: arc lint + arc unit

Event Timeline

I was taking some glances at making this cross-architecture, but the simpler short-term approach is to make this !arm64. Plus for that matter, Xen's EFI/ACPI support on arm64 isn't yet in particularly good shape.

Another alternative would be to have this depend on xentimer, but I've got no idea whether that would be correct (in fact I was under the impression they're quite distinct, so doing that would be an ugly hack).

Ideal solution would be to fix D28619. This though requires merging "bootmethod" from x86 with "arm64_bus_method" from ARM64.

Thing is bootmethod is a string, arm64_bus_method is an enum. The enum seems to make more sense. I'm though curious why the somewhat similar vm_guest variable is declared as an int, even though its values are declared as enums.

Testing confirmed making pvefi.c depend on xentimer works, but I'm unsure whether that is correct.

I'm marking D31065 as abandoned as D31955 fixes the root cause. D31065 could be resurrected if appropriate, but somehow I don't expect that to happen.

ehem_freebsd_m5p.com retitled this revision from xen/efi: disable PV EFI clock on non-x86 to xen/efi: make Xen PV EFI clock optional.May 13 2022, 2:43 AM
ehem_freebsd_m5p.com edited the summary of this revision. (Show Details)

Bringing this back in as D31955 has been stuck. Longer term D31955 is better, just this has a better shot at making 14.0.