aboutsummaryrefslogtreecommitdiff
path: root/hw/display/acpi-vga.c
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2022-10-17 12:21:36 +0200
committerMichael S. Tsirkin <mst@redhat.com>2022-11-07 14:00:29 -0500
commitcfead31326409dad187024de1bf7b40d7a86737e (patch)
tree435be92bb32f062ec518a476bf27d4c3f884a006 /hw/display/acpi-vga.c
parentbd437c960f2b071f7e8ba9bd34af8e2537cd6627 (diff)
downloadqemu-cfead31326409dad187024de1bf7b40d7a86737e.zip
qemu-cfead31326409dad187024de1bf7b40d7a86737e.tar.gz
qemu-cfead31326409dad187024de1bf7b40d7a86737e.tar.bz2
acpi: pc: vga: use AcpiDevAmlIf interface to build VGA device descriptors
NB: We do not expect any functional change in any ACPI tables with this change. It's only a refactoring. NB2: Some targets (or1k) do not support acpi and CONFIG_ACPI is off for them. However, modules are reused between all architectures so CONFIG_ACPI is on. For those architectures, dummy stub function definitions help to resolve symbols. This change uses more of these and so it adds a couple of dummy stub definitions so that symbols for those can be resolved. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20221017102146.2254096-2-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Ani Sinha <ani@anisinha.ca> CC: Bernhard Beschow <shentey@gmail.com> Signed-off-by: Ani Sinha <ani@anisinha.ca> Message-Id: <20221107152744.868434-1-ani@anisinha.ca>
Diffstat (limited to 'hw/display/acpi-vga.c')
-rw-r--r--hw/display/acpi-vga.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/hw/display/acpi-vga.c b/hw/display/acpi-vga.c
new file mode 100644
index 0000000..f0e9ef1
--- /dev/null
+++ b/hw/display/acpi-vga.c
@@ -0,0 +1,26 @@
+#include "qemu/osdep.h"
+#include "hw/acpi/acpi_aml_interface.h"
+#include "hw/pci/pci.h"
+#include "vga_int.h"
+
+void build_vga_aml(AcpiDevAmlIf *adev, Aml *scope)
+{
+ int s3d = 0;
+ Aml *method;
+
+ if (object_dynamic_cast(OBJECT(adev), "qxl-vga")) {
+ s3d = 3;
+ }
+
+ method = aml_method("_S1D", 0, AML_NOTSERIALIZED);
+ aml_append(method, aml_return(aml_int(0)));
+ aml_append(scope, method);
+
+ method = aml_method("_S2D", 0, AML_NOTSERIALIZED);
+ aml_append(method, aml_return(aml_int(0)));
+ aml_append(scope, method);
+
+ method = aml_method("_S3D", 0, AML_NOTSERIALIZED);
+ aml_append(method, aml_return(aml_int(s3d)));
+ aml_append(scope, method);
+}