DO NOT USE THIS PATCH ON INTEL MACHINES:
I have a report that the topology does not come out correct on Intel based machines,
I have confirmed and duplicated the reported issue on an Intel system here,
It appears that the CPUID emulation for Intel is wrong,
This is a pre-existing bug in the CPUID code,
I am working on a fix for this bug, it shall have a seperate review.
This adds the ability to control the CPU topology of created VMs from userland
without the need to tweak sysctls, it allows the old sysctls to continue to function.
The command line of bhyve is maintained in a backwards compatible way.
The API of libvmmapi is maintained in a backwards compatible way.
The sysctl's are maintained in a backwards compatible way.
Added command option looks like:
bhyve -c [cpus=]n[,sockets=n][,cores=n][,threads=n][,maxcpus=n]
The optional parts can be specified in any order, but only a single integer
invokes the backwards compatible parse.
bhyvectl --get-cpu-topology option added.