From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:57084) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RyQnj-0008Dn-68 for qemu-devel@nongnu.org; Fri, 17 Feb 2012 11:36:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RyQnd-0000NB-Gk for qemu-devel@nongnu.org; Fri, 17 Feb 2012 11:36:51 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:59892) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RyQnd-0000N0-7Y for qemu-devel@nongnu.org; Fri, 17 Feb 2012 11:36:45 -0500 Message-ID: <4F3E8219.4060401@codesourcery.com> Date: Fri, 17 Feb 2012 10:36:41 -0600 From: Meador Inge MIME-Version: 1.0 References: <1329495781-5264-1-git-send-email-meadori@codesourcery.com> <4F3E8040.3040408@siemens.com> In-Reply-To: <4F3E8040.3040408@siemens.com> Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v1 1/1] exec: Fix watchpoint implementation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: qemu-devel@nongnu.org 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 >> --- >> 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: 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. -- Meador Inge CodeSourcery / Mentor Embedded http://www.mentor.com/embedded-software