acpi: Add IPMI table entries

Use the ACPI table construction tools to create an ACPI entry
for IPMI.  This adds a function called build_acpi_ipmi_devices
to add an DSDT entry for IPMI if IPMI is compiled in and an
IPMI device exists.  It also adds a dummy function if IPMI
is not compiled in.

This conforms to section "C3-2 Locating IPMI System Interfaces in
ACPI Name Space" in the IPMI 2.0 specification.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Corey Minyard 2016-06-10 04:15:42 -05:00 committed by Michael S. Tsirkin
parent 35658f6e0c
commit 86e91dd713
6 changed files with 155 additions and 0 deletions

22
include/hw/acpi/ipmi.h Normal file
View file

@ -0,0 +1,22 @@
/*
* QEMU IPMI ACPI handling
*
* Copyright (c) 2015,2016 Corey Minyard <cminyard@mvista.com>
*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
*/
#ifndef HW_ACPI_IPMI_H
#define HW_ACPI_IPMI_H
#include "qemu/osdep.h"
#include "hw/acpi/aml-build.h"
/*
* Add ACPI IPMI entries for all registered IPMI devices whose parent
* bus matches the given bus. The resource is the ACPI resource that
* contains the IPMI device, this is required for the I2C CRS.
*/
void build_acpi_ipmi_devices(Aml *table, BusState *bus);
#endif /* HW_ACPI_IPMI_H */