diff mbox series

[1/3] hw/acpi: Provide stub version of acpi_ghes_record_errors()

Message ID 20210603171259.27962-2-peter.maydell@linaro.org
State Superseded
Headers show
Series hw/acpi, arm: Provide and use acpi_ghes_present() | expand

Commit Message

Peter Maydell June 3, 2021, 5:12 p.m. UTC
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

Comments

Richard Henderson June 3, 2021, 6:52 p.m. UTC | #1
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~
Dongjiu Geng June 13, 2021, 9:47 p.m. UTC | #2
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>
Paolo Bonzini June 17, 2021, 10:28 a.m. UTC | #3
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
Peter Maydell June 17, 2021, 12:25 p.m. UTC | #4
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 mbox series

Patch

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'))