On 04/26/2010 11:00 PM, q...@zensonic.dk wrote:
> 1. avoid the problem? (Give the guest a larger valid address space)

Assuming that you don't have a guest program that (ab)uses the 
"known unused" high bits of the address for type tagging pointers
(common in some lisp and virtual machine interpreters, including
emacs), then you can simply change target-alpha/cpu.h:

-#define TARGET_VIRT_ADDR_SPACE_BITS     (30 + TARGET_PAGE_BITS)
+#define TARGET_VIRT_ADDR_SPACE_BITS     63

I know for a fact that glibc *does* use the msb for some pointer
tagging, so you can't use 64 here.  I don't think that's actually
a problem for any current Linux host.  If you only care about amd64
as the host, you can reduce this number to 47 and save 2 levels 
of lookup in the address space tables.



r~


Reply via email to