Re: [Qemu-devel] [PATCH v3 09/39] target/arm: Use env_cpu, env_archcpu

2019-05-09 Thread Alistair Francis
On Tue, May 7, 2019 at 5:16 PM Richard Henderson
 wrote:
>
> Combined uses of CPU(arm_env_get_cpu()) were failures to use
> the more proper, ENV_GET_CPU macro, now replaced by env_cpu.
>
> Reviewed-by: Peter Maydell 
> Signed-off-by: Richard Henderson 

Reviewed-by: Alistair Francis 

Alistair

> ---
>  target/arm/cpu.h  |   5 --
>  linux-user/aarch64/cpu_loop.c |   6 +-
>  linux-user/aarch64/signal.c   |   4 +-
>  linux-user/arm/cpu_loop.c |   2 +-
>  linux-user/syscall.c  |   8 +--
>  target/arm/arm-semi.c |   4 +-
>  target/arm/cpu64.c|   2 +-
>  target/arm/helper-a64.c   |   4 +-
>  target/arm/helper.c   | 120 +-
>  target/arm/op_helper.c|  21 +++---
>  target/arm/translate-a64.c|   2 +-
>  target/arm/translate.c|   2 +-
>  target/arm/vfp_helper.c   |   2 +-
>  13 files changed, 88 insertions(+), 94 deletions(-)
>
> diff --git a/target/arm/cpu.h b/target/arm/cpu.h
> index a633a233cc..c54c67fde4 100644
> --- a/target/arm/cpu.h
> +++ b/target/arm/cpu.h
> @@ -911,11 +911,6 @@ struct ARMCPU {
>  uint32_t sve_max_vq;
>  };
>
> -static inline ARMCPU *arm_env_get_cpu(CPUARMState *env)
> -{
> -return container_of(env, ARMCPU, env);
> -}
> -
>  void arm_cpu_post_init(Object *obj);
>
>  uint64_t arm_cpu_mp_affinity(int idx, uint8_t clustersz);
> diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c
> index d75fd9d3e2..97f355ee23 100644
> --- a/linux-user/aarch64/cpu_loop.c
> +++ b/linux-user/aarch64/cpu_loop.c
> @@ -72,7 +72,7 @@
>  /* AArch64 main loop */
>  void cpu_loop(CPUARMState *env)
>  {
> -CPUState *cs = CPU(arm_env_get_cpu(env));
> +CPUState *cs = env_cpu(env);
>  int trapnr;
>  abi_long ret;
>  target_siginfo_t info;
> @@ -167,8 +167,8 @@ void arm_init_pauth_key(ARMPACKey *key)
>
>  void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs)
>  {
> -ARMCPU *cpu = arm_env_get_cpu(env);
> -CPUState *cs = CPU(cpu);
> +ARMCPU *cpu = env_archcpu(env);
> +CPUState *cs = env_cpu(env);
>  TaskState *ts = cs->opaque;
>  struct image_info *info = ts->info;
>  int i;
> diff --git a/linux-user/aarch64/signal.c b/linux-user/aarch64/signal.c
> index f84a9cf28a..cd521ee42d 100644
> --- a/linux-user/aarch64/signal.c
> +++ b/linux-user/aarch64/signal.c
> @@ -314,7 +314,7 @@ static int target_restore_sigframe(CPUARMState *env,
>  break;
>
>  case TARGET_SVE_MAGIC:
> -if (cpu_isar_feature(aa64_sve, arm_env_get_cpu(env))) {
> +if (cpu_isar_feature(aa64_sve, env_archcpu(env))) {
>  vq = (env->vfp.zcr_el[1] & 0xf) + 1;
>  sve_size = QEMU_ALIGN_UP(TARGET_SVE_SIG_CONTEXT_SIZE(vq), 
> 16);
>  if (!sve && size == sve_size) {
> @@ -433,7 +433,7 @@ static void target_setup_frame(int usig, struct 
> target_sigaction *ka,
>);
>
>  /* SVE state needs saving only if it exists.  */
> -if (cpu_isar_feature(aa64_sve, arm_env_get_cpu(env))) {
> +if (cpu_isar_feature(aa64_sve, env_archcpu(env))) {
>  vq = (env->vfp.zcr_el[1] & 0xf) + 1;
>  sve_size = QEMU_ALIGN_UP(TARGET_SVE_SIG_CONTEXT_SIZE(vq), 16);
>  sve_ofs = alloc_sigframe_space(sve_size, );
> diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
> index b7e7a6323c..ece4cf335e 100644
> --- a/linux-user/arm/cpu_loop.c
> +++ b/linux-user/arm/cpu_loop.c
> @@ -206,7 +206,7 @@ do_kernel_trap(CPUARMState *env)
>
>  void cpu_loop(CPUARMState *env)
>  {
> -CPUState *cs = CPU(arm_env_get_cpu(env));
> +CPUState *cs = env_cpu(env);
>  int trapnr;
>  unsigned int n, insn;
>  target_siginfo_t info;
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 9f110a7581..eb7fd9a1bf 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -9683,10 +9683,10 @@ static abi_long do_syscall1(void *cpu_env, int num, 
> abi_long arg1,
>   * even though the current architectural maximum is VQ=16.
>   */
>  ret = -TARGET_EINVAL;
> -if (cpu_isar_feature(aa64_sve, arm_env_get_cpu(cpu_env))
> +if (cpu_isar_feature(aa64_sve, env_archcpu(cpu_env))
>  && arg2 >= 0 && arg2 <= 512 * 16 && !(arg2 & 15)) {
>  CPUARMState *env = cpu_env;
> -ARMCPU *cpu = arm_env_get_cpu(env);
> +ARMCPU *cpu = env_archcpu(env);
>  uint32_t vq, old_vq;
>
>  old_vq = (env->vfp.zcr_el[1] & 0xf) + 1;
> @@ -9703,7 +9703,7 @@ static abi_long do_syscall1(void *cpu_env, int num, 
> abi_long arg1,
>  case TARGET_PR_SVE_GET_VL:
>  ret = -TARGET_EINVAL;
>  {
> -ARMCPU *cpu = arm_env_get_cpu(cpu_env);
> +ARMCPU *cpu = env_archcpu(cpu_env);
>  if (cpu_isar_feature(aa64_sve, cpu)) {
> 

[Qemu-devel] [PATCH v3 09/39] target/arm: Use env_cpu, env_archcpu

2019-05-07 Thread Richard Henderson
Combined uses of CPU(arm_env_get_cpu()) were failures to use
the more proper, ENV_GET_CPU macro, now replaced by env_cpu.

Reviewed-by: Peter Maydell 
Signed-off-by: Richard Henderson 
---
 target/arm/cpu.h  |   5 --
 linux-user/aarch64/cpu_loop.c |   6 +-
 linux-user/aarch64/signal.c   |   4 +-
 linux-user/arm/cpu_loop.c |   2 +-
 linux-user/syscall.c  |   8 +--
 target/arm/arm-semi.c |   4 +-
 target/arm/cpu64.c|   2 +-
 target/arm/helper-a64.c   |   4 +-
 target/arm/helper.c   | 120 +-
 target/arm/op_helper.c|  21 +++---
 target/arm/translate-a64.c|   2 +-
 target/arm/translate.c|   2 +-
 target/arm/vfp_helper.c   |   2 +-
 13 files changed, 88 insertions(+), 94 deletions(-)

diff --git a/target/arm/cpu.h b/target/arm/cpu.h
index a633a233cc..c54c67fde4 100644
--- a/target/arm/cpu.h
+++ b/target/arm/cpu.h
@@ -911,11 +911,6 @@ struct ARMCPU {
 uint32_t sve_max_vq;
 };
 
-static inline ARMCPU *arm_env_get_cpu(CPUARMState *env)
-{
-return container_of(env, ARMCPU, env);
-}
-
 void arm_cpu_post_init(Object *obj);
 
 uint64_t arm_cpu_mp_affinity(int idx, uint8_t clustersz);
diff --git a/linux-user/aarch64/cpu_loop.c b/linux-user/aarch64/cpu_loop.c
index d75fd9d3e2..97f355ee23 100644
--- a/linux-user/aarch64/cpu_loop.c
+++ b/linux-user/aarch64/cpu_loop.c
@@ -72,7 +72,7 @@
 /* AArch64 main loop */
 void cpu_loop(CPUARMState *env)
 {
-CPUState *cs = CPU(arm_env_get_cpu(env));
+CPUState *cs = env_cpu(env);
 int trapnr;
 abi_long ret;
 target_siginfo_t info;
@@ -167,8 +167,8 @@ void arm_init_pauth_key(ARMPACKey *key)
 
 void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs)
 {
-ARMCPU *cpu = arm_env_get_cpu(env);
-CPUState *cs = CPU(cpu);
+ARMCPU *cpu = env_archcpu(env);
+CPUState *cs = env_cpu(env);
 TaskState *ts = cs->opaque;
 struct image_info *info = ts->info;
 int i;
diff --git a/linux-user/aarch64/signal.c b/linux-user/aarch64/signal.c
index f84a9cf28a..cd521ee42d 100644
--- a/linux-user/aarch64/signal.c
+++ b/linux-user/aarch64/signal.c
@@ -314,7 +314,7 @@ static int target_restore_sigframe(CPUARMState *env,
 break;
 
 case TARGET_SVE_MAGIC:
-if (cpu_isar_feature(aa64_sve, arm_env_get_cpu(env))) {
+if (cpu_isar_feature(aa64_sve, env_archcpu(env))) {
 vq = (env->vfp.zcr_el[1] & 0xf) + 1;
 sve_size = QEMU_ALIGN_UP(TARGET_SVE_SIG_CONTEXT_SIZE(vq), 16);
 if (!sve && size == sve_size) {
@@ -433,7 +433,7 @@ static void target_setup_frame(int usig, struct 
target_sigaction *ka,
   );
 
 /* SVE state needs saving only if it exists.  */
-if (cpu_isar_feature(aa64_sve, arm_env_get_cpu(env))) {
+if (cpu_isar_feature(aa64_sve, env_archcpu(env))) {
 vq = (env->vfp.zcr_el[1] & 0xf) + 1;
 sve_size = QEMU_ALIGN_UP(TARGET_SVE_SIG_CONTEXT_SIZE(vq), 16);
 sve_ofs = alloc_sigframe_space(sve_size, );
diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c
index b7e7a6323c..ece4cf335e 100644
--- a/linux-user/arm/cpu_loop.c
+++ b/linux-user/arm/cpu_loop.c
@@ -206,7 +206,7 @@ do_kernel_trap(CPUARMState *env)
 
 void cpu_loop(CPUARMState *env)
 {
-CPUState *cs = CPU(arm_env_get_cpu(env));
+CPUState *cs = env_cpu(env);
 int trapnr;
 unsigned int n, insn;
 target_siginfo_t info;
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 9f110a7581..eb7fd9a1bf 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9683,10 +9683,10 @@ static abi_long do_syscall1(void *cpu_env, int num, 
abi_long arg1,
  * even though the current architectural maximum is VQ=16.
  */
 ret = -TARGET_EINVAL;
-if (cpu_isar_feature(aa64_sve, arm_env_get_cpu(cpu_env))
+if (cpu_isar_feature(aa64_sve, env_archcpu(cpu_env))
 && arg2 >= 0 && arg2 <= 512 * 16 && !(arg2 & 15)) {
 CPUARMState *env = cpu_env;
-ARMCPU *cpu = arm_env_get_cpu(env);
+ARMCPU *cpu = env_archcpu(env);
 uint32_t vq, old_vq;
 
 old_vq = (env->vfp.zcr_el[1] & 0xf) + 1;
@@ -9703,7 +9703,7 @@ static abi_long do_syscall1(void *cpu_env, int num, 
abi_long arg1,
 case TARGET_PR_SVE_GET_VL:
 ret = -TARGET_EINVAL;
 {
-ARMCPU *cpu = arm_env_get_cpu(cpu_env);
+ARMCPU *cpu = env_archcpu(cpu_env);
 if (cpu_isar_feature(aa64_sve, cpu)) {
 ret = ((cpu->env.vfp.zcr_el[1] & 0xf) + 1) * 16;
 }
@@ -9712,7 +9712,7 @@ static abi_long do_syscall1(void *cpu_env, int num, 
abi_long arg1,
 case TARGET_PR_PAC_RESET_KEYS:
 {
 CPUARMState *env = cpu_env;
-ARMCPU *cpu = arm_env_get_cpu(env);
+