cpu.c (3f2a357b95845ea0bf7463eff6661e43b97d1afc) cpu.c (750245ed7ce2a426a4eaf026f1af3a21fbdc19dc)
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

--- 1293 unchanged lines hidden (view full) ---

1302 }
1303 qemu_fprintf(f, "FPSCR: %08x\n", vfp_get_fpscr(env));
1304 if (cpu_isar_feature(aa32_mve, cpu)) {
1305 qemu_fprintf(f, "VPR: %08x\n", env->v7m.vpr);
1306 }
1307 }
1308}
1309
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

--- 1293 unchanged lines hidden (view full) ---

1302 }
1303 qemu_fprintf(f, "FPSCR: %08x\n", vfp_get_fpscr(env));
1304 if (cpu_isar_feature(aa32_mve, cpu)) {
1305 qemu_fprintf(f, "VPR: %08x\n", env->v7m.vpr);
1306 }
1307 }
1308}
1309
1310uint64_t arm_cpu_mp_affinity(int idx, uint8_t clustersz)
1310uint64_t arm_build_mp_affinity(int idx, uint8_t clustersz)
1311{
1312 uint32_t Aff1 = idx / clustersz;
1313 uint32_t Aff0 = idx % clustersz;
1314 return (Aff1 << ARM_AFF1_SHIFT) | Aff0;
1315}
1316
1317static void arm_cpu_initfn(Object *obj)
1318{

--- 789 unchanged lines hidden (view full) ---

2108 }
2109
2110 /* This cpu-id-to-MPIDR affinity is used only for TCG; KVM will override it.
2111 * We don't support setting cluster ID ([16..23]) (known as Aff2
2112 * in later ARM ARM versions), or any of the higher affinity level fields,
2113 * so these bits always RAZ.
2114 */
2115 if (cpu->mp_affinity == ARM64_AFFINITY_INVALID) {
1311{
1312 uint32_t Aff1 = idx / clustersz;
1313 uint32_t Aff0 = idx % clustersz;
1314 return (Aff1 << ARM_AFF1_SHIFT) | Aff0;
1315}
1316
1317static void arm_cpu_initfn(Object *obj)
1318{

--- 789 unchanged lines hidden (view full) ---

2108 }
2109
2110 /* This cpu-id-to-MPIDR affinity is used only for TCG; KVM will override it.
2111 * We don't support setting cluster ID ([16..23]) (known as Aff2
2112 * in later ARM ARM versions), or any of the higher affinity level fields,
2113 * so these bits always RAZ.
2114 */
2115 if (cpu->mp_affinity == ARM64_AFFINITY_INVALID) {
2116 cpu->mp_affinity = arm_cpu_mp_affinity(cs->cpu_index,
2117 ARM_DEFAULT_CPUS_PER_CLUSTER);
2116 cpu->mp_affinity = arm_build_mp_affinity(cs->cpu_index,
2117 ARM_DEFAULT_CPUS_PER_CLUSTER);
2118 }
2119
2120 if (cpu->reset_hivecs) {
2121 cpu->reset_sctlr |= (1 << 13);
2122 }
2123
2124 if (cpu->cfgend) {
2125 if (arm_feature(&cpu->env, ARM_FEATURE_V7)) {

--- 435 unchanged lines hidden ---
2118 }
2119
2120 if (cpu->reset_hivecs) {
2121 cpu->reset_sctlr |= (1 << 13);
2122 }
2123
2124 if (cpu->cfgend) {
2125 if (arm_feature(&cpu->env, ARM_FEATURE_V7)) {

--- 435 unchanged lines hidden ---