From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JuOIq-0002ox-Ph for qemu-devel@nongnu.org; Fri, 09 May 2008 04:50:08 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JuOIp-0002og-VH for qemu-devel@nongnu.org; Fri, 09 May 2008 04:50:08 -0400 Received: from [199.232.76.173] (port=56182 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JuOIp-0002od-Nd for qemu-devel@nongnu.org; Fri, 09 May 2008 04:50:07 -0400 Received: from savannah.gnu.org ([199.232.41.3]:59132 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 1JuOIp-0002Ez-Ar for qemu-devel@nongnu.org; Fri, 09 May 2008 04:50:07 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1JuOIo-0005di-02 for qemu-devel@nongnu.org; Fri, 09 May 2008 08:50:06 +0000 Received: from edgar_igl by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1JuOIm-0005dU-VZ for qemu-devel@nongnu.org; Fri, 09 May 2008 08:50:05 +0000 MIME-Version: 1.0 Errors-To: edgar_igl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: "Edgar E. Iglesias" Message-Id: Date: Fri, 09 May 2008 08:50:04 +0000 Subject: [Qemu-devel] [4392] Remove x86-64 specific reg fillers. 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: 4392 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4392 Author: edgar_igl Date: 2008-05-09 08:50:01 +0000 (Fri, 09 May 2008) Log Message: ----------- Remove x86-64 specific reg fillers. Modified Paths: -------------- trunk/gdbstub.c Modified: trunk/gdbstub.c =================================================================== --- trunk/gdbstub.c 2008-05-09 08:25:14 UTC (rev 4391) +++ trunk/gdbstub.c 2008-05-09 08:50:01 UTC (rev 4392) @@ -238,144 +238,11 @@ } return 0; } -#if defined(TARGET_X86_64) +#if defined(TARGET_I386) static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf) { - uint8_t *p = mem_buf; int i, fpus; - -#define PUTREG(x) do { \ - target_ulong reg = tswapl(x); \ - memcpy(p, ®, sizeof reg); \ - p += sizeof reg; \ - } while (0) -#define PUTREG32(x) do { \ - uint32_t reg = tswap32(x); \ - memcpy(p, ®, sizeof reg); \ - p += sizeof reg; \ - } while (0) -#define PUTREGF(x) do { \ - memcpy(p, &(x), 10); \ - p += sizeof (x); \ - } while (0) - - PUTREG(env->regs[R_EAX]); - PUTREG(env->regs[R_EBX]); - PUTREG(env->regs[R_ECX]); - PUTREG(env->regs[R_EDX]); - PUTREG(env->regs[R_ESI]); - PUTREG(env->regs[R_EDI]); - PUTREG(env->regs[R_EBP]); - PUTREG(env->regs[R_ESP]); - PUTREG(env->regs[8]); - PUTREG(env->regs[9]); - PUTREG(env->regs[10]); - PUTREG(env->regs[11]); - PUTREG(env->regs[12]); - PUTREG(env->regs[13]); - PUTREG(env->regs[14]); - PUTREG(env->regs[15]); - - PUTREG(env->eip); - PUTREG32(env->eflags); - PUTREG32(env->segs[R_CS].selector); - PUTREG32(env->segs[R_SS].selector); - PUTREG32(env->segs[R_DS].selector); - PUTREG32(env->segs[R_ES].selector); - PUTREG32(env->segs[R_FS].selector); - PUTREG32(env->segs[R_GS].selector); - /* XXX: convert floats */ - for(i = 0; i < 8; i++) { - PUTREGF(env->fpregs[i]); - } - PUTREG32(env->fpuc); - fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11; - PUTREG32(fpus); - PUTREG32(0); /* XXX: convert tags */ - PUTREG32(0); /* fiseg */ - PUTREG32(0); /* fioff */ - PUTREG32(0); /* foseg */ - PUTREG32(0); /* fooff */ - PUTREG32(0); /* fop */ - -#undef PUTREG -#undef PUTREG32 -#undef PUTREGF - - return p - mem_buf; -} - -static void cpu_gdb_write_registers(CPUState *env, uint8_t *mem_buf, int size) -{ - uint8_t *p = mem_buf; - uint32_t junk; - int i, fpus; - -#define GETREG(x) do { \ - target_ulong reg; \ - memcpy(®, p, sizeof reg); \ - x = tswapl(reg); \ - p += sizeof reg; \ - } while (0) -#define GETREG32(x) do { \ - uint32_t reg; \ - memcpy(®, p, sizeof reg); \ - x = tswap32(reg); \ - p += sizeof reg; \ - } while (0) -#define GETREGF(x) do { \ - memcpy(&(x), p, 10); \ - p += 10; \ - } while (0) - - GETREG(env->regs[R_EAX]); - GETREG(env->regs[R_EBX]); - GETREG(env->regs[R_ECX]); - GETREG(env->regs[R_EDX]); - GETREG(env->regs[R_ESI]); - GETREG(env->regs[R_EDI]); - GETREG(env->regs[R_EBP]); - GETREG(env->regs[R_ESP]); - GETREG(env->regs[8]); - GETREG(env->regs[9]); - GETREG(env->regs[10]); - GETREG(env->regs[11]); - GETREG(env->regs[12]); - GETREG(env->regs[13]); - GETREG(env->regs[14]); - GETREG(env->regs[15]); - - GETREG(env->eip); - GETREG32(env->eflags); - GETREG32(env->segs[R_CS].selector); - GETREG32(env->segs[R_SS].selector); - GETREG32(env->segs[R_DS].selector); - GETREG32(env->segs[R_ES].selector); - GETREG32(env->segs[R_FS].selector); - GETREG32(env->segs[R_GS].selector); - /* XXX: convert floats */ - for(i = 0; i < 8; i++) { - GETREGF(env->fpregs[i]); - } - GETREG32(env->fpuc); - GETREG32(fpus); /* XXX: convert fpus */ - GETREG32(junk); /* XXX: convert tags */ - GETREG32(junk); /* fiseg */ - GETREG32(junk); /* fioff */ - GETREG32(junk); /* foseg */ - GETREG32(junk); /* fooff */ - GETREG32(junk); /* fop */ - -#undef GETREG -#undef GETREG32 -#undef GETREGF -} - -#elif defined(TARGET_I386) -static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf) -{ - int i, fpus; uint32_t *registers = (uint32_t *)mem_buf; #ifdef TARGET_X86_64