1 | /* |
2 | * ARM cpu parameters for qemu. |
3 | * |
4 | * Copyright (c) 2003 Fabrice Bellard |
5 | * SPDX-License-Identifier: LGPL-2.0+ |
6 | */ |
7 | |
8 | #ifndef ARM_CPU_PARAM_H |
9 | #define ARM_CPU_PARAM_H 1 |
10 | |
11 | #ifdef TARGET_AARCH64 |
12 | # define TARGET_LONG_BITS 64 |
13 | # define TARGET_PHYS_ADDR_SPACE_BITS 48 |
14 | # define TARGET_VIRT_ADDR_SPACE_BITS 48 |
15 | #else |
16 | # define TARGET_LONG_BITS 32 |
17 | # define TARGET_PHYS_ADDR_SPACE_BITS 40 |
18 | # define TARGET_VIRT_ADDR_SPACE_BITS 32 |
19 | #endif |
20 | |
21 | #ifdef CONFIG_USER_ONLY |
22 | #define TARGET_PAGE_BITS 12 |
23 | #else |
24 | /* |
25 | * ARMv7 and later CPUs have 4K pages minimum, but ARMv5 and v6 |
26 | * have to support 1K tiny pages. |
27 | */ |
28 | # define TARGET_PAGE_BITS_VARY |
29 | # define TARGET_PAGE_BITS_MIN 10 |
30 | #endif |
31 | |
32 | #define NB_MMU_MODES 8 |
33 | |
34 | #endif |
35 | |