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