(moving this to the -virtualization list)
> From what I've read around here, an entire swatch of CPUs have a
> problem --- they have all the virtualization gunk save the ability to run
> in16 bit mode in emulation. An example would be the X34x0 ... the
> cornerstone processor for an entire generation of servers. I, for
> instance, have four of them.
While it is unfortunate that bhyve doesn't fully support Nehalems, we
decided that the amount of work required to complete the support wasn't
worth it, given that all follow-on models have 16-bit support.
That being said, I'm certainly willing to provide help to anyone who
wants to take on that work.
> The "fail" in the subject line is about their inability to do two
> things under bhyve:
> 1) launch linux through grub
> 2) have a VM with more than one processor
> Can we adopt what linux does to work around it?
The various Linux VM solutions use an instruction emulator to run
until the CPU is about to transition to 32-bit paged mode, and then cut
over to using VT-x.
Pulling this in to bhyve is a decidely non-trivial amount of work,
especially since the majority of x86 emulator codebases are GPL'd.
> Is it even necessary to boot linux with Grub?
It's not Grub that is the issue, but the fact that the processor can't
run in anything less than 32-bit paged mode. Grub boots Linux in either
16-bit real mode or 32-bit protected mode with paging disabled. However,
here is a 64-bit entry point available for Linux/x64 (see "64-bit BOOT
PROTOCOL" at https://www.kernel.org/doc/Documentation/x86/boot.txt).
For anyone willing to have a go at this, my recommendation would be to
modify grub-bhyve to boot Linux/x64 directly into 64-bit mode. This is
already done for kFreeBSD/amd64 in grub (and for FreeBSD in
bhyveload/libvmmapi) so that setup code could be reused.
For MP support, the work would be to look at the Linux/FreeBSD MP
trampolines and write an emulator that could either recognize those and
skip them, or emulate only the instructions required to bring the vCPU
into 32-bit protected mode, and then switch over to VT-x h/w emulation.
firstname.lastname@example.org mailing list
To unsubscribe, send any mail to