qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL v2 00/22] QOM CPUState patch queue 2015-07-07


From: Peter Maydell
Subject: Re: [Qemu-devel] [PULL v2 00/22] QOM CPUState patch queue 2015-07-07
Date: Wed, 8 Jul 2015 19:50:05 +0100

On 8 July 2015 at 18:39, Andreas Färber <address@hidden> wrote:
> Am 08.07.2015 um 13:33 schrieb Peter Maydell:
>> On 7 July 2015 at 18:16, Andreas Färber <address@hidden> 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 <address@hidden>
>>>
>>> Cc: Eduardo Habkost <address@hidden>
>>> Cc: Peter Crosthwaite <address@hidden>
>>>
>>> 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 <address@hidden>
> 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 <address@hidden>
>     Reviewed-by: David Gibson <address@hidden>
>     Reviewed-by: Peter Crosthwaite <address@hidden>
>     Acked-by: Paolo Bonzini <address@hidden>
>     Signed-off-by: Peter Crosthwaite <address@hidden>
>     Signed-off-by: Andreas Färber <address@hidden>
>
> :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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]