From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51920) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XN6VN-000060-G7 for qemu-devel@nongnu.org; Thu, 28 Aug 2014 16:41:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XN6VE-00056c-F1 for qemu-devel@nongnu.org; Thu, 28 Aug 2014 16:41:13 -0400 Received: from mail-wi0-x236.google.com ([2a00:1450:400c:c05::236]:43908) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XN6VE-00056X-6q for qemu-devel@nongnu.org; Thu, 28 Aug 2014 16:41:04 -0400 Received: by mail-wi0-f182.google.com with SMTP id z2so1559132wiv.9 for ; Thu, 28 Aug 2014 13:41:03 -0700 (PDT) From: Jaume Marti Farriol Date: Thu, 28 Aug 2014 22:44:33 +0200 Message-Id: <1409258680-15555-2-git-send-email-jaume.martif@gmail.com> In-Reply-To: <1409258680-15555-1-git-send-email-jaume.martif@gmail.com> References: <1409258680-15555-1-git-send-email-jaume.martif@gmail.com> Subject: [Qemu-devel] [PATCH v2 1/8] target-i386: x87 exception pointers using TCG. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , Vadim Rozenfeld , Richard Henderson , =?UTF-8?q?Andreas=20F=C3=A4rber?= , "Michael S. Tsirkin" Hello, In this patch I just add new fields in the CPUX86State struct to store the exception pointers. Also I remove unnecessary parameters from cpu_x86_fsave and cpu_x86_frstor helpers. Best regards, Jaume cpu.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) signed-off: jaume.martif@gmail.com diff --git a/target-i386/cpu.h b/target-i386/cpu.h index e634d83..4274ce3 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -819,10 +819,11 @@ typedef struct CPUX86State { uint16_t fpuc; uint8_t fptags[8]; /* 0 = valid, 1 = empty */ FPReg fpregs[8]; - /* KVM-only so far */ - uint16_t fpop; + uint32_t fpop; uint64_t fpip; uint64_t fpdp; + uint32_t fpcs; + uint32_t fpds; /* emulator internal variables */ float_status fp_status; @@ -1067,8 +1068,8 @@ floatx80 cpu_set_fp80(uint64_t mant, uint16_t upper); /* the following helpers are only usable in user mode simulation as they can trigger unexpected exceptions */ void cpu_x86_load_seg(CPUX86State *s, int seg_reg, int selector); -void cpu_x86_fsave(CPUX86State *s, target_ulong ptr, int data32); -void cpu_x86_frstor(CPUX86State *s, target_ulong ptr, int data32); +void cpu_x86_fsave(CPUX86State *s, target_ulong ptr); +void cpu_x86_frstor(CPUX86State *s, target_ulong ptr); /* you can call this signal handler from your SIGBUS and SIGSEGV signal handlers to inform the virtual CPU of exceptions. non zero