All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
@ 2015-05-25  6:22 Peter Crosthwaite
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu Peter Crosthwaite
                   ` (4 more replies)
  0 siblings, 5 replies; 34+ messages in thread
From: Peter Crosthwaite @ 2015-05-25  6:22 UTC (permalink / raw)
  To: qemu-devel, rth, afaerber; +Cc: Peter Crosthwaite

Hi Andreas, Richard and all,

I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
This has two advantages:

1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
and friends.
2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
don't need those patches where I reorder the env within the arch specific
CPUState. This allows continuing placement of arch specifics before the
env in the CPU container (which has TCG perf advantages).

There's a couple more after this pack to get the multi-arch thing going,
but due to point 1, I'm sending this ahead as I think it has standalone value.

Regards,
Peter

Peter Crosthwaite (4):
  translate-all: Change tb_flush env argument to cpu
  gdbserver: _fork: Change fn to accept cpu instead of env
  cpus: Change tcg_cpu_exec arg to cpu, not env
  cpus: Change exec_init arg to cpu, not env

 bsd-user/main.c             | 2 +-
 cpus.c                      | 7 +++----
 exec.c                      | 7 +++----
 gdbstub.c                   | 9 +++------
 include/exec/exec-all.h     | 4 ++--
 include/exec/gdbstub.h      | 2 +-
 linux-user/main.c           | 2 +-
 linux-user/signal.c         | 2 +-
 target-alpha/cpu.c          | 2 +-
 target-alpha/sys_helper.c   | 2 +-
 target-arm/cpu.c            | 2 +-
 target-cris/cpu.c           | 2 +-
 target-i386/cpu.c           | 2 +-
 target-i386/translate.c     | 2 +-
 target-lm32/cpu.c           | 2 +-
 target-m68k/cpu.c           | 2 +-
 target-microblaze/cpu.c     | 2 +-
 target-mips/cpu.c           | 2 +-
 target-moxie/cpu.c          | 2 +-
 target-openrisc/cpu.c       | 2 +-
 target-ppc/translate_init.c | 2 +-
 target-s390x/cpu.c          | 2 +-
 target-sh4/cpu.c            | 2 +-
 target-sparc/cpu.c          | 2 +-
 target-tricore/cpu.c        | 2 +-
 target-unicore32/cpu.c      | 2 +-
 target-xtensa/cpu.c         | 2 +-
 translate-all.c             | 6 ++----
 28 files changed, 36 insertions(+), 43 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu
  2015-05-25  6:22 [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Peter Crosthwaite
@ 2015-05-25  6:22 ` Peter Crosthwaite
  2015-05-25 20:27   ` Eduardo Habkost
  2015-06-05 14:43   ` Andreas Färber
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 2/4] gdbserver: _fork: Change fn to accept cpu instead of env Peter Crosthwaite
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 34+ messages in thread
From: Peter Crosthwaite @ 2015-05-25  6:22 UTC (permalink / raw)
  To: qemu-devel, rth, afaerber
  Cc: Paolo Bonzini, Riku Voipio, Eduardo Habkost, Peter Crosthwaite

All of the core-code usages of this API have the cpu pointer handy so
pass it in. There are only 3 architecture specific usages (2 of which
are commented out) which can just use ENV_GET_CPU locally to get the
cpu pointer. The reduces core code usage of the CPU env, which brings
us closer to common-obj'ing these core files.

Cc: Riku Voipio <riku.voipio@iki.fi>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
---
 exec.c                    | 3 +--
 gdbstub.c                 | 6 ++----
 include/exec/exec-all.h   | 2 +-
 linux-user/signal.c       | 2 +-
 target-alpha/sys_helper.c | 2 +-
 target-i386/translate.c   | 2 +-
 translate-all.c           | 6 ++----
 7 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/exec.c b/exec.c
index e19ab22..69bd49e 100644
--- a/exec.c
+++ b/exec.c
@@ -762,8 +762,7 @@ void cpu_single_step(CPUState *cpu, int enabled)
         } else {
             /* must flush all the translated code to avoid inconsistencies */
             /* XXX: only flush what is necessary */
-            CPUArchState *env = cpu->env_ptr;
-            tb_flush(env);
+            tb_flush(cpu);
         }
     }
 }
diff --git a/gdbstub.c b/gdbstub.c
index 8abcb8a..c1e9321 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1210,7 +1210,6 @@ void gdb_set_stop_cpu(CPUState *cpu)
 static void gdb_vm_state_change(void *opaque, int running, RunState state)
 {
     GDBState *s = gdbserver_state;
-    CPUArchState *env = s->c_cpu->env_ptr;
     CPUState *cpu = s->c_cpu;
     char buf[256];
     const char *type;
@@ -1245,7 +1244,7 @@ static void gdb_vm_state_change(void *opaque, int running, RunState state)
             cpu->watchpoint_hit = NULL;
             goto send_packet;
         }
-        tb_flush(env);
+        tb_flush(cpu);
         ret = GDB_SIGNAL_TRAP;
         break;
     case RUN_STATE_PAUSED:
@@ -1474,7 +1473,6 @@ gdb_queuesig (void)
 int
 gdb_handlesig(CPUState *cpu, int sig)
 {
-    CPUArchState *env = cpu->env_ptr;
     GDBState *s;
     char buf[256];
     int n;
@@ -1486,7 +1484,7 @@ gdb_handlesig(CPUState *cpu, int sig)
 
     /* disable single step if it was enabled */
     cpu_single_step(cpu, 0);
-    tb_flush(env);
+    tb_flush(cpu);
 
     if (sig != 0) {
         snprintf(buf, sizeof(buf), "S%02x", target_signal_to_gdb(sig));
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index b58cd47..304537f 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -218,7 +218,7 @@ static inline unsigned int tb_phys_hash_func(tb_page_addr_t pc)
 }
 
 void tb_free(TranslationBlock *tb);
-void tb_flush(CPUArchState *env);
+void tb_flush(CPUState *cpu);
 void tb_phys_invalidate(TranslationBlock *tb, tb_page_addr_t page_addr);
 
 #if defined(USE_DIRECT_JUMP)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 5bb399e..1833e75 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2348,7 +2348,7 @@ static void setup_frame(int sig, struct target_sigaction *ka,
 
 		/* Flush instruction space. */
 		//flush_sig_insns(current->mm, (unsigned long) &(sf->insns[0]));
-                //		tb_flush(env);
+                //		tb_flush(ENV_GET_CPU(env));
 	}
         unlock_user(sf, sf_addr, sizeof(struct target_signal_frame));
 	return;
diff --git a/target-alpha/sys_helper.c b/target-alpha/sys_helper.c
index ae2e174..302cc1f 100644
--- a/target-alpha/sys_helper.c
+++ b/target-alpha/sys_helper.c
@@ -74,7 +74,7 @@ void helper_tbis(CPUAlphaState *env, uint64_t p)
 
 void helper_tb_flush(CPUAlphaState *env)
 {
-    tb_flush(env);
+    tb_flush(ENV_GET_CPU(env));
 }
 
 void helper_halt(uint64_t restart)
diff --git a/target-i386/translate.c b/target-i386/translate.c
index 723e0cb..920aca4 100644
--- a/target-i386/translate.c
+++ b/target-i386/translate.c
@@ -6925,7 +6925,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
         gen_debug(s, pc_start - s->cs_base);
 #else
         /* start debug */
-        tb_flush(env);
+        tb_flush(ENV_GET_CPU(env));
         qemu_set_log(CPU_LOG_INT | CPU_LOG_TB_IN_ASM);
 #endif
         break;
diff --git a/translate-all.c b/translate-all.c
index 536008f..62042af 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -769,10 +769,8 @@ static void page_flush_tb(void)
 
 /* flush all the translation blocks */
 /* XXX: tb_flush is currently not thread safe */
-void tb_flush(CPUArchState *env1)
+void tb_flush(CPUState *cpu)
 {
-    CPUState *cpu = ENV_GET_CPU(env1);
-
 #if defined(DEBUG_FLUSH)
     printf("qemu: flush code_size=%ld nb_tbs=%d avg_tb_size=%ld\n",
            (unsigned long)(tcg_ctx.code_gen_ptr - tcg_ctx.code_gen_buffer),
@@ -1011,7 +1009,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu,
     tb = tb_alloc(pc);
     if (!tb) {
         /* flush must be done */
-        tb_flush(env);
+        tb_flush(cpu);
         /* cannot fail at this point */
         tb = tb_alloc(pc);
         /* Don't forget to invalidate previous TB info.  */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [Qemu-devel] [PATCH 2/4] gdbserver: _fork: Change fn to accept cpu instead of env
  2015-05-25  6:22 [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Peter Crosthwaite
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu Peter Crosthwaite
@ 2015-05-25  6:22 ` Peter Crosthwaite
  2015-06-05 14:44   ` Andreas Färber
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 3/4] cpus: Change tcg_cpu_exec arg to cpu, not env Peter Crosthwaite
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 34+ messages in thread
From: Peter Crosthwaite @ 2015-05-25  6:22 UTC (permalink / raw)
  To: qemu-devel, rth, afaerber; +Cc: Riku Voipio, Peter Crosthwaite

All callsites to this function navigate the cpu->env_ptr only for the
function to take the env ptr back to the original cpu ptr. Change the
function to just pass in the CPU pointer instead. Removes a core code
usage of ENV_GET_CPU (in gdbstub.c).

Cc: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
---
 bsd-user/main.c        | 2 +-
 gdbstub.c              | 3 +--
 include/exec/gdbstub.h | 2 +-
 linux-user/main.c      | 2 +-
 4 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/bsd-user/main.c b/bsd-user/main.c
index 5bfaf5c..1800b02 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -92,7 +92,7 @@ void fork_start(void)
 void fork_end(int child)
 {
     if (child) {
-        gdbserver_fork((CPUArchState *)thread_cpu->env_ptr);
+        gdbserver_fork(thread_cpu);
     }
 }
 
diff --git a/gdbstub.c b/gdbstub.c
index c1e9321..d37943a 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -1613,9 +1613,8 @@ int gdbserver_start(int port)
 }
 
 /* Disable gdb stub for child processes.  */
-void gdbserver_fork(CPUArchState *env)
+void gdbserver_fork(CPUState *cpu)
 {
-    CPUState *cpu = ENV_GET_CPU(env);
     GDBState *s = gdbserver_state;
 
     if (gdbserver_fd < 0 || s->fd < 0) {
diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index c633248..ab7ac33 100644
--- a/include/exec/gdbstub.h
+++ b/include/exec/gdbstub.h
@@ -22,7 +22,7 @@ void gdb_exit(CPUArchState *, int);
 int gdb_queuesig (void);
 int gdb_handlesig(CPUState *, int);
 void gdb_signalled(CPUArchState *, int);
-void gdbserver_fork(CPUArchState *);
+void gdbserver_fork(CPUState *);
 #endif
 /* Get or set a register.  Returns the size of the register.  */
 typedef int (*gdb_reg_cb)(CPUArchState *env, uint8_t *buf, int reg);
diff --git a/linux-user/main.c b/linux-user/main.c
index 3f32db0..48eff88 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -130,7 +130,7 @@ void fork_end(int child)
         pthread_cond_init(&exclusive_cond, NULL);
         pthread_cond_init(&exclusive_resume, NULL);
         pthread_mutex_init(&tcg_ctx.tb_ctx.tb_lock, NULL);
-        gdbserver_fork((CPUArchState *)thread_cpu->env_ptr);
+        gdbserver_fork(thread_cpu);
     } else {
         pthread_mutex_unlock(&exclusive_lock);
         pthread_mutex_unlock(&tcg_ctx.tb_ctx.tb_lock);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [Qemu-devel] [PATCH 3/4] cpus: Change tcg_cpu_exec arg to cpu, not env
  2015-05-25  6:22 [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Peter Crosthwaite
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu Peter Crosthwaite
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 2/4] gdbserver: _fork: Change fn to accept cpu instead of env Peter Crosthwaite
@ 2015-05-25  6:22 ` Peter Crosthwaite
  2015-06-05 14:48   ` Andreas Färber
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 4/4] cpus: Change exec_init " Peter Crosthwaite
  2015-05-25 13:08 ` [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Paolo Bonzini
  4 siblings, 1 reply; 34+ messages in thread
From: Peter Crosthwaite @ 2015-05-25  6:22 UTC (permalink / raw)
  To: qemu-devel, rth, afaerber; +Cc: Peter Crosthwaite

The sole caller of this function navigates the cpu->env_ptr only for
this function to take it back the cpu pointer straight away. Pass in
cpu pointer instead and grab the env pointer locally in the function.
Removes a core code usage of ENV_GET_CPU.

Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
---
 cpus.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/cpus.c b/cpus.c
index de6469f..1b8f05a 100644
--- a/cpus.c
+++ b/cpus.c
@@ -1314,9 +1314,9 @@ int vm_stop_force_state(RunState state)
     }
 }
 
-static int tcg_cpu_exec(CPUArchState *env)
+static int tcg_cpu_exec(CPUState *cpu)
 {
-    CPUState *cpu = ENV_GET_CPU(env);
+    CPUArchState *env = cpu->env_ptr;
     int ret;
 #ifdef CONFIG_PROFILER
     int64_t ti;
@@ -1378,13 +1378,12 @@ static void tcg_exec_all(void)
     }
     for (; next_cpu != NULL && !exit_request; next_cpu = CPU_NEXT(next_cpu)) {
         CPUState *cpu = next_cpu;
-        CPUArchState *env = cpu->env_ptr;
 
         qemu_clock_enable(QEMU_CLOCK_VIRTUAL,
                           (cpu->singlestep_enabled & SSTEP_NOTIMER) == 0);
 
         if (cpu_can_run(cpu)) {
-            r = tcg_cpu_exec(env);
+            r = tcg_cpu_exec(cpu);
             if (r == EXCP_DEBUG) {
                 cpu_handle_guest_debug(cpu);
                 break;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [Qemu-devel] [PATCH 4/4] cpus: Change exec_init arg to cpu, not env
  2015-05-25  6:22 [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Peter Crosthwaite
                   ` (2 preceding siblings ...)
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 3/4] cpus: Change tcg_cpu_exec arg to cpu, not env Peter Crosthwaite
@ 2015-05-25  6:22 ` Peter Crosthwaite
  2015-05-25 20:54   ` Eduardo Habkost
  2015-06-05 14:51   ` Andreas Färber
  2015-05-25 13:08 ` [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Paolo Bonzini
  4 siblings, 2 replies; 34+ messages in thread
From: Peter Crosthwaite @ 2015-05-25  6:22 UTC (permalink / raw)
  To: qemu-devel, rth, afaerber
  Cc: Peter Maydell, Eduardo Habkost, Peter Crosthwaite,
	Bastian Koppelmann, Anthony Green, Mark Cave-Ayland,
	Alexander Graf, Blue Swirl, Max Filippov, Michael Walle,
	Edgar E. Iglesias, Paolo Bonzini, Guan Xuetao, Leon Alrae,
	Aurelien Jarno, Jia Liu

The callers (most of them in target-foo/cpu.c) to this function all
have the cpu pointer handy. Just pass it to avoid an ENV_GET_CPU from
core code (in exec.c).

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: "Andreas Färber" <afaerber@suse.de>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Michael Walle <michael@walle.cc>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Leon Alrae <leon.alrae@imgtec.com>
Cc: Anthony Green <green@moxielogic.com>
Cc: Jia Liu <proljc@gmail.com>
Cc: Alexander Graf <agraf@suse.de>
Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
---
 exec.c                      | 4 ++--
 include/exec/exec-all.h     | 2 +-
 target-alpha/cpu.c          | 2 +-
 target-arm/cpu.c            | 2 +-
 target-cris/cpu.c           | 2 +-
 target-i386/cpu.c           | 2 +-
 target-lm32/cpu.c           | 2 +-
 target-m68k/cpu.c           | 2 +-
 target-microblaze/cpu.c     | 2 +-
 target-mips/cpu.c           | 2 +-
 target-moxie/cpu.c          | 2 +-
 target-openrisc/cpu.c       | 2 +-
 target-ppc/translate_init.c | 2 +-
 target-s390x/cpu.c          | 2 +-
 target-sh4/cpu.c            | 2 +-
 target-sparc/cpu.c          | 2 +-
 target-tricore/cpu.c        | 2 +-
 target-unicore32/cpu.c      | 2 +-
 target-xtensa/cpu.c         | 2 +-
 19 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/exec.c b/exec.c
index 69bd49e..0cb54f7 100644
--- a/exec.c
+++ b/exec.c
@@ -518,9 +518,8 @@ void tcg_cpu_address_space_init(CPUState *cpu, AddressSpace *as)
 }
 #endif
 
-void cpu_exec_init(CPUArchState *env)
+void cpu_exec_init(CPUState *cpu)
 {
-    CPUState *cpu = ENV_GET_CPU(env);
     CPUClass *cc = CPU_GET_CLASS(cpu);
     CPUState *some_cpu;
     int cpu_index;
@@ -549,6 +548,7 @@ void cpu_exec_init(CPUArchState *env)
         vmstate_register(NULL, cpu_index, &vmstate_cpu_common, cpu);
     }
 #if defined(CPU_SAVE_VERSION) && !defined(CONFIG_USER_ONLY)
+    CPUArchState *env = cpu->env_ptr;
     register_savevm(NULL, "cpu", cpu_index, CPU_SAVE_VERSION,
                     cpu_save, cpu_load, env);
     assert(cc->vmsd == NULL);
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index 304537f..078f517 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -88,7 +88,7 @@ void QEMU_NORETURN cpu_io_recompile(CPUState *cpu, uintptr_t retaddr);
 TranslationBlock *tb_gen_code(CPUState *cpu,
                               target_ulong pc, target_ulong cs_base, int flags,
                               int cflags);
-void cpu_exec_init(CPUArchState *env);
+void cpu_exec_init(CPUState *env);
 void QEMU_NORETURN cpu_loop_exit(CPUState *cpu);
 int page_unprotect(target_ulong address, uintptr_t pc, void *puc);
 void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
diff --git a/target-alpha/cpu.c b/target-alpha/cpu.c
index a98b7d8..9ffef3c 100644
--- a/target-alpha/cpu.c
+++ b/target-alpha/cpu.c
@@ -257,7 +257,7 @@ static void alpha_cpu_initfn(Object *obj)
     CPUAlphaState *env = &cpu->env;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
     tlb_flush(cs, 1);
 
     alpha_translate_init();
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index e39586b..f135529 100644
--- a/target-arm/cpu.c
+++ b/target-arm/cpu.c
@@ -402,7 +402,7 @@ static void arm_cpu_initfn(Object *obj)
     static bool inited;
 
     cs->env_ptr = &cpu->env;
-    cpu_exec_init(&cpu->env);
+    cpu_exec_init(cs);
     cpu->cp_regs = g_hash_table_new_full(g_int_hash, g_int_equal,
                                          g_free, g_free);
 
diff --git a/target-cris/cpu.c b/target-cris/cpu.c
index d555ea0..50fbc9e 100644
--- a/target-cris/cpu.c
+++ b/target-cris/cpu.c
@@ -184,7 +184,7 @@ static void cris_cpu_initfn(Object *obj)
     static bool tcg_initialized;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     env->pregs[PR_VR] = ccc->vr;
 
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 3305e09..14e6546 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2850,7 +2850,7 @@ static void x86_cpu_initfn(Object *obj)
     static int inited;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     object_property_add(obj, "family", "int",
                         x86_cpuid_version_get_family,
diff --git a/target-lm32/cpu.c b/target-lm32/cpu.c
index f8081f5..44cb4a7 100644
--- a/target-lm32/cpu.c
+++ b/target-lm32/cpu.c
@@ -151,7 +151,7 @@ static void lm32_cpu_initfn(Object *obj)
     static bool tcg_initialized;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     env->flags = 0;
 
diff --git a/target-m68k/cpu.c b/target-m68k/cpu.c
index 4cfb725..a33aa8a 100644
--- a/target-m68k/cpu.c
+++ b/target-m68k/cpu.c
@@ -168,7 +168,7 @@ static void m68k_cpu_initfn(Object *obj)
     static bool inited;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     if (tcg_enabled() && !inited) {
         inited = true;
diff --git a/target-microblaze/cpu.c b/target-microblaze/cpu.c
index 89b8363..563ad46 100644
--- a/target-microblaze/cpu.c
+++ b/target-microblaze/cpu.c
@@ -136,7 +136,7 @@ static void mb_cpu_initfn(Object *obj)
     static bool tcg_initialized;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     set_float_rounding_mode(float_round_nearest_even, &env->fp_status);
 
diff --git a/target-mips/cpu.c b/target-mips/cpu.c
index 958c999..2e29bd7 100644
--- a/target-mips/cpu.c
+++ b/target-mips/cpu.c
@@ -115,7 +115,7 @@ static void mips_cpu_initfn(Object *obj)
     CPUMIPSState *env = &cpu->env;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     if (tcg_enabled()) {
         mips_tcg_init();
diff --git a/target-moxie/cpu.c b/target-moxie/cpu.c
index 47b617f..de6e21a 100644
--- a/target-moxie/cpu.c
+++ b/target-moxie/cpu.c
@@ -66,7 +66,7 @@ static void moxie_cpu_initfn(Object *obj)
     static int inited;
 
     cs->env_ptr = &cpu->env;
-    cpu_exec_init(&cpu->env);
+    cpu_exec_init(cs);
 
     if (tcg_enabled() && !inited) {
         inited = 1;
diff --git a/target-openrisc/cpu.c b/target-openrisc/cpu.c
index 39bedc1..aa0e333 100644
--- a/target-openrisc/cpu.c
+++ b/target-openrisc/cpu.c
@@ -92,7 +92,7 @@ static void openrisc_cpu_initfn(Object *obj)
     static int inited;
 
     cs->env_ptr = &cpu->env;
-    cpu_exec_init(&cpu->env);
+    cpu_exec_init(cs);
 
 #ifndef CONFIG_USER_ONLY
     cpu_openrisc_mmu_init(cpu);
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index d74f4f0..e519cc0 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -9633,7 +9633,7 @@ static void ppc_cpu_initfn(Object *obj)
     CPUPPCState *env = &cpu->env;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
     cpu->cpu_dt_id = cs->cpu_index;
 
     env->msr_mask = pcc->msr_mask;
diff --git a/target-s390x/cpu.c b/target-s390x/cpu.c
index d2f9836..856a684 100644
--- a/target-s390x/cpu.c
+++ b/target-s390x/cpu.c
@@ -187,7 +187,7 @@ static void s390_cpu_initfn(Object *obj)
 #endif
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 #if !defined(CONFIG_USER_ONLY)
     qemu_register_reset(s390_cpu_machine_reset_cb, cpu);
     qemu_get_timedate(&tm, 0);
diff --git a/target-sh4/cpu.c b/target-sh4/cpu.c
index d187a2b..f781e18 100644
--- a/target-sh4/cpu.c
+++ b/target-sh4/cpu.c
@@ -247,7 +247,7 @@ static void superh_cpu_initfn(Object *obj)
     CPUSH4State *env = &cpu->env;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     env->movcal_backup_tail = &(env->movcal_backup);
 
diff --git a/target-sparc/cpu.c b/target-sparc/cpu.c
index a952097..ebf5af7 100644
--- a/target-sparc/cpu.c
+++ b/target-sparc/cpu.c
@@ -802,7 +802,7 @@ static void sparc_cpu_initfn(Object *obj)
     CPUSPARCState *env = &cpu->env;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     if (tcg_enabled()) {
         gen_intermediate_code_init(env);
diff --git a/target-tricore/cpu.c b/target-tricore/cpu.c
index b3e5512..425525f 100644
--- a/target-tricore/cpu.c
+++ b/target-tricore/cpu.c
@@ -92,7 +92,7 @@ static void tricore_cpu_initfn(Object *obj)
     CPUTriCoreState *env = &cpu->env;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     if (tcg_enabled()) {
         tricore_tcg_init();
diff --git a/target-unicore32/cpu.c b/target-unicore32/cpu.c
index 5b32987..76d680c 100644
--- a/target-unicore32/cpu.c
+++ b/target-unicore32/cpu.c
@@ -111,7 +111,7 @@ static void uc32_cpu_initfn(Object *obj)
     static bool inited;
 
     cs->env_ptr = env;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
 #ifdef CONFIG_USER_ONLY
     env->uncached_asr = ASR_MODE_USER;
diff --git a/target-xtensa/cpu.c b/target-xtensa/cpu.c
index 2b75678..83a86d3 100644
--- a/target-xtensa/cpu.c
+++ b/target-xtensa/cpu.c
@@ -114,7 +114,7 @@ static void xtensa_cpu_initfn(Object *obj)
 
     cs->env_ptr = env;
     env->config = xcc->config;
-    cpu_exec_init(env);
+    cpu_exec_init(cs);
 
     if (tcg_enabled() && !tcg_inited) {
         tcg_inited = true;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-25  6:22 [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Peter Crosthwaite
                   ` (3 preceding siblings ...)
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 4/4] cpus: Change exec_init " Peter Crosthwaite
@ 2015-05-25 13:08 ` Paolo Bonzini
  2015-05-26  6:00   ` Peter Crosthwaite
  2015-05-26  6:10   ` Andreas Färber
  4 siblings, 2 replies; 34+ messages in thread
From: Paolo Bonzini @ 2015-05-25 13:08 UTC (permalink / raw)
  To: Peter Crosthwaite, qemu-devel, rth, afaerber; +Cc: Peter Crosthwaite



On 25/05/2015 08:22, Peter Crosthwaite wrote:
> Hi Andreas, Richard and all,
> 
> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
> This has two advantages:
> 
> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
> and friends.
> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
> don't need those patches where I reorder the env within the arch specific
> CPUState. This allows continuing placement of arch specifics before the
> env in the CPU container (which has TCG perf advantages).
> 
> There's a couple more after this pack to get the multi-arch thing going,
> but due to point 1, I'm sending this ahead as I think it has standalone value.
> 
> Regards,
> Peter
> 
> Peter Crosthwaite (4):
>   translate-all: Change tb_flush env argument to cpu
>   gdbserver: _fork: Change fn to accept cpu instead of env
>   cpus: Change tcg_cpu_exec arg to cpu, not env
>   cpus: Change exec_init arg to cpu, not env
> 
>  bsd-user/main.c             | 2 +-
>  cpus.c                      | 7 +++----
>  exec.c                      | 7 +++----
>  gdbstub.c                   | 9 +++------
>  include/exec/exec-all.h     | 4 ++--
>  include/exec/gdbstub.h      | 2 +-
>  linux-user/main.c           | 2 +-
>  linux-user/signal.c         | 2 +-
>  target-alpha/cpu.c          | 2 +-
>  target-alpha/sys_helper.c   | 2 +-
>  target-arm/cpu.c            | 2 +-
>  target-cris/cpu.c           | 2 +-
>  target-i386/cpu.c           | 2 +-
>  target-i386/translate.c     | 2 +-
>  target-lm32/cpu.c           | 2 +-
>  target-m68k/cpu.c           | 2 +-
>  target-microblaze/cpu.c     | 2 +-
>  target-mips/cpu.c           | 2 +-
>  target-moxie/cpu.c          | 2 +-
>  target-openrisc/cpu.c       | 2 +-
>  target-ppc/translate_init.c | 2 +-
>  target-s390x/cpu.c          | 2 +-
>  target-sh4/cpu.c            | 2 +-
>  target-sparc/cpu.c          | 2 +-
>  target-tricore/cpu.c        | 2 +-
>  target-unicore32/cpu.c      | 2 +-
>  target-xtensa/cpu.c         | 2 +-
>  translate-all.c             | 6 ++----
>  28 files changed, 36 insertions(+), 43 deletions(-)
> 

Thanks, queued for 2.4.

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu Peter Crosthwaite
@ 2015-05-25 20:27   ` Eduardo Habkost
  2015-06-05 14:43   ` Andreas Färber
  1 sibling, 0 replies; 34+ messages in thread
From: Eduardo Habkost @ 2015-05-25 20:27 UTC (permalink / raw)
  To: Peter Crosthwaite
  Cc: Peter Crosthwaite, Riku Voipio, qemu-devel, Paolo Bonzini, afaerber, rth

On Sun, May 24, 2015 at 11:22:22PM -0700, Peter Crosthwaite wrote:
> All of the core-code usages of this API have the cpu pointer handy so
> pass it in. There are only 3 architecture specific usages (2 of which
> are commented out) which can just use ENV_GET_CPU locally to get the
> cpu pointer. The reduces core code usage of the CPU env, which brings
> us closer to common-obj'ing these core files.
> 
> Cc: Riku Voipio <riku.voipio@iki.fi>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Eduardo Habkost <ehabkost@redhat.com>

-- 
Eduardo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] cpus: Change exec_init arg to cpu, not env
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 4/4] cpus: Change exec_init " Peter Crosthwaite
@ 2015-05-25 20:54   ` Eduardo Habkost
  2015-06-05 14:51   ` Andreas Färber
  1 sibling, 0 replies; 34+ messages in thread
From: Eduardo Habkost @ 2015-05-25 20:54 UTC (permalink / raw)
  To: Peter Crosthwaite
  Cc: Peter Maydell, Anthony Green, Mark Cave-Ayland, qemu-devel,
	Blue Swirl, Max Filippov, Edgar E. Iglesias, Guan Xuetao,
	Jia Liu, Alexander Graf, Bharata B Rao, rth, Leon Alrae,
	zhugh.fnst, Paolo Bonzini, David Gibson, Peter Crosthwaite,
	Bastian Koppelmann, Michael Walle, imammedo, afaerber,
	Aurelien Jarno

On Sun, May 24, 2015 at 11:22:25PM -0700, Peter Crosthwaite wrote:
> The callers (most of them in target-foo/cpu.c) to this function all
> have the cpu pointer handy. Just pass it to avoid an ENV_GET_CPU from
> core code (in exec.c).
> 
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Richard Henderson <rth@twiddle.net>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> Cc: "Andreas Färber" <afaerber@suse.de>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Cc: Leon Alrae <leon.alrae@imgtec.com>
> Cc: Anthony Green <green@moxielogic.com>
> Cc: Jia Liu <proljc@gmail.com>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
> Cc: Max Filippov <jcmvbkbc@gmail.com>
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>

This conflicts with this series from Bharata B Rao:
  Subject: [PATCH v3 0/3] Bitmap based CPU enumeration

Can you rebase on top of that series?

-- 
Eduardo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-25 13:08 ` [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Paolo Bonzini
@ 2015-05-26  6:00   ` Peter Crosthwaite
  2015-05-26  8:05     ` Paolo Bonzini
  2015-05-26  6:10   ` Andreas Färber
  1 sibling, 1 reply; 34+ messages in thread
From: Peter Crosthwaite @ 2015-05-26  6:00 UTC (permalink / raw)
  To: Paolo Bonzini, Eduardo Habkost
  Cc: Peter Crosthwaite, Peter Crosthwaite,
	qemu-devel@nongnu.org Developers, Andreas Färber,
	Richard Henderson

On Mon, May 25, 2015 at 6:08 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
> On 25/05/2015 08:22, Peter Crosthwaite wrote:
>> Hi Andreas, Richard and all,
>>
>> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
>> This has two advantages:
>>
>> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
>> and friends.
>> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
>> don't need those patches where I reorder the env within the arch specific
>> CPUState. This allows continuing placement of arch specifics before the
>> env in the CPU container (which has TCG perf advantages).
>>
>> There's a couple more after this pack to get the multi-arch thing going,
>> but due to point 1, I'm sending this ahead as I think it has standalone value.
>>
>> Regards,
>> Peter
>>
>> Peter Crosthwaite (4):
>>   translate-all: Change tb_flush env argument to cpu
>>   gdbserver: _fork: Change fn to accept cpu instead of env
>>   cpus: Change tcg_cpu_exec arg to cpu, not env
>>   cpus: Change exec_init arg to cpu, not env
>>
>>  bsd-user/main.c             | 2 +-
>>  cpus.c                      | 7 +++----
>>  exec.c                      | 7 +++----
>>  gdbstub.c                   | 9 +++------
>>  include/exec/exec-all.h     | 4 ++--
>>  include/exec/gdbstub.h      | 2 +-
>>  linux-user/main.c           | 2 +-
>>  linux-user/signal.c         | 2 +-
>>  target-alpha/cpu.c          | 2 +-
>>  target-alpha/sys_helper.c   | 2 +-
>>  target-arm/cpu.c            | 2 +-
>>  target-cris/cpu.c           | 2 +-
>>  target-i386/cpu.c           | 2 +-
>>  target-i386/translate.c     | 2 +-
>>  target-lm32/cpu.c           | 2 +-
>>  target-m68k/cpu.c           | 2 +-
>>  target-microblaze/cpu.c     | 2 +-
>>  target-mips/cpu.c           | 2 +-
>>  target-moxie/cpu.c          | 2 +-
>>  target-openrisc/cpu.c       | 2 +-
>>  target-ppc/translate_init.c | 2 +-
>>  target-s390x/cpu.c          | 2 +-
>>  target-sh4/cpu.c            | 2 +-
>>  target-sparc/cpu.c          | 2 +-
>>  target-tricore/cpu.c        | 2 +-
>>  target-unicore32/cpu.c      | 2 +-
>>  target-xtensa/cpu.c         | 2 +-
>>  translate-all.c             | 6 ++----
>>  28 files changed, 36 insertions(+), 43 deletions(-)
>>
>
> Thanks, queued for 2.4.
>

Eduardo flagged a conflict with on-list work. Do you want me to handle it?

Regards,
Peter

> Paolo
>

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-25 13:08 ` [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Paolo Bonzini
  2015-05-26  6:00   ` Peter Crosthwaite
@ 2015-05-26  6:10   ` Andreas Färber
  2015-05-26  8:05     ` Paolo Bonzini
  1 sibling, 1 reply; 34+ messages in thread
From: Andreas Färber @ 2015-05-26  6:10 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Peter Crosthwaite, Peter Crosthwaite, qemu-devel, rth

Am 25.05.2015 um 15:08 schrieb Paolo Bonzini:
> On 25/05/2015 08:22, Peter Crosthwaite wrote:
>> Hi Andreas, Richard and all,
>>
>> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
>> This has two advantages:
>>
>> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
>> and friends.
>> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
>> don't need those patches where I reorder the env within the arch specific
>> CPUState. This allows continuing placement of arch specifics before the
>> env in the CPU container (which has TCG perf advantages).
>>
>> There's a couple more after this pack to get the multi-arch thing going,
>> but due to point 1, I'm sending this ahead as I think it has standalone value.
>>
>> Regards,
>> Peter
>>
>> Peter Crosthwaite (4):
>>   translate-all: Change tb_flush env argument to cpu
>>   gdbserver: _fork: Change fn to accept cpu instead of env
>>   cpus: Change tcg_cpu_exec arg to cpu, not env
>>   cpus: Change exec_init arg to cpu, not env
[...]
> 
> Thanks, queued for 2.4.

Apparently after qom-next you also want to take over qom-cpu, once again
without pinging me first. Then make it official in MAINTAINERS and
really review the patches line by line rather than just queuing them
somewhere (again you didn't bother to state where). It can't go on like
this and I'll be on vacation soon anyway.

Do you want to take over PReP too while you're at it?

Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  6:00   ` Peter Crosthwaite
@ 2015-05-26  8:05     ` Paolo Bonzini
  2015-05-29  5:28       ` Peter Crosthwaite
  0 siblings, 1 reply; 34+ messages in thread
From: Paolo Bonzini @ 2015-05-26  8:05 UTC (permalink / raw)
  To: Peter Crosthwaite, Eduardo Habkost
  Cc: Peter Crosthwaite, Richard Henderson,
	qemu-devel@nongnu.org Developers, Andreas Färber,
	Peter Crosthwaite



On 26/05/2015 08:00, Peter Crosthwaite wrote:
> Eduardo flagged a conflict with on-list work. Do you want me to handle it?

I don't know, but I'll dequeue these patches.

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  6:10   ` Andreas Färber
@ 2015-05-26  8:05     ` Paolo Bonzini
  2015-05-26  8:20       ` Andreas Färber
  0 siblings, 1 reply; 34+ messages in thread
From: Paolo Bonzini @ 2015-05-26  8:05 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Peter Maydell, Peter Crosthwaite, rth, qemu-devel, Peter Crosthwaite



On 26/05/2015 08:10, Andreas Färber wrote:
> Am 25.05.2015 um 15:08 schrieb Paolo Bonzini:
>> On 25/05/2015 08:22, Peter Crosthwaite wrote:
>>> Hi Andreas, Richard and all,
>>>
>>> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
>>> This has two advantages:
>>>
>>> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
>>> and friends.
>>> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
>>> don't need those patches where I reorder the env within the arch specific
>>> CPUState. This allows continuing placement of arch specifics before the
>>> env in the CPU container (which has TCG perf advantages).
>>>
>>> There's a couple more after this pack to get the multi-arch thing going,
>>> but due to point 1, I'm sending this ahead as I think it has standalone value.
>>>
>>> Regards,
>>> Peter
>>>
>>> Peter Crosthwaite (4):
>>>   translate-all: Change tb_flush env argument to cpu
>>>   gdbserver: _fork: Change fn to accept cpu instead of env
>>>   cpus: Change tcg_cpu_exec arg to cpu, not env
>>>   cpus: Change exec_init arg to cpu, not env
> [...]
>>
>> Thanks, queued for 2.4.
> 
> Apparently after qom-next you also want to take over qom-cpu, once again
> without pinging me first.

Uhm...

Main loop
M: Paolo Bonzini <pbonzini@redhat.com>
S: Maintained
F: cpus.c
F: main-loop.c
F: qemu-timer.c
F: vl.c

translate-all.c is "Odd fixes" with no specific maintainer, and
gdbserver.c is not in MAINTAINERS altogether.

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:05     ` Paolo Bonzini
@ 2015-05-26  8:20       ` Andreas Färber
  2015-05-26  8:25         ` Paolo Bonzini
  0 siblings, 1 reply; 34+ messages in thread
From: Andreas Färber @ 2015-05-26  8:20 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Peter Crosthwaite, rth, qemu-devel, Peter Crosthwaite

Am 26.05.2015 um 10:05 schrieb Paolo Bonzini:
> On 26/05/2015 08:10, Andreas Färber wrote:
>> Am 25.05.2015 um 15:08 schrieb Paolo Bonzini:
>>> On 25/05/2015 08:22, Peter Crosthwaite wrote:
>>>> Hi Andreas, Richard and all,
>>>>
>>>> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
>>>> This has two advantages:
>>>>
>>>> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
>>>> and friends.
>>>> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
>>>> don't need those patches where I reorder the env within the arch specific
>>>> CPUState. This allows continuing placement of arch specifics before the
>>>> env in the CPU container (which has TCG perf advantages).
>>>>
>>>> There's a couple more after this pack to get the multi-arch thing going,
>>>> but due to point 1, I'm sending this ahead as I think it has standalone value.
>>>>
>>>> Regards,
>>>> Peter
>>>>
>>>> Peter Crosthwaite (4):
>>>>   translate-all: Change tb_flush env argument to cpu
>>>>   gdbserver: _fork: Change fn to accept cpu instead of env
>>>>   cpus: Change tcg_cpu_exec arg to cpu, not env
>>>>   cpus: Change exec_init arg to cpu, not env
>> [...]
>>>
>>> Thanks, queued for 2.4.
>>
>> Apparently after qom-next you also want to take over qom-cpu, once again
>> without pinging me first.
> 
> Uhm...
> 
> Main loop
> M: Paolo Bonzini <pbonzini@redhat.com>
> S: Maintained
> F: cpus.c
> F: main-loop.c
> F: qemu-timer.c
> F: vl.c
> 
> translate-all.c is "Odd fixes" with no specific maintainer, and
> gdbserver.c is not in MAINTAINERS altogether.

ENV_GET_CPU() is my QOM CPU macro. You picked the patchset up just hours
after it arrived on the list, on a holiday, without giving me a chance
to review. It's not about which tree it goes through, it's about you not
asking first - which I reminded you of just days ago, so this appears
deliberate.

And as you can see above, the cover letter was addressed to Richard and
me, so we should get a chance to respond a) with change requests and b)
with Reviewed-bys or Acked-bys that actually get put on the patch and
not repeatedly ignored like on your last pull.

Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:20       ` Andreas Färber
@ 2015-05-26  8:25         ` Paolo Bonzini
  2015-05-26  8:31           ` Andreas Färber
  0 siblings, 1 reply; 34+ messages in thread
From: Paolo Bonzini @ 2015-05-26  8:25 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Peter Maydell, Peter Crosthwaite, rth, qemu-devel, Peter Crosthwaite



On 26/05/2015 10:20, Andreas Färber wrote:
> Am 26.05.2015 um 10:05 schrieb Paolo Bonzini:
>> On 26/05/2015 08:10, Andreas Färber wrote:
>>> Am 25.05.2015 um 15:08 schrieb Paolo Bonzini:
>>>> On 25/05/2015 08:22, Peter Crosthwaite wrote:
>>>>> Hi Andreas, Richard and all,
>>>>>
>>>>> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
>>>>> This has two advantages:
>>>>>
>>>>> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
>>>>> and friends.
>>>>> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
>>>>> don't need those patches where I reorder the env within the arch specific
>>>>> CPUState. This allows continuing placement of arch specifics before the
>>>>> env in the CPU container (which has TCG perf advantages).
>>>>>
>>>>> There's a couple more after this pack to get the multi-arch thing going,
>>>>> but due to point 1, I'm sending this ahead as I think it has standalone value.
>>>>>
>>>>> Regards,
>>>>> Peter
>>>>>
>>>>> Peter Crosthwaite (4):
>>>>>   translate-all: Change tb_flush env argument to cpu
>>>>>   gdbserver: _fork: Change fn to accept cpu instead of env
>>>>>   cpus: Change tcg_cpu_exec arg to cpu, not env
>>>>>   cpus: Change exec_init arg to cpu, not env
>>> [...]
>>>>
>>>> Thanks, queued for 2.4.
>>>
>>> Apparently after qom-next you also want to take over qom-cpu, once again
>>> without pinging me first.
>>
>> Uhm...
>>
>> Main loop
>> M: Paolo Bonzini <pbonzini@redhat.com>
>> S: Maintained
>> F: cpus.c
>> F: main-loop.c
>> F: qemu-timer.c
>> F: vl.c
>>
>> translate-all.c is "Odd fixes" with no specific maintainer, and
>> gdbserver.c is not in MAINTAINERS altogether.
> 
> ENV_GET_CPU() is my QOM CPU macro.

Please, this is ridiculous.  MAINTAINERS talks about files, not about
macros.  If somebody misuses the memory API and I'm on vacation (I know
you're not, this is an example), I fix it myself, I don't complain with
whomever applied the patches.

> You picked the patchset up just hours
> after it arrived on the list, on a holiday, without giving me a chance
> to review. It's not about which tree it goes through, it's about you not
> asking first - which I reminded you of just days ago, so this appears
> deliberate.

It certainly is.

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:25         ` Paolo Bonzini
@ 2015-05-26  8:31           ` Andreas Färber
  2015-05-26  8:33             ` Alexander Graf
  2015-05-26  8:36             ` Paolo Bonzini
  0 siblings, 2 replies; 34+ messages in thread
From: Andreas Färber @ 2015-05-26  8:31 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Peter Crosthwaite, qemu-devel, Alexander Graf,
	Peter Crosthwaite, rth

Am 26.05.2015 um 10:25 schrieb Paolo Bonzini:
> 
> 
> On 26/05/2015 10:20, Andreas Färber wrote:
>> Am 26.05.2015 um 10:05 schrieb Paolo Bonzini:
>>> On 26/05/2015 08:10, Andreas Färber wrote:
>>>> Am 25.05.2015 um 15:08 schrieb Paolo Bonzini:
>>>>> On 25/05/2015 08:22, Peter Crosthwaite wrote:
>>>>>> Hi Andreas, Richard and all,
>>>>>>
>>>>>> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
>>>>>> This has two advantages:
>>>>>>
>>>>>> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
>>>>>> and friends.
>>>>>> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
>>>>>> don't need those patches where I reorder the env within the arch specific
>>>>>> CPUState. This allows continuing placement of arch specifics before the
>>>>>> env in the CPU container (which has TCG perf advantages).
>>>>>>
>>>>>> There's a couple more after this pack to get the multi-arch thing going,
>>>>>> but due to point 1, I'm sending this ahead as I think it has standalone value.
>>>>>>
>>>>>> Regards,
>>>>>> Peter
>>>>>>
>>>>>> Peter Crosthwaite (4):
>>>>>>   translate-all: Change tb_flush env argument to cpu
>>>>>>   gdbserver: _fork: Change fn to accept cpu instead of env
>>>>>>   cpus: Change tcg_cpu_exec arg to cpu, not env
>>>>>>   cpus: Change exec_init arg to cpu, not env
>>>> [...]
>>>>>
>>>>> Thanks, queued for 2.4.
>>>>
>>>> Apparently after qom-next you also want to take over qom-cpu, once again
>>>> without pinging me first.
>>>
>>> Uhm...
>>>
>>> Main loop
>>> M: Paolo Bonzini <pbonzini@redhat.com>
>>> S: Maintained
>>> F: cpus.c
>>> F: main-loop.c
>>> F: qemu-timer.c
>>> F: vl.c
>>>
>>> translate-all.c is "Odd fixes" with no specific maintainer, and
>>> gdbserver.c is not in MAINTAINERS altogether.
>>
>> ENV_GET_CPU() is my QOM CPU macro.
> 
> Please, this is ridiculous.  MAINTAINERS talks about files, not about
> macros.  If somebody misuses the memory API and I'm on vacation (I know
> you're not, this is an example), I fix it myself, I don't complain with
> whomever applied the patches.
> 
>> You picked the patchset up just hours
>> after it arrived on the list, on a holiday, without giving me a chance
>> to review. It's not about which tree it goes through, it's about you not
>> asking first - which I reminded you of just days ago, so this appears
>> deliberate.
> 
> It certainly is.

Then you can fix up Daniel's patch yourself and I am stepping down as
maintainer. Have fun.

Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:31           ` Andreas Färber
@ 2015-05-26  8:33             ` Alexander Graf
  2015-05-26 11:49               ` Paolo Bonzini
  2015-05-26  8:36             ` Paolo Bonzini
  1 sibling, 1 reply; 34+ messages in thread
From: Alexander Graf @ 2015-05-26  8:33 UTC (permalink / raw)
  To: Andreas Färber, Paolo Bonzini
  Cc: Peter Maydell, Juan Quintela, Peter Crosthwaite, qemu-devel,
	Peter Crosthwaite, rth



On 26.05.15 10:31, Andreas Färber wrote:
> Am 26.05.2015 um 10:25 schrieb Paolo Bonzini:
>>
>>
>> On 26/05/2015 10:20, Andreas Färber wrote:
>>> Am 26.05.2015 um 10:05 schrieb Paolo Bonzini:
>>>> On 26/05/2015 08:10, Andreas Färber wrote:
>>>>> Am 25.05.2015 um 15:08 schrieb Paolo Bonzini:
>>>>>> On 25/05/2015 08:22, Peter Crosthwaite wrote:
>>>>>>> Hi Andreas, Richard and all,
>>>>>>>
>>>>>>> I'm moving towards the goal of having no core code usages of ENV_GET_CPU.
>>>>>>> This has two advantages:
>>>>>>>
>>>>>>> 1: It means we are closer to common-obj'ing core code like exec.c, cpus.c
>>>>>>> and friends.
>>>>>>> 2: Multi arch is easier if ENV_GET_CPU stays arch specific. It means I
>>>>>>> don't need those patches where I reorder the env within the arch specific
>>>>>>> CPUState. This allows continuing placement of arch specifics before the
>>>>>>> env in the CPU container (which has TCG perf advantages).
>>>>>>>
>>>>>>> There's a couple more after this pack to get the multi-arch thing going,
>>>>>>> but due to point 1, I'm sending this ahead as I think it has standalone value.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Peter
>>>>>>>
>>>>>>> Peter Crosthwaite (4):
>>>>>>>   translate-all: Change tb_flush env argument to cpu
>>>>>>>   gdbserver: _fork: Change fn to accept cpu instead of env
>>>>>>>   cpus: Change tcg_cpu_exec arg to cpu, not env
>>>>>>>   cpus: Change exec_init arg to cpu, not env
>>>>> [...]
>>>>>>
>>>>>> Thanks, queued for 2.4.
>>>>>
>>>>> Apparently after qom-next you also want to take over qom-cpu, once again
>>>>> without pinging me first.
>>>>
>>>> Uhm...
>>>>
>>>> Main loop
>>>> M: Paolo Bonzini <pbonzini@redhat.com>
>>>> S: Maintained
>>>> F: cpus.c
>>>> F: main-loop.c
>>>> F: qemu-timer.c
>>>> F: vl.c
>>>>
>>>> translate-all.c is "Odd fixes" with no specific maintainer, and
>>>> gdbserver.c is not in MAINTAINERS altogether.
>>>
>>> ENV_GET_CPU() is my QOM CPU macro.
>>
>> Please, this is ridiculous.  MAINTAINERS talks about files, not about
>> macros.  If somebody misuses the memory API and I'm on vacation (I know
>> you're not, this is an example), I fix it myself, I don't complain with
>> whomever applied the patches.
>>
>>> You picked the patchset up just hours
>>> after it arrived on the list, on a holiday, without giving me a chance
>>> to review. It's not about which tree it goes through, it's about you not
>>> asking first - which I reminded you of just days ago, so this appears
>>> deliberate.
>>
>> It certainly is.
> 
> Then you can fix up Daniel's patch yourself and I am stepping down as
> maintainer. Have fun.

Please take a big breath and don't do the Jocelyn Mayer thing ;).

How about we have the KVM call today and calmly talk about maintainer
responsibility borders?


Alex

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:31           ` Andreas Färber
  2015-05-26  8:33             ` Alexander Graf
@ 2015-05-26  8:36             ` Paolo Bonzini
  2015-05-26  8:56               ` Peter Maydell
  1 sibling, 1 reply; 34+ messages in thread
From: Paolo Bonzini @ 2015-05-26  8:36 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Peter Maydell, Peter Crosthwaite, qemu-devel, Alexander Graf,
	Peter Crosthwaite, rth



On 26/05/2015 10:31, Andreas Färber wrote:
>>> It's not about which tree it goes through, it's about you not
>>> asking first - which I reminded you of just days ago, so this appears
>>> deliberate.
>> 
>> It certainly is.
> 
> Then you can fix up Daniel's patch yourself and I am stepping down as
> maintainer. Have fun.

This seems a bit of an overreaction.

If you mean deliberate as in "stepping on someone else's toes", that was
not it.

If you mean deliberate as in "disagreeing on whether identifiers
contribute to maintainance areas for such a trivial patch", and applying
this patch because I truly believe(d) you wouldn't care, then it was.

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:36             ` Paolo Bonzini
@ 2015-05-26  8:56               ` Peter Maydell
  0 siblings, 0 replies; 34+ messages in thread
From: Peter Maydell @ 2015-05-26  8:56 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Crosthwaite, QEMU Developers, Alexander Graf,
	Peter Crosthwaite, Andreas Färber, Richard Henderson

On 26 May 2015 at 09:36, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 26/05/2015 10:31, Andreas Färber wrote:
>>>> It's not about which tree it goes through, it's about you not
>>>> asking first - which I reminded you of just days ago, so this appears
>>>> deliberate.
>>>
>>> It certainly is.
>>
>> Then you can fix up Daniel's patch yourself and I am stepping down as
>> maintainer. Have fun.
>
> This seems a bit of an overreaction.

I think your rather abrupt statement above was rather unfortunately
open to misinterpretation...

> If you mean deliberate as in "stepping on someone else's toes", that was
> not it.
>
> If you mean deliberate as in "disagreeing on whether identifiers
> contribute to maintainance areas for such a trivial patch", and applying
> this patch because I truly believe(d) you wouldn't care, then it was.

...since it didn't have this clarification.

-- PMM

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:33             ` Alexander Graf
@ 2015-05-26 11:49               ` Paolo Bonzini
  2015-05-29 18:34                 ` Eduardo Habkost
  0 siblings, 1 reply; 34+ messages in thread
From: Paolo Bonzini @ 2015-05-26 11:49 UTC (permalink / raw)
  To: Alexander Graf, Andreas Färber
  Cc: Peter Maydell, Peter Crosthwaite, Juan Quintela, qemu-devel,
	Peter Crosthwaite, rth



On 26/05/2015 10:33, Alexander Graf wrote:
> How about we have the KVM call today and calmly talk about maintainer
> responsibility borders?

I'd be happy to attend the call today, yes.

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26  8:05     ` Paolo Bonzini
@ 2015-05-29  5:28       ` Peter Crosthwaite
  0 siblings, 0 replies; 34+ messages in thread
From: Peter Crosthwaite @ 2015-05-29  5:28 UTC (permalink / raw)
  To: Paolo Bonzini, Bharata B Rao
  Cc: Eduardo Habkost, Peter Crosthwaite,
	qemu-devel@nongnu.org Developers, Peter Crosthwaite,
	Andreas Färber, Richard Henderson

On Tue, May 26, 2015 at 1:05 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
> On 26/05/2015 08:00, Peter Crosthwaite wrote:
>> Eduardo flagged a conflict with on-list work. Do you want me to handle it?
>
> I don't know, but I'll dequeue these patches.
>

Alright,

So I'll wait for the enqueue of Bharata's patches as they look very
close. Who is going to merge them and should I target the same queue?

Regards,
Peter

> Paolo
>

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-26 11:49               ` Paolo Bonzini
@ 2015-05-29 18:34                 ` Eduardo Habkost
  2015-06-04  1:10                   ` Peter Crosthwaite
  0 siblings, 1 reply; 34+ messages in thread
From: Eduardo Habkost @ 2015-05-29 18:34 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Peter Crosthwaite, Juan Quintela, qemu-devel,
	Alexander Graf, Peter Crosthwaite, Andreas Färber, rth

On Tue, May 26, 2015 at 01:49:56PM +0200, Paolo Bonzini wrote:
> On 26/05/2015 10:33, Alexander Graf wrote:
> > How about we have the KVM call today and calmly talk about maintainer
> > responsibility borders?
> 
> I'd be happy to attend the call today, yes.

Was there a call? Any conclusions?

-- 
Eduardo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-05-29 18:34                 ` Eduardo Habkost
@ 2015-06-04  1:10                   ` Peter Crosthwaite
  2015-06-04  7:58                     ` Paolo Bonzini
  2015-06-23 13:00                     ` Andreas Färber
  0 siblings, 2 replies; 34+ messages in thread
From: Peter Crosthwaite @ 2015-06-04  1:10 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Peter Maydell, Peter Crosthwaite, Juan Quintela,
	qemu-devel@nongnu.org Developers, Alexander Graf,
	Peter Crosthwaite, Paolo Bonzini, Andreas Färber,
	Richard Henderson

Ping!

Was there an outcome?

Regards,
Peter

On Fri, May 29, 2015 at 11:34 AM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> On Tue, May 26, 2015 at 01:49:56PM +0200, Paolo Bonzini wrote:
>> On 26/05/2015 10:33, Alexander Graf wrote:
>> > How about we have the KVM call today and calmly talk about maintainer
>> > responsibility borders?
>>
>> I'd be happy to attend the call today, yes.
>
> Was there a call? Any conclusions?
>
> --
> Eduardo
>

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-06-04  1:10                   ` Peter Crosthwaite
@ 2015-06-04  7:58                     ` Paolo Bonzini
  2015-06-23 13:00                     ` Andreas Färber
  1 sibling, 0 replies; 34+ messages in thread
From: Paolo Bonzini @ 2015-06-04  7:58 UTC (permalink / raw)
  To: Peter Crosthwaite, Eduardo Habkost
  Cc: Peter Maydell, Juan Quintela, Peter Crosthwaite, Alexander Graf,
	qemu-devel@nongnu.org Developers, Peter Crosthwaite,
	Andreas Färber, Richard Henderson



On 04/06/2015 03:10, Peter Crosthwaite wrote:
> Ping!
> 
> Was there an outcome?

Andreas will handle the patches, but he's on vacation now.

Paolo

> On Fri, May 29, 2015 at 11:34 AM, Eduardo Habkost <ehabkost@redhat.com> wrote:
>> On Tue, May 26, 2015 at 01:49:56PM +0200, Paolo Bonzini wrote:
>>> On 26/05/2015 10:33, Alexander Graf wrote:
>>>> How about we have the KVM call today and calmly talk about maintainer
>>>> responsibility borders?
>>>
>>> I'd be happy to attend the call today, yes.
>>
>> Was there a call? Any conclusions?
>>
>> --
>> Eduardo
>>

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu Peter Crosthwaite
  2015-05-25 20:27   ` Eduardo Habkost
@ 2015-06-05 14:43   ` Andreas Färber
  1 sibling, 0 replies; 34+ messages in thread
From: Andreas Färber @ 2015-06-05 14:43 UTC (permalink / raw)
  To: Peter Crosthwaite, qemu-devel, rth
  Cc: Paolo Bonzini, Riku Voipio, Eduardo Habkost, Peter Crosthwaite

Am 25.05.2015 um 15:22 schrieb Peter Crosthwaite:
[...]
> diff --git a/target-alpha/sys_helper.c b/target-alpha/sys_helper.c
> index ae2e174..302cc1f 100644
> --- a/target-alpha/sys_helper.c
> +++ b/target-alpha/sys_helper.c
> @@ -74,7 +74,7 @@ void helper_tbis(CPUAlphaState *env, uint64_t p)
>  
>  void helper_tb_flush(CPUAlphaState *env)
>  {
> -    tb_flush(env);
> +    tb_flush(ENV_GET_CPU(env));

Please do not use ENV_GET_CPU() in target code, here and below (compare
the previous cleanup commits). Otherwise looks great.

Regards,
Andreas

>  }
>  
>  void helper_halt(uint64_t restart)
> diff --git a/target-i386/translate.c b/target-i386/translate.c
> index 723e0cb..920aca4 100644
> --- a/target-i386/translate.c
> +++ b/target-i386/translate.c
> @@ -6925,7 +6925,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
>          gen_debug(s, pc_start - s->cs_base);
>  #else
>          /* start debug */
> -        tb_flush(env);
> +        tb_flush(ENV_GET_CPU(env));
>          qemu_set_log(CPU_LOG_INT | CPU_LOG_TB_IN_ASM);
>  #endif
>          break;
[snip]

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 2/4] gdbserver: _fork: Change fn to accept cpu instead of env
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 2/4] gdbserver: _fork: Change fn to accept cpu instead of env Peter Crosthwaite
@ 2015-06-05 14:44   ` Andreas Färber
  0 siblings, 0 replies; 34+ messages in thread
From: Andreas Färber @ 2015-06-05 14:44 UTC (permalink / raw)
  To: Peter Crosthwaite, qemu-devel; +Cc: Riku Voipio, Peter Crosthwaite, rth

Am 25.05.2015 um 15:22 schrieb Peter Crosthwaite:
> All callsites to this function navigate the cpu->env_ptr only for the
> function to take the env ptr back to the original cpu ptr. Change the
> function to just pass in the CPU pointer instead. Removes a core code
> usage of ENV_GET_CPU (in gdbstub.c).
> 
> Cc: Riku Voipio <riku.voipio@iki.fi>
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
> ---
>  bsd-user/main.c        | 2 +-
>  gdbstub.c              | 3 +--
>  include/exec/gdbstub.h | 2 +-
>  linux-user/main.c      | 2 +-
>  4 files changed, 4 insertions(+), 5 deletions(-)

Great,

Reviewed-by: Andreas Färber <afaerber@suse.de>

Thanks,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 3/4] cpus: Change tcg_cpu_exec arg to cpu, not env
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 3/4] cpus: Change tcg_cpu_exec arg to cpu, not env Peter Crosthwaite
@ 2015-06-05 14:48   ` Andreas Färber
  0 siblings, 0 replies; 34+ messages in thread
From: Andreas Färber @ 2015-06-05 14:48 UTC (permalink / raw)
  To: Peter Crosthwaite, qemu-devel; +Cc: Paolo Bonzini, Peter Crosthwaite, rth

Am 25.05.2015 um 15:22 schrieb Peter Crosthwaite:
> The sole caller of this function navigates the cpu->env_ptr only for
> this function to take it back the cpu pointer straight away. Pass in
> cpu pointer instead and grab the env pointer locally in the function.
> Removes a core code usage of ENV_GET_CPU.

Please follow the convention of writing "foo()" for any function or
parameterized macro, here and elsewhere.

> 
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
> ---
>  cpus.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)

Reviewed-by: Andreas Färber <afaerber@suse.de>

Thanks,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] cpus: Change exec_init arg to cpu, not env
  2015-05-25  6:22 ` [Qemu-devel] [PATCH 4/4] cpus: Change exec_init " Peter Crosthwaite
  2015-05-25 20:54   ` Eduardo Habkost
@ 2015-06-05 14:51   ` Andreas Färber
  2015-06-05 15:05     ` Eduardo Habkost
  1 sibling, 1 reply; 34+ messages in thread
From: Andreas Färber @ 2015-06-05 14:51 UTC (permalink / raw)
  To: Peter Crosthwaite, qemu-devel, Eduardo Habkost
  Cc: Peter Maydell, Jia Liu, Peter Crosthwaite, Bastian Koppelmann,
	Anthony Green, Bharata B Rao, Mark Cave-Ayland, Alexander Graf,
	Blue Swirl, Max Filippov, Michael Walle, Edgar E. Iglesias,
	Paolo Bonzini, Guan Xuetao, Leon Alrae, Aurelien Jarno, rth

Am 25.05.2015 um 15:22 schrieb Peter Crosthwaite:
> The callers (most of them in target-foo/cpu.c) to this function all
> have the cpu pointer handy. Just pass it to avoid an ENV_GET_CPU from
> core code (in exec.c).
> 
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Richard Henderson <rth@twiddle.net>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> Cc: "Andreas Färber" <afaerber@suse.de>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> Cc: Leon Alrae <leon.alrae@imgtec.com>
> Cc: Anthony Green <green@moxielogic.com>
> Cc: Jia Liu <proljc@gmail.com>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: Blue Swirl <blauwirbel@gmail.com>
> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
> Cc: Max Filippov <jcmvbkbc@gmail.com>
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
> ---
>  exec.c                      | 4 ++--
>  include/exec/exec-all.h     | 2 +-
>  target-alpha/cpu.c          | 2 +-
>  target-arm/cpu.c            | 2 +-
>  target-cris/cpu.c           | 2 +-
>  target-i386/cpu.c           | 2 +-
>  target-lm32/cpu.c           | 2 +-
>  target-m68k/cpu.c           | 2 +-
>  target-microblaze/cpu.c     | 2 +-
>  target-mips/cpu.c           | 2 +-
>  target-moxie/cpu.c          | 2 +-
>  target-openrisc/cpu.c       | 2 +-
>  target-ppc/translate_init.c | 2 +-
>  target-s390x/cpu.c          | 2 +-
>  target-sh4/cpu.c            | 2 +-
>  target-sparc/cpu.c          | 2 +-
>  target-tricore/cpu.c        | 2 +-
>  target-unicore32/cpu.c      | 2 +-
>  target-xtensa/cpu.c         | 2 +-
>  19 files changed, 20 insertions(+), 20 deletions(-)

Reviewed-by: Andreas Färber <afaerber@suse.de>

I assume this will conflict with another patch adding an Error**
argument - Eduardo, please help coordinating this.

Thanks,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] cpus: Change exec_init arg to cpu, not env
  2015-06-05 14:51   ` Andreas Färber
@ 2015-06-05 15:05     ` Eduardo Habkost
  2015-06-24 12:48       ` Andreas Färber
  0 siblings, 1 reply; 34+ messages in thread
From: Eduardo Habkost @ 2015-06-05 15:05 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Peter Maydell, Jia Liu, Peter Crosthwaite, Bastian Koppelmann,
	Anthony Green, Bharata B Rao, Mark Cave-Ayland, qemu-devel,
	Alexander Graf, Blue Swirl, Max Filippov, Peter Crosthwaite,
	Michael Walle, Edgar E. Iglesias, Paolo Bonzini, Guan Xuetao,
	Leon Alrae, Aurelien Jarno, rth

On Fri, Jun 05, 2015 at 11:51:41PM +0900, Andreas Färber wrote:
> Am 25.05.2015 um 15:22 schrieb Peter Crosthwaite:
> > The callers (most of them in target-foo/cpu.c) to this function all
> > have the cpu pointer handy. Just pass it to avoid an ENV_GET_CPU from
> > core code (in exec.c).
[...]
> Reviewed-by: Andreas Färber <afaerber@suse.de>
> 
> I assume this will conflict with another patch adding an Error**
> argument - Eduardo, please help coordinating this.

I asked Peter to rebase on top of Bharata's "Bitmap based CPU
enumeration" series (that's already on v3 and got some Reviewed-by
lines), but both Peter and Bharata need to know which tree those series
are expected to be included.

-- 
Eduardo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-06-04  1:10                   ` Peter Crosthwaite
  2015-06-04  7:58                     ` Paolo Bonzini
@ 2015-06-23 13:00                     ` Andreas Färber
  2015-06-24  4:22                       ` Peter Crosthwaite
  1 sibling, 1 reply; 34+ messages in thread
From: Andreas Färber @ 2015-06-23 13:00 UTC (permalink / raw)
  To: Peter Crosthwaite
  Cc: Peter Maydell, Eduardo Habkost, Peter Crosthwaite, Juan Quintela,
	qemu-devel@nongnu.org Developers, Alexander Graf,
	Peter Crosthwaite, Paolo Bonzini, Richard Henderson

Hi Peter,

Am 04.06.2015 um 03:10 schrieb Peter Crosthwaite:
> Was there an outcome?

The conclusion for this series was that I would get a chance to review
it (which I did later than I wanted to, after my talks from a hotel...)
and that future patch series should spend a certain minimum time on the
list, either before or after being applied by a maintainer but before
being included in a PULL. The idea is to assure a) general review
opportunity for both affected and non-affected non-maintainers and b)
opportunity to react to maintainer's oversights before they become facts
in Git history.

Differences of opinion still exist in what commitment to and extend of
patch review we expect before patches get applied, and to what degree
code/commit conventions vary from maintainer to maintainer or subsystem
to subsystem.

Am I seeing correctly that no respin or follow-up happened yet after I
reviewed it?

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-06-23 13:00                     ` Andreas Färber
@ 2015-06-24  4:22                       ` Peter Crosthwaite
  2015-06-24  9:50                         ` Paolo Bonzini
  0 siblings, 1 reply; 34+ messages in thread
From: Peter Crosthwaite @ 2015-06-24  4:22 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Peter Maydell, Eduardo Habkost, Juan Quintela, Peter Crosthwaite,
	qemu-devel@nongnu.org Developers, Alexander Graf,
	Peter Crosthwaite, Paolo Bonzini, Richard Henderson

On Tue, Jun 23, 2015 at 6:00 AM, Andreas Färber <afaerber@suse.de> wrote:
> Hi Peter,
>
> Am 04.06.2015 um 03:10 schrieb Peter Crosthwaite:
>> Was there an outcome?
>
> The conclusion for this series was that I would get a chance to review
> it (which I did later than I wanted to, after my talks from a hotel...)
> and that future patch series should spend a certain minimum time on the
> list, either before or after being applied by a maintainer but before
> being included in a PULL. The idea is to assure a) general review
> opportunity for both affected and non-affected non-maintainers and b)

It's been a month now. The opportunity has been there with replies
from a good number of people.

> opportunity to react to maintainer's oversights before they become facts
> in Git history.
>

That's unusual. If the maintainer and contributor are on the same page
it doesn't make sense for an objection to occur after the ack. If
reviewers want to nack, they should do it regardless of whether the
maintainer has weighed in yet. If you get a nack or a comment, there
is no difference, the contributor can leave it on list for as long as
they like.

I agree that if the maintainer acks it instantly it should be left on
list for a reasonable time if it is a first version or has substantial
change, but should you be ok with v4 of this series (which only
addresses trivial comments) I don't see a need for yet more list time.

> Differences of opinion still exist in what commitment to and extend of
> patch review we expect before patches get applied, and to what degree
> code/commit conventions vary from maintainer to maintainer or subsystem
> to subsystem.
>
> Am I seeing correctly that no respin or follow-up happened yet after I
> reviewed it?
>

No, there have been two versions since this one. I have addresses
Eduardo and Aurelien's comments on v2 and v3.

I have respun everything I have pending for you with "PATCH qom"
subject prefix yesterday/today. All patches were on list well before
soft freeze and almost all patches have RBs. You can safely ignore all
patches from me from before except the QOM-prop-overloading/A9-mpcore
series which is still relevant and not respun.

For a summary here is the review state of the multi-arch patch queue.
I have too many reviewed-but-unapplied patches I have stopped working
on the feature until I get some of this already-reviewed work off my
hands (read bottom up):

d22de8e345     HACK: mb: boot: Disable dtb load in multi-arch
c3202f0920     HACK: mb: boot: Assume using -firmware for mb software
8c27d2cf5a     arm: xilinx_zynq: Add a Microblaze
5f9e0c9c84     arm: boot: Don't assume all CPUs are ARM
3a47db3595     mb: Remove ELF_MACHINE from cpu.h
f886dd4de8     hw: mb: Explicitly include cpu.h for consumers
34b67400b9     arm: Remove ELF_MACHINE from cpu.h
eb628c8ad8     hw: arm: Explicitly include cpu.h for consumers
3981bb283f     core: Introduce multi-arch build
1ac2ff9e6d     arm: enable multi-arch
e7c9f09397     arm: register cpu_list function
69a42b153d     target-arm: Split cp helper API to new C file
a53b4dcedf     arm: cpu: static inline cpu_arm_init
717d43b73e     microblaze: enable multi-arch
1053a79602     target-*: Don't redefine cpu_exec
cf406390fb     core: virtualise CPU interfaces completely
d515ec68c5     HACK: Set tcg_enabled to true
b9397d1c40     cputlb,translate-all: Remove target_ulong from API
a5337ca686     cputlb: Change tlb_set_dirty arg to cpu
e07c23a328     cputlb: move CPU_LOOP for tlb_reset to exec.c
0943c367a6     disas: Defeature print_target_address
95d8a2096a     HACK: monitor: uninclude cpu_ldst
3baa9eeab0     HACK: monitor: Comment out TCG profile ops
105ec2f9ee     cpu-defs: Allow multiple inclusions
a41db438ab     cpu-defs: Move out TB_JMP defines                           R:rth
ccdc103068     translate: move real_host_page setting to -common
2e90cadb43     include/exec: Move tb hash functions out                    R:rth
624c0529d5     include/exec: Move cputlb exec.c defs out                   R:rth
b332fa4c3a     include/exec: Split target_long def to new header
a59e060282     include/exec: Move standard exceptions to cpu-all.h         R:rth
b01e4a1f42     translate-all: Move tcg_handle_interrupt to -common         R:rth
bac799c2fd     exec-all: Move cpu_can_do_io to qom/cpu.h                   R:rth
fa2e6624f9     cpu-common: Define tb_page_addr_t for everyone
326a80bb02     cpus: Listify cpu_list function
f4c00d94c4     translate: Listify tcg_exec_init                            R:rth
8f66b6c191     cpu-exec: Migrate some generic fns to cpus.c                R:rth
0a32363577     Makefile.target: Introduce arch-obj
3f51f6f027     cpu-defs: Move CPU_TEMP_BUF_NLONGS to tcg                   R:rth
5d2163a21b     cpu_defs: Simply CPUTLB padding logic
3a9e19c7f7     vfio: cpu: Use "real" page size API
    T:alexey
edbb1333e9     cpu-all: complete "real" host page size API
    T:alexey
9eee05f488     memory_mapping: Rework cpu related includes
    A:paolo
4561937a3b     cpu-exec: Purge all uses of ENV_GET_CPU()
888b57e00f     cpus: Change exec_init() arg to cpu, not env
    R:af R:aurel
952ac05646     cpus: Change tcg_cpu_exec() arg to cpu, not env
    R:af R:eduardo
860c916334     gdbserver: _fork: Change fn to accept cpu instead of
env    R:af R:eduardo
df44b66c87     translate-all: Change tb_flush() env argument to cpu
    R:eduardo A:eduardo
fb7dc6a221     ppc: Move cpu_exec_init() call to realize function
    R:dgibson R:me_x A:paolo
6405382188     cpus: Convert cpu_index into a bitmap
    R:eduardo R:igor R:dgibson R:me_x A:paolo
a9e1838b66     cpus: Add Error argument to cpu_exec_init()
    R:eduardo R:igor R:dgibson R:me_x A:paolo
ea291ffcde     microblaze: boot: Use cpu_set_pc()                          R:af
11d804948d     arm: boot: Use cpu_set_pc()
    R:pmm R:af
13dd9e90b1     gdbstub: Use cpu_set_pc() helper
07ca0ce6b4     cpu: Add wrapper to the set-pc() hook
4d46aa8725     disas: cris: QOMify target specific disas setup
    R:edgar_x
22bbba694f     disas: cris: Fix 0 buffer length case
    R:edgar_x
8b16aff59c     disas: microblaze: QOMify target specific disas setup
    R:edgar_x
8c08b3d14a     disas: arm: QOMify target specific disas setup              R:pmm
7ca536d824     disas: arm-a64: Make printfer and stream variable
    R:claudio T:claudio R:rth
b316905406     disas: QOMify target specific setup                         R:rth
d10c5b0fc8     disas: Add print_insn to disassemble info                   R:rth

I was hoping to flush out all the reviewed stuff and get those patches
with RTHs RB in for hard freeze but I am stalled on the deps. Then
during hard freeze continue the review of the multi-arch core work for
a merge in 2.5.

Regards,
Peter

> Regards,
> Andreas
>
> --
> SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
> 21284 (AG Nürnberg)
>

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-06-24  4:22                       ` Peter Crosthwaite
@ 2015-06-24  9:50                         ` Paolo Bonzini
  2015-07-11 11:45                           ` Peter Crosthwaite
  0 siblings, 1 reply; 34+ messages in thread
From: Paolo Bonzini @ 2015-06-24  9:50 UTC (permalink / raw)
  To: Peter Crosthwaite, Andreas Färber
  Cc: Peter Maydell, Alex Williamson, Eduardo Habkost, Juan Quintela,
	Peter Crosthwaite, qemu-devel@nongnu.org Developers,
	Alexander Graf, Peter Crosthwaite, Richard Henderson



On 24/06/2015 06:22, Peter Crosthwaite wrote:
> For a summary here is the review state of the multi-arch patch queue.
> I have too many reviewed-but-unapplied patches I have stopped working
> on the feature until I get some of this already-reviewed work off my
> hands (read bottom up):

git log --reverse FTW. :)

For now I have queued these:

d7daf77764   cpu-defs: Move out TB_JMP defines
527c8d113c   include/exec: Move tb hash functions out
dfe5fb5153   include/exec: Move standard exceptions to cpu-all.h
edff94d9b5   cpu-defs: Move CPU_TEMP_BUF_NLONGS to tcg
d8faad7ed2   memory_mapping: Rework cpu related includes

Now on to the others.  Some are blocked by Bharata's work, and no one
knows what tree will shepherd them?!?

Then: these will probably be queued by Andreas?

> ea291ffcde     microblaze: boot: Use cpu_set_pc()                          R:af
> 11d804948d     arm: boot: Use cpu_set_pc()
>     R:pmm R:af
> 13dd9e90b1     gdbstub: Use cpu_set_pc() helper
> 07ca0ce6b4     cpu: Add wrapper to the set-pc() hook
> 4d46aa8725     disas: cris: QOMify target specific disas setup
>     R:edgar_x
> 22bbba694f     disas: cris: Fix 0 buffer length case
>     R:edgar_x
> 8b16aff59c     disas: microblaze: QOMify target specific disas setup
>     R:edgar_x
> 8c08b3d14a     disas: arm: QOMify target specific disas setup              R:pmm
> 7ca536d824     disas: arm-a64: Make printfer and stream variable
>     R:claudio T:claudio R:rth
> b316905406     disas: QOMify target specific setup                         R:rth
> d10c5b0fc8     disas: Add print_insn to disassemble info                   R:rth

For this one I hadn't answered you, and I have looked into it further
today.  However, I'm leaning towards omitting it for 2.4:

> fa2e6624f9   cpu-common: Define tb_page_addr_t for everyone

This one fails compilation for me when extracted from the series:

> 9d708b430b   include/exec: Move cputlb exec.c defs out

This one, I cannot find on the list:

> 5d2163a21b     cpu_defs: Simply CPUTLB padding logic

The first below need an ack from Alex Williamson, but these can also go
in 2.4:

> 3a9e19c7f7     vfio: cpu: Use "real" page size API
>     T:alexey
> edbb1333e9     cpu-all: complete "real" host page size API
>     T:alexey

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] cpus: Change exec_init arg to cpu, not env
  2015-06-05 15:05     ` Eduardo Habkost
@ 2015-06-24 12:48       ` Andreas Färber
  2015-06-24 12:49         ` Paolo Bonzini
  0 siblings, 1 reply; 34+ messages in thread
From: Andreas Färber @ 2015-06-24 12:48 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Peter Maydell, Jia Liu, Peter Crosthwaite, Bastian Koppelmann,
	Anthony Green, Mark Cave-Ayland, qemu-devel, Alexander Graf,
	Blue Swirl, Max Filippov, Peter Crosthwaite, Paolo Bonzini,
	Michael Walle, Bharata B Rao, Edgar E. Iglesias, Guan Xuetao,
	Leon Alrae, Aurelien Jarno, rth

Am 05.06.2015 um 17:05 schrieb Eduardo Habkost:
> On Fri, Jun 05, 2015 at 11:51:41PM +0900, Andreas Färber wrote:
>> Am 25.05.2015 um 15:22 schrieb Peter Crosthwaite:
>>> The callers (most of them in target-foo/cpu.c) to this function all
>>> have the cpu pointer handy. Just pass it to avoid an ENV_GET_CPU from
>>> core code (in exec.c).
> [...]
>> Reviewed-by: Andreas Färber <afaerber@suse.de>
>>
>> I assume this will conflict with another patch adding an Error**
>> argument - Eduardo, please help coordinating this.
> 
> I asked Peter to rebase on top of Bharata's "Bitmap based CPU
> enumeration" series (that's already on v3 and got some Reviewed-by
> lines), but both Peter and Bharata need to know which tree those series
> are expected to be included.

I was expecting you to handle cpu_exec_init() through your x86 tree, but
seems that didn't happen. I am going through CPU patches today, so could
take open series but then would need to pick up the ENV_* stuff too,
which I thought would go through Paolo in my absence...

Regards,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB
21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] cpus: Change exec_init arg to cpu, not env
  2015-06-24 12:48       ` Andreas Färber
@ 2015-06-24 12:49         ` Paolo Bonzini
  0 siblings, 0 replies; 34+ messages in thread
From: Paolo Bonzini @ 2015-06-24 12:49 UTC (permalink / raw)
  To: Andreas Färber, Eduardo Habkost
  Cc: Peter Maydell, Jia Liu, Peter Crosthwaite, Bastian Koppelmann,
	Anthony Green, Mark Cave-Ayland, qemu-devel, Alexander Graf,
	Blue Swirl, Max Filippov, Peter Crosthwaite, Michael Walle,
	Bharata B Rao, Edgar E. Iglesias, Guan Xuetao, Leon Alrae,
	Aurelien Jarno, rth



On 24/06/2015 14:48, Andreas Färber wrote:
> I was expecting you to handle cpu_exec_init() through your x86 tree, but
> seems that didn't happen. I am going through CPU patches today, so could
> take open series but then would need to pick up the ENV_* stuff too,
> which I thought would go through Paolo in my absence...

I'm sorry for the misunderstanding.  I myself left the series behind
waiting for Bharata's series to get in, without really trying to see
what depended on it and what didn't.

Paolo

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals
  2015-06-24  9:50                         ` Paolo Bonzini
@ 2015-07-11 11:45                           ` Peter Crosthwaite
  0 siblings, 0 replies; 34+ messages in thread
From: Peter Crosthwaite @ 2015-07-11 11:45 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Peter Maydell, Eduardo Habkost, Juan Quintela, Peter Crosthwaite,
	qemu-devel@nongnu.org Developers, Alexander Graf,
	Peter Crosthwaite, Alex Williamson, Andreas Färber,
	Richard Henderson

On Wed, Jun 24, 2015 at 2:50 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
> On 24/06/2015 06:22, Peter Crosthwaite wrote:
>> For a summary here is the review state of the multi-arch patch queue.
>> I have too many reviewed-but-unapplied patches I have stopped working
>> on the feature until I get some of this already-reviewed work off my
>> hands (read bottom up):
>
> git log --reverse FTW. :)
>

Added that to my script :) Much more readable.

> For now I have queued these:
>
> d7daf77764   cpu-defs: Move out TB_JMP defines
> 527c8d113c   include/exec: Move tb hash functions out
> dfe5fb5153   include/exec: Move standard exceptions to cpu-all.h
> edff94d9b5   cpu-defs: Move CPU_TEMP_BUF_NLONGS to tcg
> d8faad7ed2   memory_mapping: Rework cpu related includes
>
> Now on to the others.  Some are blocked by Bharata's work, and no one
> knows what tree will shepherd them?!?
>
> Then: these will probably be queued by Andreas?
>

Yes between you, Andreas and Alex, everything merge-intended (+more -
thanks for the cherry picks from the RFC) is in on the hard-freeze
merges.

>> ea291ffcde     microblaze: boot: Use cpu_set_pc()                          R:af
>> 11d804948d     arm: boot: Use cpu_set_pc()
>>     R:pmm R:af
>> 13dd9e90b1     gdbstub: Use cpu_set_pc() helper
>> 07ca0ce6b4     cpu: Add wrapper to the set-pc() hook
>> 4d46aa8725     disas: cris: QOMify target specific disas setup
>>     R:edgar_x
>> 22bbba694f     disas: cris: Fix 0 buffer length case
>>     R:edgar_x
>> 8b16aff59c     disas: microblaze: QOMify target specific disas setup
>>     R:edgar_x
>> 8c08b3d14a     disas: arm: QOMify target specific disas setup              R:pmm
>> 7ca536d824     disas: arm-a64: Make printfer and stream variable
>>     R:claudio T:claudio R:rth
>> b316905406     disas: QOMify target specific setup                         R:rth
>> d10c5b0fc8     disas: Add print_insn to disassemble info                   R:rth
>
> For this one I hadn't answered you, and I have looked into it further
> today.  However, I'm leaning towards omitting it for 2.4:
>
>> fa2e6624f9   cpu-common: Define tb_page_addr_t for everyone
>
> This one fails compilation for me when extracted from the series:
>

Yes, I am now working through fully-configured build testing on the
next RFC. My strategy is to send the big RFCs which are
semi-functional to gives reviewers full context on what I am trying to
do and sometimes things aren't merge ready. At the same time I am
extracting components as shorter series or singles as non-RFCs (which
AFAIK are problem free) so they can be taken into a number of
different queues independently.

With the hard freeze merges 23 down, 37 to go :). RFCv3 coming
shortly. Hoping to collect RBs during the freeze then target 2.5
first-flushes.

Regards,
Peter


>> 9d708b430b   include/exec: Move cputlb exec.c defs out
>
> This one, I cannot find on the list:
>
>> 5d2163a21b     cpu_defs: Simply CPUTLB padding logic
>
> The first below need an ack from Alex Williamson, but these can also go
> in 2.4:
>
>> 3a9e19c7f7     vfio: cpu: Use "real" page size API
>>     T:alexey
>> edbb1333e9     cpu-all: complete "real" host page size API
>>     T:alexey
>
> Paolo
>

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2015-07-11 11:45 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-25  6:22 [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Peter Crosthwaite
2015-05-25  6:22 ` [Qemu-devel] [PATCH 1/4] translate-all: Change tb_flush env argument to cpu Peter Crosthwaite
2015-05-25 20:27   ` Eduardo Habkost
2015-06-05 14:43   ` Andreas Färber
2015-05-25  6:22 ` [Qemu-devel] [PATCH 2/4] gdbserver: _fork: Change fn to accept cpu instead of env Peter Crosthwaite
2015-06-05 14:44   ` Andreas Färber
2015-05-25  6:22 ` [Qemu-devel] [PATCH 3/4] cpus: Change tcg_cpu_exec arg to cpu, not env Peter Crosthwaite
2015-06-05 14:48   ` Andreas Färber
2015-05-25  6:22 ` [Qemu-devel] [PATCH 4/4] cpus: Change exec_init " Peter Crosthwaite
2015-05-25 20:54   ` Eduardo Habkost
2015-06-05 14:51   ` Andreas Färber
2015-06-05 15:05     ` Eduardo Habkost
2015-06-24 12:48       ` Andreas Färber
2015-06-24 12:49         ` Paolo Bonzini
2015-05-25 13:08 ` [Qemu-devel] [PATCH 0/4] More core code ENV_GET_CPU removals Paolo Bonzini
2015-05-26  6:00   ` Peter Crosthwaite
2015-05-26  8:05     ` Paolo Bonzini
2015-05-29  5:28       ` Peter Crosthwaite
2015-05-26  6:10   ` Andreas Färber
2015-05-26  8:05     ` Paolo Bonzini
2015-05-26  8:20       ` Andreas Färber
2015-05-26  8:25         ` Paolo Bonzini
2015-05-26  8:31           ` Andreas Färber
2015-05-26  8:33             ` Alexander Graf
2015-05-26 11:49               ` Paolo Bonzini
2015-05-29 18:34                 ` Eduardo Habkost
2015-06-04  1:10                   ` Peter Crosthwaite
2015-06-04  7:58                     ` Paolo Bonzini
2015-06-23 13:00                     ` Andreas Färber
2015-06-24  4:22                       ` Peter Crosthwaite
2015-06-24  9:50                         ` Paolo Bonzini
2015-07-11 11:45                           ` Peter Crosthwaite
2015-05-26  8:36             ` Paolo Bonzini
2015-05-26  8:56               ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.