|
@@ -42,7 +42,8 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \
|
|
|
" aux-ram-share=on|off allocate auxiliary guest RAM as shared (default: off)\n"
|
|
|
#endif
|
|
|
" memory-backend='backend-id' specifies explicitly provided backend for main RAM (default=none)\n"
|
|
|
- " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n",
|
|
|
+ " cxl-fmw.0.targets.0=firsttarget,cxl-fmw.0.targets.1=secondtarget,cxl-fmw.0.size=size[,cxl-fmw.0.interleave-granularity=granularity]\n"
|
|
|
+ " smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel\n",
|
|
|
QEMU_ARCH_ALL)
|
|
|
SRST
|
|
|
``-machine [type=]name[,prop=value[,...]]``
|
|
@@ -172,6 +173,33 @@ SRST
|
|
|
::
|
|
|
|
|
|
-machine cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512
|
|
|
+
|
|
|
+ ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel``
|
|
|
+ Define cache properties for SMP system.
|
|
|
+
|
|
|
+ ``cache=cachename`` specifies the cache that the properties will be
|
|
|
+ applied on. This field is the combination of cache level and cache
|
|
|
+ type. It supports ``l1d`` (L1 data cache), ``l1i`` (L1 instruction
|
|
|
+ cache), ``l2`` (L2 unified cache) and ``l3`` (L3 unified cache).
|
|
|
+
|
|
|
+ ``topology=topologylevel`` sets the cache topology level. It accepts
|
|
|
+ CPU topology levels including ``core``, ``module``, ``cluster``, ``die``,
|
|
|
+ ``socket``, ``book``, ``drawer`` and a special value ``default``. If
|
|
|
+ ``default`` is set, then the cache topology will follow the architecture's
|
|
|
+ default cache topology model. If another topology level is set, the cache
|
|
|
+ will be shared at corresponding CPU topology level. For example,
|
|
|
+ ``topology=core`` makes the cache shared by all threads within a core.
|
|
|
+ The omitting cache will default to using the ``default`` level.
|
|
|
+
|
|
|
+ The default cache topology model for an i386 PC machine is as follows:
|
|
|
+ ``l1d``, ``l1i``, and ``l2`` caches are per ``core``, while the ``l3``
|
|
|
+ cache is per ``die``.
|
|
|
+
|
|
|
+ Example:
|
|
|
+
|
|
|
+ ::
|
|
|
+
|
|
|
+ -machine smp-cache.0.cache=l1d,smp-cache.0.topology=core,smp-cache.1.cache=l1i,smp-cache.1.topology=core
|
|
|
ERST
|
|
|
|
|
|
DEF("M", HAS_ARG, QEMU_OPTION_M,
|