On 08/10/2018 11:53 AM, Laurent Vivier wrote: > sparc32plus has 64bit long type but only 32bit virtual address space. > > For instance, "apt-get upgrade" failed because of a mmap()/msync() > sequence. > > mmap() returned 0xff252000 but msync() used g2h(0xffffffffff252000) > to find the host address. The "(target_ulong)" in g2h() doesn't fix the > address because it is 64bit long. > > This patch introduces a "target_ptr" that is set to uint32_t > if the virtual address space is addressed using 32bit in the linux-user > case. It stays set to target_ulong with softmmu case.
I would prefer the name "abi_ptr", since the full 64-bits of target_ulong are still used for any actual dereferences. r~