blob: 6321385b46967a6dc0c24cf9aaf8413ab911fdd8 [file] [log] [blame]
Richard Henderson74433bf2019-03-22 11:51:19 -07001/*
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
Peter Maydellbf053402020-03-30 22:03:57 +010032#define NB_MMU_MODES 11
Richard Henderson74433bf2019-03-22 11:51:19 -070033
34#endif