Message ID | 20210603171259.27962-2-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | hw/acpi, arm: Provide and use acpi_ghes_present() | expand |
On 6/3/21 10:12 AM, Peter Maydell wrote: > +softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c')) > softmmu_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss) > softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', 'aml-build-stub.c', > - 'acpi-x86-stub.c', 'ipmi-stub.c')) > + 'acpi-x86-stub.c', 'ipmi-stub.c', 'ghes-stub.c')) Gosh that last line is confusing. I see it's documented in build-system.rst, but yeesh. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
On Fri, 4 Jun 2021 at 01:13, Peter Maydell <peter.maydell@linaro.org> wrote: > > Generic code in target/arm wants to call acpi_ghes_record_errors(); > provide a stub version so that we don't fail to link when > CONFIG_ACPI_APEI is not set. This requires us to add a new > ghes-stub.c file to contain it and the meson.build mechanics > to use it when appropriate. > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > hw/acpi/ghes-stub.c | 17 +++++++++++++++++ > hw/acpi/meson.build | 6 +++--- > 2 files changed, 20 insertions(+), 3 deletions(-) > create mode 100644 hw/acpi/ghes-stub.c > > diff --git a/hw/acpi/ghes-stub.c b/hw/acpi/ghes-stub.c > new file mode 100644 > index 00000000000..9faba043b85 > --- /dev/null > +++ b/hw/acpi/ghes-stub.c > @@ -0,0 +1,17 @@ > +/* > + * Support for generating APEI tables and recording CPER for Guests: > + * stub functions. > + * > + * Copyright (c) 2021 Linaro, Ltd > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or later. > + * See the COPYING file in the top-level directory. > + */ > + > +#include "qemu/osdep.h" > +#include "hw/acpi/ghes.h" > + > +int acpi_ghes_record_errors(uint8_t source_id, uint64_t physical_address) > +{ > + return -1; > +} > diff --git a/hw/acpi/meson.build b/hw/acpi/meson.build > index dd69577212a..03ea43f8627 100644 > --- a/hw/acpi/meson.build > +++ b/hw/acpi/meson.build > @@ -13,13 +13,13 @@ acpi_ss.add(when: 'CONFIG_ACPI_PCI', if_true: files('pci.c')) > acpi_ss.add(when: 'CONFIG_ACPI_VMGENID', if_true: files('vmgenid.c')) > acpi_ss.add(when: 'CONFIG_ACPI_HW_REDUCED', if_true: files('generic_event_device.c')) > acpi_ss.add(when: 'CONFIG_ACPI_HMAT', if_true: files('hmat.c')) > -acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c')) > +acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c'), if_false:('ghes-stub.c')) > acpi_ss.add(when: 'CONFIG_ACPI_X86', if_true: files('core.c', 'piix4.c', 'pcihp.c'), if_false: files('acpi-stub.c')) > acpi_ss.add(when: 'CONFIG_ACPI_X86_ICH', if_true: files('ich9.c', 'tco.c')) > acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'), if_false: files('ipmi-stub.c')) > acpi_ss.add(when: 'CONFIG_PC', if_false: files('acpi-x86-stub.c')) > acpi_ss.add(when: 'CONFIG_TPM', if_true: files('tpm.c')) > -softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c')) > +softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c')) > softmmu_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss) > softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', 'aml-build-stub.c', > - 'acpi-x86-stub.c', 'ipmi-stub.c')) > + 'acpi-x86-stub.c', 'ipmi-stub.c', 'ghes-stub.c')) > -- > 2.20.1 > Reviewed-by: Dongjiu Geng <gengdongjiu1@gmail.com>
On 03/06/21 20:52, Richard Henderson wrote: > On 6/3/21 10:12 AM, Peter Maydell wrote: >> +softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', >> 'aml-build-stub.c', 'ghes-stub.c')) >> softmmu_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss) >> softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', >> 'aml-build-stub.c', >> - 'acpi-x86-stub.c', >> 'ipmi-stub.c')) >> + 'acpi-x86-stub.c', >> 'ipmi-stub.c', 'ghes-stub.c')) > > Gosh that last line is confusing. I see it's documented in > build-system.rst, but yeesh. > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Yeah, it's vestigial of the makefiles and I should remove it. That said, here: > +acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c'), if_false:('ghes-stub.c')) There's a missing "files" after if_false. Paolo
On Thu, 17 Jun 2021 at 11:28, Paolo Bonzini <pbonzini@redhat.com> wrote: > > On 03/06/21 20:52, Richard Henderson wrote: > > On 6/3/21 10:12 AM, Peter Maydell wrote: > >> +softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', > >> 'aml-build-stub.c', 'ghes-stub.c')) > >> softmmu_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss) > >> softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', > >> 'aml-build-stub.c', > >> - 'acpi-x86-stub.c', > >> 'ipmi-stub.c')) > >> + 'acpi-x86-stub.c', > >> 'ipmi-stub.c', 'ghes-stub.c')) > > > > Gosh that last line is confusing. I see it's documented in > > build-system.rst, but yeesh. > > > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > > Yeah, it's vestigial of the makefiles and I should remove it. > > That said, here: > > > +acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c'), if_false:('ghes-stub.c')) > > There's a missing "files" after if_false. Thanks for finding this bug -- I have requeued the patches to target-arm.next with the "files" added. -- PMM
diff --git a/hw/acpi/ghes-stub.c b/hw/acpi/ghes-stub.c new file mode 100644 index 00000000000..9faba043b85 --- /dev/null +++ b/hw/acpi/ghes-stub.c @@ -0,0 +1,17 @@ +/* + * Support for generating APEI tables and recording CPER for Guests: + * stub functions. + * + * Copyright (c) 2021 Linaro, Ltd + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "hw/acpi/ghes.h" + +int acpi_ghes_record_errors(uint8_t source_id, uint64_t physical_address) +{ + return -1; +} diff --git a/hw/acpi/meson.build b/hw/acpi/meson.build index dd69577212a..03ea43f8627 100644 --- a/hw/acpi/meson.build +++ b/hw/acpi/meson.build @@ -13,13 +13,13 @@ acpi_ss.add(when: 'CONFIG_ACPI_PCI', if_true: files('pci.c')) acpi_ss.add(when: 'CONFIG_ACPI_VMGENID', if_true: files('vmgenid.c')) acpi_ss.add(when: 'CONFIG_ACPI_HW_REDUCED', if_true: files('generic_event_device.c')) acpi_ss.add(when: 'CONFIG_ACPI_HMAT', if_true: files('hmat.c')) -acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c')) +acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c'), if_false:('ghes-stub.c')) acpi_ss.add(when: 'CONFIG_ACPI_X86', if_true: files('core.c', 'piix4.c', 'pcihp.c'), if_false: files('acpi-stub.c')) acpi_ss.add(when: 'CONFIG_ACPI_X86_ICH', if_true: files('ich9.c', 'tco.c')) acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'), if_false: files('ipmi-stub.c')) acpi_ss.add(when: 'CONFIG_PC', if_false: files('acpi-x86-stub.c')) acpi_ss.add(when: 'CONFIG_TPM', if_true: files('tpm.c')) -softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c')) +softmmu_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c')) softmmu_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss) softmmu_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-stub.c', 'aml-build-stub.c', - 'acpi-x86-stub.c', 'ipmi-stub.c')) + 'acpi-x86-stub.c', 'ipmi-stub.c', 'ghes-stub.c'))
Generic code in target/arm wants to call acpi_ghes_record_errors(); provide a stub version so that we don't fail to link when CONFIG_ACPI_APEI is not set. This requires us to add a new ghes-stub.c file to contain it and the meson.build mechanics to use it when appropriate. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- hw/acpi/ghes-stub.c | 17 +++++++++++++++++ hw/acpi/meson.build | 6 +++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 hw/acpi/ghes-stub.c -- 2.20.1