Hello, Last week I added a feature to be able to simulate a CPU topology within a vkernel [1] (the lbits and cbits options). Also I had made tests on other platforms (thanks Alex H. for running the tests) [2][3].
[1] root@dbsd_64:/var/vkernel# ./boot/kernel/kernel -h Usage: ./boot/kernel/kernel [-hsUv] [-c file] [-e name=value:name=value:...] [-i file] [-I interface[:address1[:address2][/netmask]]] [-l cpulock] [-m size] [-n numcpus[:lbits[:cbits]]] [-p file] [-r file] Arguments: -c Specify a readonly CD-ROM image file to be used by the kernel. -e Specify an environment to be used by the kernel. -h This list of options. -i Specify a memory image file to be used by the virtual kernel. -I Create a virtual network device. -l Specify which, if any, real CPUs to lock virtual CPUs to. -m Specify the amount of memory to be used by the kernel in bytes. -n Specify the number of CPUs and the topology you wish to emulate: - numcpus - number of cpus - :lbits - specify the number of bits within APICID(=CPUID) needed for representing the logical ID. Controls the number of threads/core (0bits - 1 thread, 1bit - 2 threads). - :cbits - specify the number of bits within APICID(=CPUID) needed for representing the core ID. Controls the number of core/package (0bits - 1 core, 1bit - 2 cores). [2] http://bugs.dragonflybsd.org/pastes/407 [3] http://bugs.dragonflybsd.org/pastes/408