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