On 8 July 2015 at 18:39, Andreas Färber <afaer...@suse.de> wrote: > Am 08.07.2015 um 13:33 schrieb Peter Maydell: >> On 7 July 2015 at 18:16, Andreas Färber <afaer...@suse.de> wrote: >>> Hello Peter, >>> >>> This is my QOM CPU patch queue. Please pull. >>> >>> Note: For time reasons I did not give this queue as much testing as usual, >>> in particular BSD and non-x86 KVM hosts were not covered. >>> >>> Regards, >>> Andreas >>> >>> Cc: Peter Maydell <peter.mayd...@linaro.org> >>> >>> Cc: Eduardo Habkost <ehabk...@redhat.com> >>> Cc: Peter Crosthwaite <peter.crosthwa...@xilinx.com> >>> >>> The following changes since commit f2562fbb7ac54d597cfe05f613d30296d1850d1b: >>> >>> Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' >>> into staging (2015-07-07 15:48:49 +0100) >>> >>> are available in the git repository at: >>> >>> git://github.com/afaerber/qemu-cpu.git tags/qom-cpu-for-peter >>> >>> for you to fetch changes up to cf6f1442257d53cf617545dd150efe26771ec31c: >>> >>> disas: cris: QOMify target specific disas setup (2015-07-07 18:35:39 >>> +0200) >>> >>> ---------------------------------------------------------------- >>> QOM CPUState and X86CPU >>> >>> * Further QOM'ification of CPU initialization >>> * Propagation of CPUState arguments and elimination of ENV_GET_CPU() usage >>> * cpu_set_pc() abstraction >>> * CPUClass::disas_set_info() hook >> >> I'm afraid this seems to break ppc linux-user somehow: >> >> e104462:trusty:linux-user-test-0.3$ gdb --args >> /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc >> -L ./gnemul/qemu-ppc ppc/ls -l dummyfile >> GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 >> Copyright (C) 2014 Free Software Foundation, Inc. >> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. Type "show copying" >> and "show warranty" for details. >> This GDB was configured as "x86_64-linux-gnu". >> Type "show configuration" for configuration details. >> For bug reporting instructions, please see: >> <http://www.gnu.org/software/gdb/bugs/>. >> Find the GDB manual and other documentation resources online at: >> <http://www.gnu.org/software/gdb/documentation/>. >> For help, type "help". >> Type "apropos word" to search for commands related to "word"... >> Reading symbols from >> /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc...done. >> (gdb) handle SIGUSR1 pass noprint nostop >> Signal Stop Print Pass to program Description >> SIGUSR1 No No Yes User defined signal 1 >> (gdb) r >> Starting program: >> /home/petmay01/linaro/qemu-for-merges/build/all-linux-static/ppc-linux-user/qemu-ppc >> -L ./gnemul/qemu-ppc ppc/ls -l dummyfile >> [Thread debugging using libthread_db enabled] >> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". >> [New Thread 0x7ffff7ffc700 (LWP 22653)] >> >> Program received signal SIGSEGV, Segmentation fault. >> 0x000000006060dd85 in static_code_gen_buffer () >> (gdb) bt >> #0 0x000000006060dd85 in static_code_gen_buffer () >> #1 0x00000000600065e3 in cpu_tb_exec (cpu=0x6268ceb0, >> tb_ptr=0x6060dd50 <static_code_gen_buffer+2992> >> "A\213n\374\205\355\017\205", <incomplete sequence \307>) >> at /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:200 >> #2 0x0000000060006fbc in cpu_ppc_exec (cpu=0x6268ceb0) at >> /home/petmay01/linaro/qemu-for-merges/cpu-exec.c:518 >> #3 0x0000000060049dc2 in cpu_loop (env=0x62695100) at >> /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:1568 >> #4 0x000000006004cac5 in main (argc=6, argv=0x7fffffffe3f8, >> envp=0x7fffffffe430) >> at /home/petmay01/linaro/qemu-for-merges/linux-user/main.c:4408 > > a7bebe297accafc0fa75a5f76767e6b856e6d5eb is the first bad commit > commit a7bebe297accafc0fa75a5f76767e6b856e6d5eb > Author: Bharata B Rao <bhar...@linux.vnet.ibm.com> > Date: Tue Jun 23 19:31:14 2015 -0700 > > target-ppc: Move cpu_exec_init() call to realize function > > Move cpu_exec_init() call from instance_init to realize. This allows > any failures from cpu_exec_init() to be handled appropriately. > Also add corresponding cpu_exec_exit() call from unrealize. > > cpu_dt_id assignment from instance_init is no longer needed since > correct assignment for cpu_dt_id is already present in realizefn. > > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > Reviewed-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> > Acked-by: Paolo Bonzini <pbonz...@redhat.com> > Signed-off-by: Peter Crosthwaite <crosthwaite.pe...@gmail.com> > Signed-off-by: Andreas Färber <afaer...@suse.de> > > :040000 040000 9f5a59e2b3237877cb8940f744beeb5a304a5620 > 171e8f34622f032c8d36c98eb3ee1f513ec6d5ef M target-ppc > > Patch is fairly small, but I don't spot anything immediately.
The call to cpu_exec_init() appears to have been moved to inside an #if !defined(CONFIG_USER_ONLY) block... -- PMM