diff mbox series

[1/3] hw/acpi: Build IPMI stubs when ACPI is disabled

Message ID 20250526112346.48744-2-philmd@linaro.org
State New
Headers show
Series hw/ppc: Fix --without-default-devices build | expand

Commit Message

Philippe Mathieu-Daudé May 26, 2025, 11:23 a.m. UTC
When ACPI is disabled, no ACPI code depends on IPMI,
so we don't need the stubs.

We need them when IPMI is enabled and ACPI disabled,
otherwise when using '--without-default-devices' we
get:

  Undefined symbols for architecture arm64:
    "_build_ipmi_dev_aml", referenced from:
        _isa_ipmi_bt_class_init in hw_ipmi_isa_ipmi_bt.c.o
  ld: symbol(s) not found for architecture arm64

Split the source set list to avoid a too long line.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/acpi/meson.build | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Comments

Thomas Huth May 26, 2025, 11:55 a.m. UTC | #1
On 26/05/2025 13.23, Philippe Mathieu-Daudé wrote:
> When ACPI is disabled, no ACPI code depends on IPMI,
> so we don't need the stubs.
> 
> We need them when IPMI is enabled and ACPI disabled,
> otherwise when using '--without-default-devices' we
> get:
> 
>    Undefined symbols for architecture arm64:
>      "_build_ipmi_dev_aml", referenced from:
>          _isa_ipmi_bt_class_init in hw_ipmi_isa_ipmi_bt.c.o
>    ld: symbol(s) not found for architecture arm64
> 
> Split the source set list to avoid a too long line.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/acpi/meson.build | 10 ++++++++--
>   1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/acpi/meson.build b/hw/acpi/meson.build
> index 73f02b96912..76948cdd00d 100644
> --- a/hw/acpi/meson.build
> +++ b/hw/acpi/meson.build
> @@ -26,12 +26,18 @@ acpi_ss.add(when: 'CONFIG_ACPI_PCIHP', if_false: files('acpi-pci-hotplug-stub.c'
>   acpi_ss.add(when: 'CONFIG_ACPI_VIOT', if_true: files('viot.c'))
>   acpi_ss.add(when: 'CONFIG_ACPI_ICH9', if_true: files('ich9.c', 'ich9_tco.c', 'ich9_timer.c'))
>   acpi_ss.add(when: 'CONFIG_ACPI_ERST', if_true: files('erst.c'))
> -acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'), if_false: files('ipmi-stub.c'))
> +acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'))
>   acpi_ss.add(when: 'CONFIG_PC', if_false: files('acpi-x86-stub.c'))
>   if have_tpm
>     acpi_ss.add(files('tpm.c'))
>   endif
> -system_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c', 'acpi_interface.c'))
> +system_ss.add(when: 'CONFIG_ACPI', if_false: files(
> +  'acpi-stub.c',
> +  'acpi_interface.c',

While you're at it, I think acpi_interface.c is always needed (it's also 
added earlier in this file already when CONFIG_ACPI is enabled), so I think 
this should rather go to a separate "system_ss.add(...)" line?

  Thomas


> +  'aml-build-stub.c',
> +  'ghes-stub.c',
> +  'ipmi-stub.c',
> +))
>   system_ss.add(when: 'CONFIG_ACPI_PCI_BRIDGE', if_false: files('pci-bridge-stub.c'))
>   system_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss)
>   system_ss.add(files('acpi-qmp-cmds.c'))
Thomas Huth May 26, 2025, 11:57 a.m. UTC | #2
On 26/05/2025 13.55, Thomas Huth wrote:
> On 26/05/2025 13.23, Philippe Mathieu-Daudé wrote:
>> When ACPI is disabled, no ACPI code depends on IPMI,
>> so we don't need the stubs.
>>
>> We need them when IPMI is enabled and ACPI disabled,
>> otherwise when using '--without-default-devices' we
>> get:
>>
>>    Undefined symbols for architecture arm64:
>>      "_build_ipmi_dev_aml", referenced from:
>>          _isa_ipmi_bt_class_init in hw_ipmi_isa_ipmi_bt.c.o
>>    ld: symbol(s) not found for architecture arm64
>>
>> Split the source set list to avoid a too long line.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>>   hw/acpi/meson.build | 10 ++++++++--
>>   1 file changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/acpi/meson.build b/hw/acpi/meson.build
>> index 73f02b96912..76948cdd00d 100644
>> --- a/hw/acpi/meson.build
>> +++ b/hw/acpi/meson.build
>> @@ -26,12 +26,18 @@ acpi_ss.add(when: 'CONFIG_ACPI_PCIHP', if_false: 
>> files('acpi-pci-hotplug-stub.c'
>>   acpi_ss.add(when: 'CONFIG_ACPI_VIOT', if_true: files('viot.c'))
>>   acpi_ss.add(when: 'CONFIG_ACPI_ICH9', if_true: files('ich9.c', 
>> 'ich9_tco.c', 'ich9_timer.c'))
>>   acpi_ss.add(when: 'CONFIG_ACPI_ERST', if_true: files('erst.c'))
>> -acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'), if_false: 
>> files('ipmi-stub.c'))
>> +acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'))
>>   acpi_ss.add(when: 'CONFIG_PC', if_false: files('acpi-x86-stub.c'))
>>   if have_tpm
>>     acpi_ss.add(files('tpm.c'))
>>   endif
>> -system_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml- 
>> build-stub.c', 'ghes-stub.c', 'acpi_interface.c'))
>> +system_ss.add(when: 'CONFIG_ACPI', if_false: files(
>> +  'acpi-stub.c',
>> +  'acpi_interface.c',
> 
> While you're at it, I think acpi_interface.c is always needed (it's also 
> added earlier in this file already when CONFIG_ACPI is enabled), so I think 
> this should rather go to a separate "system_ss.add(...)" line?

Or maybe it could rather get removed from the list here? ... it does not 
look like it's really needed for the build at a quick glance...

  Thomas
diff mbox series

Patch

diff --git a/hw/acpi/meson.build b/hw/acpi/meson.build
index 73f02b96912..76948cdd00d 100644
--- a/hw/acpi/meson.build
+++ b/hw/acpi/meson.build
@@ -26,12 +26,18 @@  acpi_ss.add(when: 'CONFIG_ACPI_PCIHP', if_false: files('acpi-pci-hotplug-stub.c'
 acpi_ss.add(when: 'CONFIG_ACPI_VIOT', if_true: files('viot.c'))
 acpi_ss.add(when: 'CONFIG_ACPI_ICH9', if_true: files('ich9.c', 'ich9_tco.c', 'ich9_timer.c'))
 acpi_ss.add(when: 'CONFIG_ACPI_ERST', if_true: files('erst.c'))
-acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'), if_false: files('ipmi-stub.c'))
+acpi_ss.add(when: 'CONFIG_IPMI', if_true: files('ipmi.c'))
 acpi_ss.add(when: 'CONFIG_PC', if_false: files('acpi-x86-stub.c'))
 if have_tpm
   acpi_ss.add(files('tpm.c'))
 endif
-system_ss.add(when: 'CONFIG_ACPI', if_false: files('acpi-stub.c', 'aml-build-stub.c', 'ghes-stub.c', 'acpi_interface.c'))
+system_ss.add(when: 'CONFIG_ACPI', if_false: files(
+  'acpi-stub.c',
+  'acpi_interface.c',
+  'aml-build-stub.c',
+  'ghes-stub.c',
+  'ipmi-stub.c',
+))
 system_ss.add(when: 'CONFIG_ACPI_PCI_BRIDGE', if_false: files('pci-bridge-stub.c'))
 system_ss.add_all(when: 'CONFIG_ACPI', if_true: acpi_ss)
 system_ss.add(files('acpi-qmp-cmds.c'))