[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support. |
Date: |
Thu, 23 Feb 2023 08:37:46 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Thomas Huth <thuth@redhat.com> writes:
> On 22/02/2023 19.16, Philippe Mathieu-Daudé wrote:
>> +Thomas (meson) & Marc-André (conditional QAPI)
>
> + Markus
>
>> On 22/2/23 17:49, Jonathan Cameron wrote:
[...]
>>>>>> Doesn't these need
>>>>>>
>>>>>> 'if': 'CONFIG_CXL_MEM_DEVICE',
>>>>>>
>>>>>> ?
>>>>>
>>>>> If I make this change I get a bunch of
>>>>>
>>>>> ./qapi/qapi-types-cxl.h:18:13: error: attempt to use poisoned
>>>>> "CONFIG_CXL_MEM_DEVICE"
>>>>> 18 | #if defined(CONFIG_CXL_MEM_DEVICE)
>>>>
>>>> Err, I meant the generic CONFIG_CXL, not CONFIG_CXL_MEM_DEVICE.
>>>>
>>>>> It's a target specific define (I think) as built alongside PCI_EXPRESS
>>>>> Only CXL_ACPI is specifically included by x86 and arm64 (out of tree)
>>>>>
>>>>> To be honest though I don't fully understand the QEMU build system so the
>>>>> reason
>>>>> for the error might be wrong.
>>>>
>>>> You need to restrict to system emulation (the 'have_system' check):
>>>
>>> This doesn't help - still have
>>> attempt to used poisoned "CONFIG_CXL"
>
> Not sure how the QAPI generator works, but target specific config switches
> can only be used in target specific json files there, so that's
> machine-target.json and misc-target.json currently, as far as I know. Not
> sure how the QAPI generator distinguishes between common and target specific
> code, though ... just by the "-target" suffix? Maybe Markus or Marc-André can
> comment on that.
Whenever you use a poisoned macro in a conditional, all the code
generated for this .json file (we call it a "QAPI schema module")
becomes target-dependent. The QAPI code generator itself is blissfully
unaware of this.
Since target-dependent code needs to be compiled differently, the build
process needs to be know which modules are target-dependent. We do this
in one of the stupidest ways that could possibly work: a module is
target-dependent if its name ends with "-target". There are just two
right now: qapi/machine-target.json and qapi/misc-target.json.
The logic resides in qapi/meson.build. Look for
if module.endswith('-target')
Questions?
[...]
- [PATCH v5 7/8] hw/pci/aer: Make PCIE AER error injection facility available for other emulation to use., (continued)
- [PATCH v5 7/8] hw/pci/aer: Make PCIE AER error injection facility available for other emulation to use., Jonathan Cameron, 2023/02/21
- [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Jonathan Cameron, 2023/02/21
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Dave Jiang, 2023/02/21
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Philippe Mathieu-Daudé, 2023/02/21
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Jonathan Cameron, 2023/02/22
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Philippe Mathieu-Daudé, 2023/02/22
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Jonathan Cameron, 2023/02/22
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Philippe Mathieu-Daudé, 2023/02/22
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Thomas Huth, 2023/02/23
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support.,
Markus Armbruster <=
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Jonathan Cameron, 2023/02/23
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Jonathan Cameron, 2023/02/24
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Philippe Mathieu-Daudé, 2023/02/24
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Markus Armbruster, 2023/02/27
- Re: [PATCH v5 8/8] hw/mem/cxl_type3: Add CXL RAS Error Injection Support., Markus Armbruster, 2023/02/22