On 11/28/2017 01:47 PM, Michael Nawrocki wrote:
I suspect you'll find that the change of type for 'ret' here
and the 'value' argument to pflash_write() will break compilation
with PFLASH_DEBUG defined, because the type won't match the DPRINTF
format strings any more.
You could either fix up the format strings, or (since there's a
wrapper function here anyway) leave the types of pflash_read()
and pflash_write() alone and let the wrappers implicitly do
the conversion between uint64_t and uint32_t.
...ah, just noticed that in patch 2 you want to add 8-byte
accesses. So you'll need to fix the format strings.
thanks
-- PMM
Yeah, it definitely doesn't compile with PFLASH_DEBUG defined. I'll
update those format strings for the next revision.
Better yet, please fix the PFLASH_DEBUG code to avoid bitrot in the
first place, by rewriting the bad pattern:
/* #define PFLASH_DEBUG */
#ifdef PFLASH_DEBUG
#define DPRINTF(fmt, ...) \
do { \
fprintf(stderr, "PFLASH: " fmt , ## __VA_ARGS__); \
} while (0)
#else
#define DPRINTF(fmt, ...) do { } while (0)
#endif
into the good pattern:
#ifdef PFLASH_DEBUG
# define PFLASH_PRINT 1
#else
# define PFLASH_PRINT 0
#endif
#define DPRINTF(fmt, ...) \
do { \
if (PFLASH_PRINT) { \
fprintf(stderr, "PFLASH: " fmt, ## __VA_ARGS__); \
}; \
} while (0)
or even better, using the trace infrastructure instead.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org