| /* |
| * PowerPC cpu parameters for qemu. |
| * |
| * Copyright (c) 2007 Jocelyn Mayer |
| * SPDX-License-Identifier: LGPL-2.0-or-later |
| */ |
| |
| #ifndef PPC_CPU_PARAM_H |
| #define PPC_CPU_PARAM_H |
| |
| #ifdef TARGET_PPC64 |
| # define TARGET_LONG_BITS 64 |
| /* |
| * Note that the official physical address space bits is 62-M where M |
| * is implementation dependent. I've not looked up M for the set of |
| * cpus we emulate at the system level. |
| */ |
| #define TARGET_PHYS_ADDR_SPACE_BITS 62 |
| /* |
| * Note that the PPC environment architecture talks about 80 bit virtual |
| * addresses, with segmentation. Obviously that's not all visible to a |
| * single process, which is all we're concerned with here. |
| */ |
| # ifdef TARGET_ABI32 |
| # define TARGET_VIRT_ADDR_SPACE_BITS 32 |
| # else |
| # define TARGET_VIRT_ADDR_SPACE_BITS 64 |
| # endif |
| #else |
| # define TARGET_LONG_BITS 32 |
| # define TARGET_PHYS_ADDR_SPACE_BITS 36 |
| # define TARGET_VIRT_ADDR_SPACE_BITS 32 |
| #endif |
| |
| #ifdef CONFIG_USER_ONLY |
| /* Allow user-only to vary page size from 4k */ |
| # define TARGET_PAGE_BITS_VARY |
| # define TARGET_PAGE_BITS_MIN 12 |
| #else |
| # define TARGET_PAGE_BITS 12 |
| #endif |
| |
| #define TCG_GUEST_DEFAULT_MO 0 |
| |
| #endif |