targphys.h: Define TARGET_PRI*PHYS format specifier macros
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> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
		
							parent
							
								
									636bd28939
								
							
						
					
					
						commit
						1e9be4b4fe
					
				
							
								
								
									
										16
									
								
								targphys.h
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								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 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell