[Qemu-devel] [PATCH v2 1/4] targphys.h: Define TARGET_PRI*PHYS format specifier macros

2012-06-25 Thread 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 afaer...@suse.de
Signed-off-by: Peter Maydell peter.mayd...@linaro.org
---
 targphys.h |   16 
 1 files changed, 16 insertions(+), 0 deletions(-)

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
 
-- 
1.7.1




Re: [Qemu-devel] [PATCH v2 1/4] targphys.h: Define TARGET_PRI*PHYS format specifier macros

2012-06-25 Thread Andreas Färber
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 afaer...@suse.de
 Signed-off-by: Peter Maydell peter.mayd...@linaro.org

Acked-by: Andreas Färber afaer...@suse.de

Since this version uses a TARGET_ prefix we elegantly workaround the
need for #undef Eric had pointed out in v1.

/-F

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



Re: [Qemu-devel] [PATCH v2 1/4] targphys.h: Define TARGET_PRI*PHYS format specifier macros

2012-06-25 Thread Eric Blake
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 afaer...@suse.de
 Signed-off-by: Peter Maydell peter.mayd...@linaro.org
 
 Acked-by: Andreas Färber afaer...@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.

-- 
Eric Blake   ebl...@redhat.com+1-919-301-3266
Libvirt virtualization library http://libvirt.org





signature.asc
Description: OpenPGP digital signature