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

Pierre Morel
2019-12-10T11:23:03Z

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.

>
> Thomas
>

--
Pierre Morel
IBM Lab Boeblingen