summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/hypervisor/1809
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--results/classifier/gemma3:12b/hypervisor/180954
-rw-r--r--results/classifier/gemma3:12b/hypervisor/180914436
2 files changed, 90 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/hypervisor/1809 b/results/classifier/gemma3:12b/hypervisor/1809
new file mode 100644
index 000000000..993c2c615
--- /dev/null
+++ b/results/classifier/gemma3:12b/hypervisor/1809
@@ -0,0 +1,54 @@
+
+config machine "virt-6.2" with qemu-system-aarch64,it report "mem is not supported by this machine type"
+Description of problem:
+When i config the machine with virt-6.2 and config the numa for cpu,it report "mem is not supported by this machine type",but with virt-5.0 it work well,the newer version virt not support it? It is bug or require hardware support?Or compile configure is not correctlly?
+
+when i create vm,get the error report as follow:
+ 
+virsh create test.xml
+```
+qemu unexpectedly closed the monitor: qemu-system-aarch64: -chardev socket,id=charmonitor,fd=34,server,nowait: warning: short-form boolean option 'server' deprecated
+Please use server=on instead
+qemu-system-aarch64: -chardev socket,id=charmonitor,fd=34,server,nowait: warning: short-form boolean option 'nowait' deprecated
+Please use wait=off instead
+configure accelerator virt-6.2 start
+machine init start
+2023-08-04T02:17:13.984797Z qemu-system-aarch64: -numa node,nodeid=0,cpus=0-3,mem=8192: Parameter -numa node,mem is not supported by this machine type
+Use -numa node,memdev instead
+
+```
+
+
+I use qmp command "query-machines" get the result as follow:
+```
+{
+      "hotpluggable-cpus": true,
+      "name": "virt-6.2",
+     ** "numa-mem-supported": false,**
+      "default-cpu-type": "cortex-a15-arm-cpu",
+      "cpu-max": 512,
+      "deprecated": false,
+      "default-ram-id": "mach-virt.ram",
+      "alias": "virt"
+    },
+```
+
+I add the code "mc->numa_mem_supported = true;" in the api "virt_machine_6_1_options",it can supoort numa,but i don't know whether it is affected.
+
+```
+DEFINE_VIRT_MACHINE_AS_LATEST(6, 2)
+
+static void virt_machine_6_1_options(MachineClass *mc)
+{
+    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
+
+    virt_machine_6_2_options(mc);
+    compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len);
+    mc->smp_props.prefer_sockets = true;
+    vmc->no_cpu_topology = true;
+    **mc->numa_mem_supported = true;**
+
+    /* qemu ITS was introduced with 6.2 */
+    vmc->no_tcg_its = true;
+}
+```
diff --git a/results/classifier/gemma3:12b/hypervisor/1809144 b/results/classifier/gemma3:12b/hypervisor/1809144
new file mode 100644
index 000000000..e09a04524
--- /dev/null
+++ b/results/classifier/gemma3:12b/hypervisor/1809144
@@ -0,0 +1,36 @@
+
+SVM instructions fail with SVME bit enabled
+
+I was trying to use QEMU/TCG to emulate some stuff that uses SVM.
+I know SVM is only partially implemented but I gave it a try anyway.
+
+I found that if SVM is enabled in the same basic block in which there's a call to VMSAVE/etc,
+the call fails as illegal op because the flags don't get updated correctly.
+
+The pseudocode for the asm I'm running is:
+
+```
+EFER |= SVME; set the appropriate bit with wrmsr
+vmsave
+```
+
+This is an example of the relevant translate.c code:
+
+```
+            if (!(s->flags & HF_SVME_MASK) || !s->pe) {
+                goto illegal_op;
+            }
+            if (s->cpl != 0) {
+                gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);
+                break;
+            }
+```
+
+s->flags doesn't get updated after the wrmsr instruction and so QEMU raises an illegal opcode interrupt.
+
+A quick fix is to make the tb end after `wrmsr` instructions, but it's an hack afaik.
+I'm not too comfortable with QEMU's code, so I don't know what a proper fix would be.
+
+Cheers,
+
+thebabush
\ No newline at end of file