/*
 * ARM cpu parameters for qemu.
 *
 * Copyright (c) 2003 Fabrice Bellard
 * SPDX-License-Identifier: LGPL-2.0+
 */

#ifndef ARM_CPU_PARAM_H
#define ARM_CPU_PARAM_H

#ifdef TARGET_AARCH64
# define TARGET_LONG_BITS             64
# define TARGET_PHYS_ADDR_SPACE_BITS  52
# define TARGET_VIRT_ADDR_SPACE_BITS  52
#else
# define TARGET_LONG_BITS             32
# define TARGET_PHYS_ADDR_SPACE_BITS  40
# define TARGET_VIRT_ADDR_SPACE_BITS  32
#endif

#ifdef CONFIG_USER_ONLY
#define TARGET_PAGE_BITS 12
# ifdef TARGET_AARCH64
#  define TARGET_TAGGED_ADDRESSES
# endif
#else
/*
 * ARMv7 and later CPUs have 4K pages minimum, but ARMv5 and v6
 * have to support 1K tiny pages.
 */
# define TARGET_PAGE_BITS_VARY
# define TARGET_PAGE_BITS_MIN  10

/*
 * Cache the attrs and shareability fields from the page table entry.
 *
 * For ARMMMUIdx_Stage2*, pte_attrs is the S2 descriptor bits [5:2].
 * Otherwise, pte_attrs is the same as the MAIR_EL1 8-bit format.
 * For shareability and guarded, as in the SH and GP fields respectively
 * of the VMSAv8-64 PTEs.
 */
# define TARGET_PAGE_ENTRY_EXTRA  \
    uint8_t pte_attrs;            \
    uint8_t shareability;         \
    bool guarded;
#endif

#define NB_MMU_MODES 12

#endif
