If you look closer to the definition ram_addr_t, you will see something like:
#if defined(CONFIG_XEN_BACKEND)
typedef uint64_t ram_addr_t;
# define RAM_ADDR_MAX UINT64_MAX
# define RAM_ADDR_FMT "%" PRIx64
#else
typedef uintptr_t ram_addr_t;
# define RAM_ADDR_MAX UINTPTR_MAX
# define RAM_ADDR_FMT "%" PRIxPTR
#endif
Please note that this may also be uintptr_t, which may not be 64-bit. In this case, there will be a problem with this appointment, if szmore than UINTPTR_MAX.
source
share