Message ID | 1340639544-26520-2-git-send-email-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | 1e9be4b4fed08804e645e6465d38cdb686ebe9de |
Headers | show |
Am 25.06.2012 17:52, schrieb Peter Maydell: > Define a set of TARGET_PRI*PHYS format specifier macros for working > with target_phys_addr_t types. These follow the standard pattern > for such macros, and are more flexible than TARGET_FMT_plx, which > does not allow specification of field widths. > > Suggested-by: Andreas Färber <afaerber@suse.de> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Andreas Färber <afaerber@suse.de> Since this version uses a TARGET_ prefix we elegantly workaround the need for #undef Eric had pointed out in v1. /-F
On 06/25/2012 10:40 AM, Andreas Färber wrote: > Am 25.06.2012 17:52, schrieb Peter Maydell: >> Define a set of TARGET_PRI*PHYS format specifier macros for working >> with target_phys_addr_t types. These follow the standard pattern >> for such macros, and are more flexible than TARGET_FMT_plx, which >> does not allow specification of field widths. >> >> Suggested-by: Andreas Färber <afaerber@suse.de> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > > Acked-by: Andreas Färber <afaerber@suse.de> > > Since this version uses a TARGET_ prefix we elegantly workaround the > need for #undef Eric had pointed out in v1. Agreed - no POSIX collision in this series.
diff --git a/targphys.h b/targphys.h index 95648d6..bd4938f 100644 --- a/targphys.h +++ b/targphys.h @@ -11,10 +11,26 @@ typedef uint32_t target_phys_addr_t; #define TARGET_PHYS_ADDR_MAX UINT32_MAX #define TARGET_FMT_plx "%08x" +/* Format strings for printing target_phys_addr_t types. + * These are recommended over the less flexible TARGET_FMT_plx, + * which is retained for the benefit of existing code. + */ +#define TARGET_PRIdPHYS PRId32 +#define TARGET_PRIiPHYS PRIi32 +#define TARGET_PRIoPHYS PRIo32 +#define TARGET_PRIuPHYS PRIu32 +#define TARGET_PRIxPHYS PRIx32 +#define TARGET_PRIXPHYS PRIX32 #elif TARGET_PHYS_ADDR_BITS == 64 typedef uint64_t target_phys_addr_t; #define TARGET_PHYS_ADDR_MAX UINT64_MAX #define TARGET_FMT_plx "%016" PRIx64 +#define TARGET_PRIdPHYS PRId64 +#define TARGET_PRIiPHYS PRIi64 +#define TARGET_PRIoPHYS PRIo64 +#define TARGET_PRIuPHYS PRIu64 +#define TARGET_PRIxPHYS PRIx64 +#define TARGET_PRIXPHYS PRIX64 #endif #endif
Define a set of TARGET_PRI*PHYS format specifier macros for working with target_phys_addr_t types. These follow the standard pattern for such macros, and are more flexible than TARGET_FMT_plx, which does not allow specification of field widths. Suggested-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- targphys.h | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-)