This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Extend gdb remote protocol for AVX


> Date: Thu, 18 Sep 2008 10:27:28 -0700
> From: "H.J. Lu" <hongjiu.lu@intel.com>
> 
> Hi,
> 
> Intel AVX extends 128bit XMM registers to 256bit YMM registers. I
> am enclosing a propose to add YMM register support in gdb.  Since
> there is no AVX hardware, we can only implement the remote debug
> with AVX emulator.
> 
> This patch extends gdb remote protocol for AVX, based on Daniel's
> patch to auto-detect ia32 and x86-64 executables:
> 
> http://sources.redhat.com/ml/gdb-patches/2006-11/msg00056.html
> 
> I tested it by setting x86_sse_unit to avx in gdbserver/i387-fp.c.  OK
> to install?

Let's wait until there is actual hardware.

> 2008-09-18  H.J. Lu  <hongjiu.lu@intel.com>
> 
> 	* amd64-linux-tdep.c (amd64_linux_init_abi): Call
> 	i386_register_g_packet_guesses.
> 	* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
> 
> 	* amd64-tdep.c (amd64_register_names): Renamed to ...
> 	(amd64_sse_register_names): This.
> 	(amd64_avx_register_names): New.
> 	(AMD64_NUM_REGS): Updated.
> 	(amd64_register_name): Handle sse_unit.
> 	(amd64_init_abi): Call i386_gdbarch_sse_unit_init.
> 
> 	* amd64-tdep.h (AMD64_G_PACKET_SIZE_SSE): New.
> 	(AMD64_G_PACKET_SIZE_AVX): Likewise.
> 
> 	* i386-tdep.c: Include "remote.h" and "target-descriptions.h".
> 	(I386_PROPERTY_SSE): New.
> 	(I386_PROPERTY_AVX): Likewise.
> 	(i386_tdesc_sse): Likewise.
> 	(i386_tdesc_avx): Likewise.
> 	(i386_avx_register_names): Likewise.
> 	(i386_vec128_type): Likewise.
> 	(i386_vec256_type): Likewise.
> 	(i386_init_tdesc): Likewise.
> 	(i386_register_g_packet_guesses): Likewise.
> 	(i386_gdbarch_sse_unit_init): Likewise.
> 	(i386_register_names): Renamed to ...
> 	(i386_sse_register_names): This.
> 	(i386_num_register_names): Updated.
> 	(i386_register_name): Handle sse_unit.
> 	(i386_sse_type): Likewise.
> 	(i386_gdbarch_init): Call i386_gdbarch_sse_unit_init and
> 	i386_register_g_packet_guesses.
> 	(_initialize_i386_tdep): Call i386_init_tdesc.
> 
> 	* i386-tdep.h (x86_sse_unit): New.
> 	(I386_G_PACKET_SIZE_SSE): Likewise.
> 	(I386_G_PACKET_SIZE_AVX): Likewise.
> 	(i386_register_g_packet_guesses): Likewise.
> 	(i386_gdbarch_sse_unit_init): Likewise.
> 	(gdbarch_tdep): Add sse_unit.
> 	(I386_MAX_REGISTER_SIZE): Increase to 32.
> 
> 	* i387-tdep.c (i387_supply_fxsave): Assert sse_unit on SSE
> 	registers.
> 
> 	* defs.h (MAX_REGISTER_SIZE): Increase to 32.
> 
> 	* regformats/reg-i386-avx.dat: New.
> 	* regformats/reg-i386-avx-linux.dat: Likewise.
> 	* regformats/reg-x86-64-avx.dat: Likewise.
> 	* regformats/reg-x86-64-avx-linux.dat: Likewise.
> 
> 	* regformats/reg-x86-64.dat: Add xmlarch.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]