From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L8eu8-0002kh-11 for qemu-devel@nongnu.org; Fri, 05 Dec 2008 12:55:52 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L8eu6-0002kD-EN for qemu-devel@nongnu.org; Fri, 05 Dec 2008 12:55:51 -0500 Received: from [199.232.76.173] (port=37383 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L8eu6-0002k7-1Z for qemu-devel@nongnu.org; Fri, 05 Dec 2008 12:55:50 -0500 Received: from savannah.gnu.org ([199.232.41.3]:39622 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L8eu5-0001ZX-4x for qemu-devel@nongnu.org; Fri, 05 Dec 2008 12:55:49 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1L8eu1-0007GY-It for qemu-devel@nongnu.org; Fri, 05 Dec 2008 17:55:45 +0000 Received: from blueswir1 by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1L8eu1-0007GT-Cu for qemu-devel@nongnu.org; Fri, 05 Dec 2008 17:55:45 +0000 MIME-Version: 1.0 Errors-To: blueswir1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Blue Swirl Message-Id: Date: Fri, 05 Dec 2008 17:55:45 +0000 Subject: [Qemu-devel] [5887] Attached patch make cpu-exec.c compile on NetBSD. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 5887 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5887 Author: blueswir1 Date: 2008-12-05 17:55:45 +0000 (Fri, 05 Dec 2008) Log Message: ----------- Attached patch make cpu-exec.c compile on NetBSD. Signed-off-by: Christoph Egger Modified Paths: -------------- trunk/cpu-exec.c Modified: trunk/cpu-exec.c =================================================================== --- trunk/cpu-exec.c 2008-12-05 17:54:09 UTC (rev 5886) +++ trunk/cpu-exec.c 2008-12-05 17:55:45 UTC (rev 5887) @@ -1188,17 +1188,32 @@ #elif defined(__x86_64__) +#ifdef __NetBSD__ +#define REG_ERR _REG_ERR +#define REG_TRAPNO _REG_TRAPNO + +#define QEMU_UC_MCONTEXT_GREGS(uc, reg) (uc)->uc_mcontext.__gregs[(reg)] +#define QEMU_UC_MACHINE_PC(uc) _UC_MACHINE_PC(uc) +#else +#define QEMU_UC_MCONTEXT_GREGS(uc, reg) (uc)->uc_mcontext.gregs[(reg)] +#define QEMU_UC_MACHINE_PC(uc) QEMU_UC_MCONTEXT_GREGS(uc, REG_RIP) +#endif + int cpu_signal_handler(int host_signum, void *pinfo, void *puc) { siginfo_t *info = pinfo; + unsigned long pc; +#ifdef __NetBSD__ + ucontext_t *uc = puc; +#else struct ucontext *uc = puc; - unsigned long pc; +#endif - pc = uc->uc_mcontext.gregs[REG_RIP]; + pc = QEMU_UC_MACHINE_PC(uc); return handle_cpu_signal(pc, (unsigned long)info->si_addr, - uc->uc_mcontext.gregs[REG_TRAPNO] == 0xe ? - (uc->uc_mcontext.gregs[REG_ERR] >> 1) & 1 : 0, + QEMU_UC_MCONTEXT_GREGS(uc, REG_TRAPNO) == 0xe ? + (QEMU_UC_MCONTEXT_GREGS(uc, REG_ERR) >> 1) & 1 : 0, &uc->uc_sigmask, puc); }