libvirt/tests/libxlxml2domconfigdata/moredevs-hvm.xml
Jim Fehlig 9d15647dcb Xen: Add writeFiltering option for PCI devices
By default Xen only allows guests to write "known safe" values into PCI
configuration space, yet many devices require writes to other areas of
the configuration space in order to operate properly. To allow writing
any values Xen supports the 'permissive' setting, see xl.cfg(5) man page.

This change models Xen's permissive setting by adding a writeFiltering
attribute on the <source> element of a PCI hostdev. When writeFiltering
is set to 'no', the Xen permissive setting will be enabled and guests
will be able to write any values into the device's configuration space.
The permissive setting remains disabled in the absense of the
writeFiltering attribute, of if it is explicitly set to 'yes'.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2020-09-01 14:29:17 -06:00

69 lines
2.0 KiB
XML

<domain type='xen'>
<name>test-hvm</name>
<description>None</description>
<uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>4</vcpu>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<clock offset='variable' adjustment='0' basis='utc'>
<timer name='tsc' present='yes' mode='native'/>
<timer name='hpet' present='yes'/>
</clock>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev='hd'/>
</os>
<features>
<apic/>
<acpi/>
<pae/>
<hap/>
</features>
<devices>
<emulator>/bin/true</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='default'/>
<source file='/var/lib/xen/images/test-hvm.img'/>
<target dev='hda'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw' cache='default'/>
<source file='/root/boot.iso'/>
<target dev='hdb'/>
</disk>
<interface type='bridge'>
<source bridge='br0'/>
<mac address='00:16:3e:7a:35:ce'/>
<script path='/etc/xen/scripts/vif-bridge'/>
<model type='netfront'/>
</interface>
<interface type='hostdev' managed='yes'>
<mac address='00:16:3e:2e:e7:fc'/>
<driver name='xen'/>
<source>
<address type='pci' domain='0x0000' bus='0x0a' slot='0x10' function='0x0'/>
</source>
</interface>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source writeFiltering='no'>
<address domain='0x0000' bus='0x0a' slot='0x08' function='0x0'/>
</source>
</hostdev>
<graphics type='vnc'/>
<video>
<model type='cirrus' vram='8192' heads='1' primary='yes'/>
</video>
<console type='pty'>
<target port='0'/>
</console>
<input type='mouse' bus='usb'/>
<input type='tablet' bus='usb'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
</devices>
</domain>