Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests...

18
Marcel Apfelbaum August, 2016 Q35 - QEMU

Transcript of Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests...

Page 1: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

Marcel ApfelbaumAugust, 2016

Q35 - QEMU

Page 2: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

2

Agenda

● Q35 chipset - Overview

● Q35 emulation

● Q35-only features

● Q35 limitations

● Q35 use cases

Page 3: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

3

Q35 chipset - Overview

● Data sheet

Page 4: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

4

Q35 chipset - Overview

● Topology

– North Bridge: MCH

– South Bridge: ICH9

Page 5: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

5

Agenda

● Q35 chipset - Overview

● Q35 emulation

● Q35-only features

● Q35 limitations

● Q35 use cases

Page 6: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

6

Q35 emulation

● Info qtree

Page 7: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

7

Q35 emulation

● lspci

Page 8: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

8

Q35 emulation

● PCIe/PCI Topology

Bus 0 Bus 0Q35 I440FX

Dev 1 Dev 2 P2P bridge

Bus 1

Dev 3P2P

bridge

Bus 2

DMI-PCI bridge

Bus 5

Dev 3P2P

bridgeBus 6

Root Port 1

Bus 1

PCIe Dev 2

PCIe Dev 3

Bus 4

Integrated PCIe Dev 1

Upstream Port 1

Bus 3

Downstream Port 1

Root Port 2 Bus 2

Switch

Page 9: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

9

Q35 emulation

● PCI/PCIe devices placement

Bus 0

Integrated PCI Dev 1

Root Port 1

Bus 1

PCIe Dev 2

PCIe Dev 3

Bus 4

DMI-PCI bridge

Bus 5

PCI Dev 2

P2P bridge

Bus 6

PCIe devices PCI devices

Integrated PCIe Dev 1

PCI Dev 3

Upstream Port 1

Bus 3

Downstream Port 1

Root Port 2 Bus 2

Switch

Page 10: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

10

Q35 emulation

● PCIe/PCI ACPI Hotplug

Bus 0

Integrated PCI Dev 1

Root Port 1

Bus 1

PCIe Dev 2

PCIe Dev 3

Bus 4

DMI-PCI bridge

Bus 5

PCI Dev 2

P2P bridge

Bus 6

PCIe native hotplug

Integrated PCIe Dev 1

PCI Dev 3 PCI ACPI hotplug

Upstream Port 1

Bus 3

Downstream Port 1

Root Port 2 Bus 2

Switch

Page 11: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

11

Q35 emulation

● Virtio

Bus 0

Integrated PCI Dev 1

PCIe Dev 3

Bus 4

DMI-PCI bridge

Bus 5

PCI Dev 2

P2P bridge

Bus 6

PCIe + Pure virtio 1.0 (disable-legacy=on,disable-modern=off)

PCI + Transitional virtio (disable-legacy=off,disable-modern=off)

PCI Dev 3

Upstream Port 1

Bus 3

Downstream Port 1

Root Port 2 Bus 2

Root Port 1

PCIe Dev 2

Bus 1

Switch

Page 12: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

12

Agenda

● Q35 chipset - Overview

● Q35 emulation

● Q35-only features

● Q35 limitations

● Q35 downstream

Page 13: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

13

Q35-only features

● PCIe “goodies”

– Extended configuration space (MMCFG)

– PCIe native hotplug

– Advanced Error Reporting (AER)

– Alternative Routing-ID Interpretation (ARI)

– Native Power Management

– Function Level Reset (FLR)

– Address Translation Services (ATS)

● AHCI storage controller

● vIOMMU emulation

● “Secure” Secure Boot

Page 14: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

14

Agenda

● Q35 chipset - Overview

● Q35 emulation

● Q35-only features

● Q35 limitations

● Q35 downstream

Page 15: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

15

Q35 limitations

● No support for legacy guests (Windows XP/2000).

● Questionable support for legacy QEMU devices.

● Limited IO space can affect the number of devices used by a single Q35 machine:

● Each device behind a separate PCI bridge.● Each bridge requires 4K IO range.● Several solutions available:

– Plug only PCIe devices into PCIe ports.– Use smaller/non-standard IO windows for bridges.– ...

Page 16: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

16

Agenda

● Q35 chipset - Overview

● Q35 emulation

● Q35-only features

● Q35 limitations

● Q35 use cases

Page 17: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

17

Q35 use cases

● Current use-cases:

– P2V (migrate physical machine to VM)

– Secure boot (+OVMF)

– vIOMMU (NFV)

Page 18: Q35 - QEMUwiki.qemu.org/images/4/4e/Q35.pdf · 15 Q35 limitations No support for legacy guests (Windows XP/2000). Questionable support for legacy QEMU devices. Limited IO space can

Thank you!