Test enabling/disabling individual CPU features and also setting
nested HVM support, which is also controlled by CPU features node.
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
---
Changes since v3:
- adjust for modified nested HVM handling
Changes since v1:
- rewritten to Jim's test suite for libxl_domain_config generator
---
tests/libxlxml2domconfigdata/fullvirt-cpuid.json | 64 +++++++++++++++++-
tests/libxlxml2domconfigdata/fullvirt-cpuid.xml | 37 ++++++++++-
tests/libxlxml2domconfigtest.c | 1 +-
3 files changed, 102 insertions(+)
create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.json
create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.xml
diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json
new file mode 100644
index 0000000..28037be
--- /dev/null
+++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json
@@ -0,0 +1,64 @@
+{
+ "c_info": {
+ "type": "hvm",
+ "name": "XenGuest2",
+ "uuid": "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
+ },
+ "b_info": {
+ "max_vcpus": 1,
+ "avail_vcpus": [
+ 0
+ ],
+ "max_memkb": 592896,
+ "target_memkb": 403456,
+ "video_memkb": 8192,
+ "shadow_memkb": 5656,
+ "cpuid": [
+ {
+ "leaf": 1,
+ "ecx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0",
+ "edx": "xxxxxxxxxxxxxxxxxxxxxxxxxxx1xxxx"
+ }
+ ],
+ "sched_params": {
+ "weight": 1000
+ },
+ "type.hvm": {
+ "pae": "True",
+ "apic": "True",
+ "acpi": "True",
+ "vga": {
+
+ },
+ "nested_hvm": "False",
+ "vnc": {
+ "enable": "False"
+ },
+ "sdl": {
+ "enable": "False"
+ },
+ "spice": {
+
+ },
+ "boot": "c",
+ "rdm": {
+
+ }
+ },
+ "arch_arm": {
+
+ }
+ },
+ "disks": [
+ {
+ "pdev_path": "/dev/HostVG/XenGuest2",
+ "vdev": "hda",
+ "backend": "phy",
+ "format": "raw",
+ "removable": 1,
+ "readwrite": 1
+ }
+ ],
+ "on_reboot": "restart",
+ "on_crash": "restart"
+}
diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid.xml b/tests/libxlxml2domconfigdata/fullvirt-cpuid.xml
new file mode 100644
index 0000000..e9eba2e
--- /dev/null
+++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid.xml
@@ -0,0 +1,37 @@
+<domain type='xen'>
+ <name>XenGuest2</name>
+ <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>592896</memory>
+ <currentMemory unit='KiB'>403456</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='x86_64' machine='xenfv'>hvm</type>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <cpu mode='host-passthrough'>
+ <feature policy='forbid' name='pni'/>
+ <feature policy='forbid' name='vmx'/>
+ <feature policy='require' name='tsc'/>
+ </cpu>
+ <clock offset='variable' adjustment='0' basis='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <disk type='block' device='disk'>
+ <driver name='phy' type='raw'/>
+ <source dev='/dev/HostVG/XenGuest2'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <video>
+ <model type='cirrus' vram='8192' heads='1' primary='yes'/>
+ </video>
+ </devices>
+</domain>
diff --git a/tests/libxlxml2domconfigtest.c b/tests/libxlxml2domconfigtest.c
index 8819032..10e1bb2 100644
--- a/tests/libxlxml2domconfigtest.c
+++ b/tests/libxlxml2domconfigtest.c
@@ -203,6 +203,7 @@ mymain(void)
DO_TEST("moredevs-hvm");
DO_TEST("vnuma-hvm");
DO_TEST("multiple-ip");
+ DO_TEST("fullvirt-cpuid");
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
--
git-series 0.9.1
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Wed, Mar 21, 2018 at 05:32:31PM +0100, Marek Marczykowski-Górecki wrote: > Test enabling/disabling individual CPU features and also setting > nested HVM support, which is also controlled by CPU features node. > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> > Reviewed-by: Jim Fehlig <jfehlig@suse.com> > --- > Changes since v3: > - adjust for modified nested HVM handling > Changes since v1: > - rewritten to Jim's test suite for libxl_domain_config generator > --- > tests/libxlxml2domconfigdata/fullvirt-cpuid.json | 64 +++++++++++++++++- > tests/libxlxml2domconfigdata/fullvirt-cpuid.xml | 37 ++++++++++- > tests/libxlxml2domconfigtest.c | 1 +- > 3 files changed, 102 insertions(+) > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.json > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.xml > > diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > new file mode 100644 > index 0000000..28037be > --- /dev/null > +++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > @@ -0,0 +1,64 @@ > +{ > + "c_info": { > + "type": "hvm", > + "name": "XenGuest2", > + "uuid": "c7a5fdb2-cdaf-9455-926a-d65c16db1809" > + }, > + "b_info": { > + "max_vcpus": 1, > + "avail_vcpus": [ > + 0 > + ], > + "max_memkb": 592896, > + "target_memkb": 403456, > + "video_memkb": 8192, > + "shadow_memkb": 5656, > + "cpuid": [ > + { > + "leaf": 1, > + "ecx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0", > + "edx": "xxxxxxxxxxxxxxxxxxxxxxxxxxx1xxxx" IIUC, this means we have 1 bit marked as forbidden and 1 bit marked as required but.... > + <cpu mode='host-passthrough'> > + <feature policy='forbid' name='pni'/> > + <feature policy='forbid' name='vmx'/> 2 features marked forbidden > + <feature policy='require' name='tsc'/> and 1 marked required. IOW, shouldn't we have seen two 0 bits in the cpuid config above not just one ? Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Thu, Mar 22, 2018 at 10:03:50AM +0000, Daniel P. Berrangé wrote: > On Wed, Mar 21, 2018 at 05:32:31PM +0100, Marek Marczykowski-Górecki wrote: > > Test enabling/disabling individual CPU features and also setting > > nested HVM support, which is also controlled by CPU features node. > > > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> > > Reviewed-by: Jim Fehlig <jfehlig@suse.com> > > --- > > Changes since v3: > > - adjust for modified nested HVM handling > > Changes since v1: > > - rewritten to Jim's test suite for libxl_domain_config generator > > --- > > tests/libxlxml2domconfigdata/fullvirt-cpuid.json | 64 +++++++++++++++++- > > tests/libxlxml2domconfigdata/fullvirt-cpuid.xml | 37 ++++++++++- > > tests/libxlxml2domconfigtest.c | 1 +- > > 3 files changed, 102 insertions(+) > > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.json > > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.xml > > > > diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > > new file mode 100644 > > index 0000000..28037be > > --- /dev/null > > +++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > > @@ -0,0 +1,64 @@ > > +{ > > + "c_info": { > > + "type": "hvm", > > + "name": "XenGuest2", > > + "uuid": "c7a5fdb2-cdaf-9455-926a-d65c16db1809" > > + }, > > + "b_info": { > > + "max_vcpus": 1, > > + "avail_vcpus": [ > > + 0 > > + ], > > + "max_memkb": 592896, > > + "target_memkb": 403456, > > + "video_memkb": 8192, > > + "shadow_memkb": 5656, > > + "cpuid": [ > > + { > > + "leaf": 1, > > + "ecx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0", > > + "edx": "xxxxxxxxxxxxxxxxxxxxxxxxxxx1xxxx" > > IIUC, this means we have 1 bit marked as forbidden and 1 bit > marked as required but.... > > > > + <cpu mode='host-passthrough'> > > + <feature policy='forbid' name='pni'/> > > + <feature policy='forbid' name='vmx'/> > > 2 features marked forbidden vmx is translated to nested_hvm setting. > > + <feature policy='require' name='tsc'/> > > and 1 marked required. > > IOW, shouldn't we have seen two 0 bits in the cpuid config above > not just one ? > > > Regards, > Daniel -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On Thu, Mar 22, 2018 at 04:47:21PM +0100, Marek Marczykowski-Górecki wrote: > On Thu, Mar 22, 2018 at 10:03:50AM +0000, Daniel P. Berrangé wrote: > > On Wed, Mar 21, 2018 at 05:32:31PM +0100, Marek Marczykowski-Górecki wrote: > > > Test enabling/disabling individual CPU features and also setting > > > nested HVM support, which is also controlled by CPU features node. > > > > > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> > > > Reviewed-by: Jim Fehlig <jfehlig@suse.com> > > > --- > > > Changes since v3: > > > - adjust for modified nested HVM handling > > > Changes since v1: > > > - rewritten to Jim's test suite for libxl_domain_config generator > > > --- > > > tests/libxlxml2domconfigdata/fullvirt-cpuid.json | 64 +++++++++++++++++- > > > tests/libxlxml2domconfigdata/fullvirt-cpuid.xml | 37 ++++++++++- > > > tests/libxlxml2domconfigtest.c | 1 +- > > > 3 files changed, 102 insertions(+) > > > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.json > > > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.xml > > > > > > diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > > > new file mode 100644 > > > index 0000000..28037be > > > --- /dev/null > > > +++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > > > @@ -0,0 +1,64 @@ > > > +{ > > > + "c_info": { > > > + "type": "hvm", > > > + "name": "XenGuest2", > > > + "uuid": "c7a5fdb2-cdaf-9455-926a-d65c16db1809" > > > + }, > > > + "b_info": { > > > + "max_vcpus": 1, > > > + "avail_vcpus": [ > > > + 0 > > > + ], > > > + "max_memkb": 592896, > > > + "target_memkb": 403456, > > > + "video_memkb": 8192, > > > + "shadow_memkb": 5656, > > > + "cpuid": [ > > > + { > > > + "leaf": 1, > > > + "ecx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0", > > > + "edx": "xxxxxxxxxxxxxxxxxxxxxxxxxxx1xxxx" > > > > IIUC, this means we have 1 bit marked as forbidden and 1 bit > > marked as required but.... > > > > > > > + <cpu mode='host-passthrough'> > > > + <feature policy='forbid' name='pni'/> > > > + <feature policy='forbid' name='vmx'/> > > > > 2 features marked forbidden > > vmx is translated to nested_hvm setting. Ok then, Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
On 03/21/2018 10:32 AM, Marek Marczykowski-Górecki wrote: > Test enabling/disabling individual CPU features and also setting > nested HVM support, which is also controlled by CPU features node. > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> > Reviewed-by: Jim Fehlig <jfehlig@suse.com> > --- > Changes since v3: > - adjust for modified nested HVM handling > Changes since v1: > - rewritten to Jim's test suite for libxl_domain_config generator > --- > tests/libxlxml2domconfigdata/fullvirt-cpuid.json | 64 +++++++++++++++++- > tests/libxlxml2domconfigdata/fullvirt-cpuid.xml | 37 ++++++++++- > tests/libxlxml2domconfigtest.c | 1 +- > 3 files changed, 102 insertions(+) > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.json > create mode 100644 tests/libxlxml2domconfigdata/fullvirt-cpuid.xml > > diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > new file mode 100644 > index 0000000..28037be > --- /dev/null > +++ b/tests/libxlxml2domconfigdata/fullvirt-cpuid.json > @@ -0,0 +1,64 @@ > +{ > + "c_info": { > + "type": "hvm", > + "name": "XenGuest2", > + "uuid": "c7a5fdb2-cdaf-9455-926a-d65c16db1809" > + }, > + "b_info": { > + "max_vcpus": 1, > + "avail_vcpus": [ > + 0 > + ], > + "max_memkb": 592896, > + "target_memkb": 403456, > + "video_memkb": 8192, > + "shadow_memkb": 5656, > + "cpuid": [ > + { > + "leaf": 1, > + "ecx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0", > + "edx": "xxxxxxxxxxxxxxxxxxxxxxxxxxx1xxxx" > + } > + ], > + "sched_params": { > + "weight": 1000 > + }, This needed fixed up after commit 83edaf44. > + "type.hvm": { > + "pae": "True", > + "apic": "True", > + "acpi": "True", > + "vga": { > + > + }, The XML file has <model type='cirrus' .../>, so we need "kind": "cirrus" here. I've fixed these nits in my branch. Regards, Jim -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.