|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 17/28] hw/display: mark bochs, cirrus, qxl, VGA, ramfb as secure
Most of the display adapters are emulating old hardware which is not
relevant to virtualization use cases.
The exceptions that should be considered secure are Cirrus (PCI, not
ISA), Bochs, QXL, RAMFB, VGA (PCI, MMIO, not ISA) and VMWare VGA.
The Cirrus PCI decision is borderline. It has been heavily used with
virtualization in the past, but these days VGA / RAMFB are strongly
recommended instead. Due to its historical usage though, we should
likely retain it in the set we aim to class as secure.
Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>
---
hw/display/bochs-display.c | 1 +
hw/display/cirrus_vga.c | 1 +
hw/display/qxl.c | 3 +++
hw/display/ramfb-standalone.c | 1 +
hw/display/vga-mmio.c | 1 +
hw/display/vga-pci.c | 3 +++
6 files changed, 10 insertions(+)
diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c
index 64e669429c..5f3ba80f99 100644
--- a/hw/display/bochs-display.c
+++ b/hw/display/bochs-display.c
@@ -374,6 +374,7 @@ static const TypeInfo bochs_display_type_info = {
.instance_size = sizeof(BochsDisplayState),
.instance_init = bochs_display_init,
.class_init = bochs_display_class_init,
+ .secure = true,
.interfaces = (const InterfaceInfo[]) {
{ INTERFACE_PCIE_DEVICE },
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index 0a8c74e137..8232c5c468 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -3013,6 +3013,7 @@ static const TypeInfo cirrus_vga_info = {
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(PCICirrusVGAState),
.class_init = cirrus_vga_class_init,
+ .secure = true,
.interfaces = (const InterfaceInfo[]) {
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
{ },
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 384b8767b8..d673663b3a 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -2566,6 +2566,7 @@ static const TypeInfo qxl_pci_type_info = {
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(PCIQXLDevice),
.abstract = true,
+ .secure = true,
.class_init = qxl_pci_class_init,
.interfaces = (const InterfaceInfo[]) {
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
@@ -2589,6 +2590,7 @@ static const TypeInfo qxl_primary_info = {
.name = "qxl-vga",
.parent = TYPE_PCI_QXL,
.class_init = qxl_primary_class_init,
+ .secure = true,
};
module_obj("qxl-vga");
module_kconfig(QXL);
@@ -2607,6 +2609,7 @@ static const TypeInfo qxl_secondary_info = {
.name = "qxl",
.parent = TYPE_PCI_QXL,
.class_init = qxl_secondary_class_init,
+ .secure = true,
};
module_obj("qxl");
diff --git a/hw/display/ramfb-standalone.c b/hw/display/ramfb-standalone.c
index 8e8ba37514..9427009acc 100644
--- a/hw/display/ramfb-standalone.c
+++ b/hw/display/ramfb-standalone.c
@@ -85,6 +85,7 @@ static const TypeInfo ramfb_info = {
.parent = TYPE_DYNAMIC_SYS_BUS_DEVICE,
.instance_size = sizeof(RAMFBStandaloneState),
.class_init = ramfb_class_initfn,
+ .secure = true,
};
static void ramfb_register_types(void)
diff --git a/hw/display/vga-mmio.c b/hw/display/vga-mmio.c
index 3cd64951c0..65dbbed12d 100644
--- a/hw/display/vga-mmio.c
+++ b/hw/display/vga-mmio.c
@@ -132,6 +132,7 @@ static const TypeInfo vga_mmio_info = {
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(VGAMmioState),
.class_init = vga_mmio_class_initfn,
+ .secure = true,
};
static void vga_mmio_register_types(void)
diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
index d089847bda..bb13eee8a2 100644
--- a/hw/display/vga-pci.c
+++ b/hw/display/vga-pci.c
@@ -367,6 +367,7 @@ static const TypeInfo vga_pci_type_info = {
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(PCIVGAState),
.abstract = true,
+ .secure = true,
.class_init = vga_pci_class_init,
.interfaces = (const InterfaceInfo[]) {
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
@@ -407,6 +408,7 @@ static const TypeInfo vga_info = {
.name = "VGA",
.parent = TYPE_PCI_VGA,
.class_init = vga_class_init,
+ .secure = true,
};
static const TypeInfo secondary_info = {
@@ -414,6 +416,7 @@ static const TypeInfo secondary_info = {
.parent = TYPE_PCI_VGA,
.instance_init = pci_secondary_vga_init,
.class_init = secondary_class_init,
+ .secure = true,
};
static void vga_register_types(void)
--
2.55.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |