Re: [kvm-unit-tests PATCH v3 5/9] s390x: Library resources for CSS tests

Thomas Huth
2019-12-10T11:27:36Z

On 10/12/2019 12.22, Pierre Morel wrote:
>
>
> On 2019-12-10 11:28, Thomas Huth wrote:
>> On 10/12/2019 11.07, Pierre Morel wrote:
>>>
>>>
>>> On 2019-12-09 12:49, Thomas Huth wrote:
>>>> On 06/12/2019 17.26, Pierre Morel wrote:
>>>>> These are the include and library utilities for the css tests patch
>>>>> series.
>>>>>
>>>>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>>>>> ---
>>>>>    lib/s390x/css.h      | 259
>>>>> +++++++++++++++++++++++++++++++++++++++++++
>>>>>    lib/s390x/css_dump.c | 156 ++++++++++++++++++++++++++
>>>>>    2 files changed, 415 insertions(+)
>>>>>    create mode 100644 lib/s390x/css.h
>>>>>    create mode 100644 lib/s390x/css_dump.c
>>>>>
>>>>> diff --git a/lib/s390x/css.h b/lib/s390x/css.h
>>>>> new file mode 100644
>>>>> index 0000000..6f19bb5
>>>>> --- /dev/null
>>>>> +++ b/lib/s390x/css.h
>>>> [...]
>>>>> +/* Debug functions */
>>>>> +char *dump_pmcw_flags(uint16_t f);
>>>>> +char *dump_scsw_flags(uint32_t f);
>>>>> +#undef DEBUG
>>>>> +#ifdef DEBUG
>>>>> +void dump_scsw(struct scsw *);
>>>>> +void dump_irb(struct irb *irbp);
>>>>> +void dump_schib(struct schib *sch);
>>>>> +struct ccw *dump_ccw(struct ccw *cp);
>>>>> +#else
>>>>> +static inline void dump_scsw(struct scsw *scsw) {}
>>>>> +static inline void dump_irb(struct irb *irbp) {}
>>>>> +static inline void dump_pmcw(struct pmcw *p) {}
>>>>> +static inline void dump_schib(struct schib *sch) {}
>>>>> +static inline void dump_orb(struct orb *op) {}
>>>>> +static inline struct ccw *dump_ccw(struct ccw *cp)
>>>>> +{
>>>>> +    return NULL;
>>>>> +}
>>>>> +#endif
>>>>
>>>> I'd prefer to not have a "#undef DEBUG" (or "#define DEBUG") statement
>>>
>>> Anyway hawfull!
>>>
>>>> in the header here - it could trigger unexpected behavior with other
>>>> files that also use a DEBUG macro.
>>>>
>>>> Could you please declare the prototypes here and move the "#else" part
>>>> to the .c file instead? Thanks!
>>>
>>> What if I use a CSS_DEBUG here instead of a simple DEBUG definition?
>>>
>>> It can be enabled or not by defining CSS_ENABLED ahead of the
>>> include...?
>>
>> Why does it have to be in the header and not in the .c file?
>
> I too mean in the C file. :)
> above the include.

Well, as long as we don't have any generic "#undef DEBUG" statements in
the header anymore, I think I don't care too much either way.

Thomas