1 /* 2 * PowerPC cpu parameters for qemu. 3 * 4 * Copyright (c) 2007 Jocelyn Mayer 5 * SPDX-License-Identifier: LGPL-2.0+ 6 */ 7 8 #ifndef PPC_CPU_PARAM_H 9 #define PPC_CPU_PARAM_H 10 11 #ifdef TARGET_PPC64 12 # define TARGET_LONG_BITS 64 13 /* 14 * Note that the official physical address space bits is 62-M where M 15 * is implementation dependent. I've not looked up M for the set of 16 * cpus we emulate at the system level. 17 */ 18 #define TARGET_PHYS_ADDR_SPACE_BITS 62 19 /* 20 * Note that the PPC environment architecture talks about 80 bit virtual 21 * addresses, with segmentation. Obviously that's not all visible to a 22 * single process, which is all we're concerned with here. 23 */ 24 # ifdef TARGET_ABI32 25 # define TARGET_VIRT_ADDR_SPACE_BITS 32 26 # else 27 # define TARGET_VIRT_ADDR_SPACE_BITS 64 28 # endif 29 #else 30 # define TARGET_LONG_BITS 32 31 # define TARGET_PHYS_ADDR_SPACE_BITS 36 32 # define TARGET_VIRT_ADDR_SPACE_BITS 32 33 #endif 34 35 #ifdef CONFIG_USER_ONLY 36 /* Allow user-only to vary page size from 4k */ 37 # define TARGET_PAGE_BITS_VARY 38 # define TARGET_PAGE_BITS_MIN 12 39 #else 40 # define TARGET_PAGE_BITS 12 41 #endif 42 43 #endif 44