Skip to content

Commit

Permalink
target/alpha: Enable TARGET_PAGE_BITS_VARY for user-only
Browse files Browse the repository at this point in the history
Since alpha binaries are generally built for multiple
page sizes, it is trivial to allow the page size to vary.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-34-richard.henderson@linaro.org>
  • Loading branch information
rth7680 committed Feb 22, 2024
1 parent 242112f commit 097171a
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions target/alpha/cpu-param.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,22 @@
#define ALPHA_CPU_PARAM_H

#define TARGET_LONG_BITS 64
#define TARGET_PAGE_BITS 13

/* ??? EV4 has 34 phys addr bits, EV5 has 40, EV6 has 44. */
#define TARGET_PHYS_ADDR_SPACE_BITS 44
#define TARGET_VIRT_ADDR_SPACE_BITS (30 + TARGET_PAGE_BITS)

#ifdef CONFIG_USER_ONLY
/*
* Allow user-only to vary page size. Real hardware allows only 8k and 64k,
* but since any variance means guests cannot assume a fixed value, allow
* a 4k minimum to match x86 host, which can minimize emulation issues.
*/
# define TARGET_PAGE_BITS_VARY
# define TARGET_PAGE_BITS_MIN 12
# define TARGET_VIRT_ADDR_SPACE_BITS 63
#else
# define TARGET_PAGE_BITS 13
# define TARGET_VIRT_ADDR_SPACE_BITS (30 + TARGET_PAGE_BITS)
#endif

#endif

0 comments on commit 097171a

Please sign in to comment.