]> git.proxmox.com Git - mirror_qemu.git/blame - hw/virtio/virtio-acpi.c
hw/char/imx_serial: Implement receive FIFO and ageing timer
[mirror_qemu.git] / hw / virtio / virtio-acpi.c
CommitLineData
57ba8436
S
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * virtio ACPI Support
4 *
5 */
6
7#include "hw/virtio/virtio-acpi.h"
8#include "hw/acpi/aml-build.h"
9
10void virtio_acpi_dsdt_add(Aml *scope, const hwaddr base, const hwaddr size,
11 uint32_t mmio_irq, long int start_index, int num)
12{
13 hwaddr virtio_base = base;
14 uint32_t irq = mmio_irq;
15 long int i;
16
17 for (i = start_index; i < start_index + num; i++) {
18 Aml *dev = aml_device("VR%02u", (unsigned)i);
19 aml_append(dev, aml_name_decl("_HID", aml_string("LNRO0005")));
20 aml_append(dev, aml_name_decl("_UID", aml_int(i)));
21 aml_append(dev, aml_name_decl("_CCA", aml_int(1)));
22
23 Aml *crs = aml_resource_template();
24 aml_append(crs, aml_memory32_fixed(virtio_base, size, AML_READ_WRITE));
25 aml_append(crs,
26 aml_interrupt(AML_CONSUMER, AML_LEVEL, AML_ACTIVE_HIGH,
27 AML_EXCLUSIVE, &irq, 1));
28 aml_append(dev, aml_name_decl("_CRS", crs));
29 aml_append(scope, dev);
30 virtio_base += size;
31 irq++;
32 }
33}