diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-04-05 20:08:21 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-04-05 20:08:21 +0000 |
commit | bedb69ea0453a65a1c5a7b159ab485c542ecd15c (patch) | |
tree | 98f475bf48e3fa4bb8b2790adb190391d6029412 | |
parent | f6b647cd9ece4f26e3c48790930818be1c3a4426 (diff) |
Temporary hack for alpha user-mode emulation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2606 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | exec.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -64,6 +64,9 @@ #if defined(TARGET_SPARC64) #define TARGET_PHYS_ADDR_SPACE_BITS 41 +#elif defined(TARGET_ALPHA) +#define TARGET_PHYS_ADDR_SPACE_BITS 42 +#define TARGET_VIRT_ADDR_SPACE_BITS 42 #elif defined(TARGET_PPC64) #define TARGET_PHYS_ADDR_SPACE_BITS 42 #else @@ -109,7 +112,15 @@ typedef struct PhysPageDesc { } PhysPageDesc; #define L2_BITS 10 +#if defined(CONFIG_USER_ONLY) && defined(TARGET_VIRT_ADDR_SPACE_BITS) +/* XXX: this is a temporary hack for alpha target. + * In the future, this is to be replaced by a multi-level table + * to actually be able to handle the complete 64 bits address space. + */ +#define L1_BITS (TARGET_VIRT_ADDR_SPACE_BITS - L2_BITS - TARGET_PAGE_BITS) +#else #define L1_BITS (32 - L2_BITS - TARGET_PAGE_BITS) +#endif #define L1_SIZE (1 << L1_BITS) #define L2_SIZE (1 << L2_BITS) |