cpu.c (42f6ed919325413392bea247a1e6f135deb469cd) | cpu.c (276c6e813719568bdc9743e87ff8f42115006206) |
---|---|
1/* 2 * QEMU ARM CPU 3 * 4 * Copyright (c) 2012 SUSE LINUX Products GmbH 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 --- 171 unchanged lines hidden (view full) --- 180 181 if (arm_feature(env, ARM_FEATURE_AARCH64)) { 182 /* 64 bit CPUs always start in 64 bit mode */ 183 env->aarch64 = 1; 184#if defined(CONFIG_USER_ONLY) 185 env->pstate = PSTATE_MODE_EL0t; 186 /* Userspace expects access to DC ZVA, CTL_EL0 and the cache ops */ 187 env->cp15.sctlr_el[1] |= SCTLR_UCT | SCTLR_UCI | SCTLR_DZE; | 1/* 2 * QEMU ARM CPU 3 * 4 * Copyright (c) 2012 SUSE LINUX Products GmbH 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 --- 171 unchanged lines hidden (view full) --- 180 181 if (arm_feature(env, ARM_FEATURE_AARCH64)) { 182 /* 64 bit CPUs always start in 64 bit mode */ 183 env->aarch64 = 1; 184#if defined(CONFIG_USER_ONLY) 185 env->pstate = PSTATE_MODE_EL0t; 186 /* Userspace expects access to DC ZVA, CTL_EL0 and the cache ops */ 187 env->cp15.sctlr_el[1] |= SCTLR_UCT | SCTLR_UCI | SCTLR_DZE; |
188 /* Enable all PAC keys. */ 189 env->cp15.sctlr_el[1] |= (SCTLR_EnIA | SCTLR_EnIB | 190 SCTLR_EnDA | SCTLR_EnDB); |
|
188 /* Enable all PAC instructions */ 189 env->cp15.hcr_el2 |= HCR_API; 190 env->cp15.scr_el3 |= SCR_API; 191 /* and to the FP/Neon instructions */ 192 env->cp15.cpacr_el1 = deposit64(env->cp15.cpacr_el1, 20, 2, 3); 193 /* and to the SVE instructions */ 194 env->cp15.cpacr_el1 = deposit64(env->cp15.cpacr_el1, 16, 2, 3); 195 env->cp15.cptr_el[3] |= CPTR_EZ; --- 2049 unchanged lines hidden --- | 191 /* Enable all PAC instructions */ 192 env->cp15.hcr_el2 |= HCR_API; 193 env->cp15.scr_el3 |= SCR_API; 194 /* and to the FP/Neon instructions */ 195 env->cp15.cpacr_el1 = deposit64(env->cp15.cpacr_el1, 20, 2, 3); 196 /* and to the SVE instructions */ 197 env->cp15.cpacr_el1 = deposit64(env->cp15.cpacr_el1, 16, 2, 3); 198 env->cp15.cptr_el[3] |= CPTR_EZ; --- 2049 unchanged lines hidden --- |