On 9 March 2012 14:28, Andreas Färber <afaer...@suse.de> wrote: > No, please. We're describing sizes, not addresses. target_phys_addr_t > thus is semantically wrong here. The RAM size is unsigned long IIRC (it > is limited by the host's available memory). If you subtract something > from a size it remains a size. I had therefore suggested size_t before. > I expect sizeof(size_t) >= sizeof(unsigned long).
We're discussing target sizes. size_t might be smaller than target_phys_addr_t, so it's also semantically wrong. We don't have a target_size_t, though, and I think "use an address related type for an offset" is less bad than "use a host sized type for a guest sized value". Compare the way we use target_phys_addr_t for the offset arguments to MemoryRegion read/write functions. -- PMM