1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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;
}
```
|