Merge remote-tracking branch 'qubesos/pr/154'

* qubesos/pr/154:
  Add basic PVHv2 support
This commit is contained in:
Marek Marczykowski-Górecki 2017-10-09 00:08:35 +02:00
commit 08640f4779
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724
2 changed files with 12 additions and 5 deletions

View File

@ -93,9 +93,9 @@ def _setter_default_user(self, prop, value):
def _setter_virt_mode(self, prop, value):
value = str(value)
value = value.lower()
if value not in ('hvm', 'pv'):
if value not in ('hvm', 'pv', 'pvh'):
raise qubes.exc.QubesPropertyValueError(self, prop, value,
'Invalid virtualization mode, supported values: hvm, pv')
'Invalid virtualization mode, supported values: hvm, pv, pvh')
return value

View File

@ -11,7 +11,7 @@
<vcpu placement="static">{{ vm.vcpus }}</vcpu>
{% endblock %}
{% block cpu %}
{% if vm.virt_mode == 'hvm' %}
{% if vm.virt_mode != 'pv' %}
<cpu mode='host-passthrough'>
<!-- disable nested HVM -->
<feature name='vmx' policy='disable'/>
@ -34,8 +34,12 @@
<boot dev="cdrom" />
<boot dev="hd" />
<!-- server_ip is the address of stubdomain. It hosts it's own DNS server. -->
{% else %}
{% if vm.virt_mode == 'pvh' %}
<type arch="x86_64" machine="xenfv">hvm</type>
{% else %}
<type arch="x86_64" machine="xenpv">linux</type>
{% endif %}
<kernel>{{ vm.storage.kernels_dir }}/vmlinuz</kernel>
<initrd>{{ vm.storage.kernels_dir }}/initramfs</initrd>
<cmdline>root=/dev/mapper/dmroot ro nomodeset console=hvc0 rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0 {{ vm.kernelopts }}</cmdline>
@ -45,7 +49,7 @@
<features>
{% block features %}
{% if vm.virt_mode == 'hvm' %}
{% if vm.virt_mode != 'pv' %}
<pae/>
<acpi/>
<apic/>
@ -168,6 +172,9 @@
<graphics type="qubes"/>
{% endif %}
{% else %}
{% if vm.virt_mode == 'pvh' %}
<emulator type="none"/>
{% endif %}
<console type="pty">
<target type="xen" port="0"/>
</console>