@@ -5611,7 +5611,84 @@ DEF("hybrid", HAS_ARG, QEMU_OPTION_hybrid,
"-hybrid cluster,clusters=n"
"-hybrid core,cores=n,coretype=core_type[,threads=threads][,clusterid=cluster]",
QEMU_ARCH_ALL)
+SRST
+``-hybrid socket,sockets=n``
+ \
+``-hybrid die,dies=n``
+ \
+``-hybrid cluster,clusters=n``
+ \
+``-hybrid core,cores=n,coretype=core_type[,threads=threads][,clusterid=cluster]``
+ Define a hybrid cpu topology. Currently, only i386 PC machine supports this command.
+
+ There're 4 levels need to be configured: socket, die, cluster and core. And the
+ thread level is included in core level configuration.
+
+ Hybrid and smp cannot be set at the same time.
+
+ As for now, hybrid cpu topology only supports differences between the core and cluster
+ levels (please note the differences between clusters is caused by containing different
+ cores), and it assumes threads, dies and sockets are the same.
+
+ These four level options must be written in the order of "socket, die, cluster, core".
+
+ For example, the following options assigns 12 VCPUs which contains 8 Intel Atom cores
+ and 2 Intel Core cores.
+
+ ::
+
+ -hybrid socket,sockets=1 \
+ -hybrid die,dies=1 \
+ -hybrid cluster,clusters=4 \
+ -hybrid core,cores=1,coretype="core",threads=2,clusterid=0-1 \
+ -hybrid core,cores=4,coretype="atom",threads=1,clusterid=2-3
+
+ '\ ``socket``\ ' option is used to configure how many sockets in the machine. Here
+ '\ ``sockets``\ ' means the number of sockets in the machine. If this option is not
+ set, the default is only 1 socket.
+
+ For example:
+
+ ::
+
+ -hybrid socket,sockets=1
+ '\ ``die``\ ' option is used to configure how many dies in one socket. Here
+ '\ ``dies``\ ' means the number of dies in one socket. If this option is not
+ set, the default is only 1 die per socket.
+
+ For example:
+
+ ::
+
+ -hybrid die,dies=1
+
+ '\ ``cluster``\ ' option is used to configure how many clusters in one die. Here
+ '\ ``clusters``\ ' means the number of clusters in one die. If this option is not
+ set, the default is only 1 cluster per die.
+
+ For example:
+
+ ::
+
+ -hybrid cluster,clusters=1
+
+ '\ ``core``\ ' option is used to configure hybrid core topology. Here '\ ``cores``\ '
+ means the number of current type cores in one cluster. '\ ``coretype``\ ' means the
+ type of the current core. '\ ``threads``\ ' means how many threads in one current type
+ core (the default is 1 thread per current core). And '\ ``clusterid``\ ' means the cluster
+ index list that the current type core belongs to (the default is all clusters have current
+ type cores). This option cannot be omitted.
+
+ For i386 PC machine, the supported '\ ``coretype``\ ' are "atom" and "core".
+
+ For example (clusters=4):
+
+ ::
+
+ -hybrid core,cores=1,coretype="core",threads=2,clusterid=0-1,clusterid=3 \
+ -hybrid core,cores=4,coretype="atom",threads=1,clusterid=2
+ERST
HXCOMM This is the last statement. Insert new options before this line!