1*97d348ccSPhilippe Mathieu-Daudé // SPDX-License-Identifier: GPL-2.0-or-later
24c7f4f4fSSunil V L /*
34c7f4f4fSSunil V L * Add fw_cfg device in DSDT
44c7f4f4fSSunil V L *
54c7f4f4fSSunil V L */
64c7f4f4fSSunil V L
7ee88df50SPeter Maydell #include "qemu/osdep.h"
84c7f4f4fSSunil V L #include "hw/nvram/fw_cfg_acpi.h"
94c7f4f4fSSunil V L #include "hw/acpi/aml-build.h"
104c7f4f4fSSunil V L
fw_cfg_acpi_dsdt_add(Aml * scope,const MemMapEntry * fw_cfg_memmap)114c7f4f4fSSunil V L void fw_cfg_acpi_dsdt_add(Aml *scope, const MemMapEntry *fw_cfg_memmap)
124c7f4f4fSSunil V L {
134c7f4f4fSSunil V L Aml *dev = aml_device("FWCF");
144c7f4f4fSSunil V L aml_append(dev, aml_name_decl("_HID", aml_string("QEMU0002")));
154c7f4f4fSSunil V L /* device present, functioning, decoding, not shown in UI */
164c7f4f4fSSunil V L aml_append(dev, aml_name_decl("_STA", aml_int(0xB)));
174c7f4f4fSSunil V L aml_append(dev, aml_name_decl("_CCA", aml_int(1)));
184c7f4f4fSSunil V L
194c7f4f4fSSunil V L Aml *crs = aml_resource_template();
204c7f4f4fSSunil V L aml_append(crs, aml_memory32_fixed(fw_cfg_memmap->base,
214c7f4f4fSSunil V L fw_cfg_memmap->size, AML_READ_WRITE));
224c7f4f4fSSunil V L aml_append(dev, aml_name_decl("_CRS", crs));
234c7f4f4fSSunil V L aml_append(scope, dev);
244c7f4f4fSSunil V L }
25