qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v1 1/1] exec: Fix watchpoint implementation


From: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH v1 1/1] exec: Fix watchpoint implementation
Date: Fri, 17 Feb 2012 17:44:59 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2012-02-17 17:36, Meador Inge wrote:
> On 02/17/2012 10:28 AM, Jan Kiszka wrote:
> 
>> On 2012-02-17 17:23, Meador Inge wrote:
>>> Fix a bug introduced by commit 1ec9b909ff207a44d5ef2609cb4a2e3d449d485f
>>> where 'watch_mem_write' was modified to fall-through to 'abort' on
>>> every input.
>>>
>>> Signed-off-by: Meador Inge <address@hidden>
>>> ---
>>>  exec.c |    6 +++---
>>>  1 files changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/exec.c b/exec.c
>>> index b81677a..fe8b2d1 100644
>>> --- a/exec.c
>>> +++ b/exec.c
>>> @@ -3289,9 +3289,9 @@ static void watch_mem_write(void *opaque, 
>>> target_phys_addr_t addr,
>>>  {
>>>      check_watchpoint(addr & ~TARGET_PAGE_MASK, ~(size - 1), BP_MEM_WRITE);
>>>      switch (size) {
>>> -    case 1: stb_phys(addr, val);
>>> -    case 2: stw_phys(addr, val);
>>> -    case 4: stl_phys(addr, val);
>>> +    case 1: return stb_phys(addr, val);
>>> +    case 2: return stw_phys(addr, val);
>>> +    case 4: return stl_phys(addr, val);
>>>      default: abort();
>>>      }
>>>  }
>>
>> You likely wanted to introduce breaks here, no...?
> 
> I see both styles in 'exec.c'.  An example similar to the above is:

There is a lot of legacy code in QEMU. Better look at CODING_STYLE when
in doubt.

> 
> static void subpage_ram_write(void *opaque, target_phys_addr_t addr,
>                               uint64_t value, unsigned size)
> {
>     ram_addr_t raddr = addr;
>     void *ptr = qemu_get_ram_ptr(raddr);
>     switch (size) {
>     case 1: return stb_p(ptr, value);
>     case 2: return stw_p(ptr, value);
>     case 4: return stl_p(ptr, value);
>     default: abort();
>     }
> }
> 
> I will switch to the 'break' style if that is more consistent with the general
> coding convention.

That's also nonsense: neither st*_p nor st*_phys return anything else
than void.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux



reply via email to

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