174433bf0SRichard Henderson /* 274433bf0SRichard Henderson * MicroBlaze cpu parameters for qemu. 374433bf0SRichard Henderson * 474433bf0SRichard Henderson * Copyright (c) 2009 Edgar E. Iglesias 5*b14d0649SPhilippe Mathieu-Daudé * SPDX-License-Identifier: LGPL-2.0-or-later 674433bf0SRichard Henderson */ 774433bf0SRichard Henderson 874433bf0SRichard Henderson #ifndef MICROBLAZE_CPU_PARAM_H 94f31b54bSMarkus Armbruster #define MICROBLAZE_CPU_PARAM_H 1074433bf0SRichard Henderson 1119f27b6cSRichard Henderson /* 1219f27b6cSRichard Henderson * While system mode can address up to 64 bits of address space, 1319f27b6cSRichard Henderson * this is done via the lea/sea instructions, which are system-only 1419f27b6cSRichard Henderson * (as they also bypass the mmu). 1519f27b6cSRichard Henderson * 1619f27b6cSRichard Henderson * We can improve the user-only experience by only exposing 32 bits 1719f27b6cSRichard Henderson * of address space. 1819f27b6cSRichard Henderson */ 1919f27b6cSRichard Henderson #ifdef CONFIG_USER_ONLY 2019f27b6cSRichard Henderson #define TARGET_LONG_BITS 32 2119f27b6cSRichard Henderson #define TARGET_PHYS_ADDR_SPACE_BITS 32 2219f27b6cSRichard Henderson #define TARGET_VIRT_ADDR_SPACE_BITS 32 2319f27b6cSRichard Henderson #else 2474433bf0SRichard Henderson #define TARGET_LONG_BITS 64 2574433bf0SRichard Henderson #define TARGET_PHYS_ADDR_SPACE_BITS 64 2674433bf0SRichard Henderson #define TARGET_VIRT_ADDR_SPACE_BITS 64 2719f27b6cSRichard Henderson #endif 2819f27b6cSRichard Henderson 2974433bf0SRichard Henderson /* FIXME: MB uses variable pages down to 1K but linux only uses 4k. */ 3074433bf0SRichard Henderson #define TARGET_PAGE_BITS 12 3174433bf0SRichard Henderson 32e92dd332SPhilippe Mathieu-Daudé /* MicroBlaze is always in-order. */ 33e92dd332SPhilippe Mathieu-Daudé #define TCG_GUEST_DEFAULT_MO TCG_MO_ALL 34e92dd332SPhilippe Mathieu-Daudé 3574433bf0SRichard Henderson #endif 36