This is the mail archive of the
mailing list for the GDB project.
Re: [RFA] W.I.P. AltiVec ppc registers support.
- From: Elena Zannoni <ezannoni at cygnus dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Sun, 2 Dec 2001 13:34:16 -0500
- Subject: Re: [RFA] W.I.P. AltiVec ppc registers support.
- References: <firstname.lastname@example.org><20011129012730.A19781@nevyn.them.org>
Daniel Jacobowitz writes:
> On Wed, Nov 28, 2001 at 09:15:35PM -0500, Elena Zannoni wrote:
> > AltiVec registers are 32 128-bit wide registers found on the G4
> > powerpc processor family. This patch adds some initial support for
> > such registers to gdb on a linux ppc platform.
> > The Altivec registers are not displayed in a normal 'info reg' command
> > output. They are shown (like fp regs) if one says 'info all' instead.
> > Furthermore I added a specific 'info power altivec' command to display
> > just the Altivec registers. (I am not sure that the word 'power' is
> > the best choice, maybe simply 'ppc' or 'powerpc' is better). This way
> > the command as just a specific powerpc info command, w/o it being a
> > generic info command avaliable on every platform.
> > If there is no kernel support for ptrace to handle the AltiVec
> > registers, they will display as 0's.
> Wait, I knew I was forgetting something important.
> There is no kernel support for this feature in any public PowerPC
> kernel tree, and to my knowledge there has been no suggested patch for
> it on any of the public LinuxPPC forums. As such, the interface to it
> is still up in the air. I've discussed this with other kernel folk at
> various times, and the general consensus is that, instead of adding
> them to the user area and using PEEKUSR, someone should simply
> implement PTRACE_GETFPXREGS (perhaps just PTRACE_GETXREGS, as the FP
> does not really apply, but consistency...). We almost never want to
> fetch just one altivec register, excepting maybe VRSAVE, and GETFPXREGS
> takes negligibly more time than a single PEEKUSR call.
Hold on, I looked at the altivec.org and at the linuxppc.org mailing
There is actually a patch posted at the beginning of September to
which you replied at some stage. And this patch is similar to the one
I have used for implementing GDB altivec support.
The version of the patch I have was provided by Motorola, and they are
about to submit it publicly. The patch is virtually identical to the
one posted on linuxppc.org except for the definition of PT_VR0 which
in the latter is (errouneously) made to be aligned on 128-bits. So
for the patch I have PT_VR0 is simply PT_FPSCR + 1, not 128.
My gdb implementation works also for machines w/o altivec ptrace
support, because in that case the ptrace call just errors out and that
condition is detected (I am talking about my original patch, w/o the
changes that Kevin suggested). This was one objection to the kernel
patch that I've seen raised on the linuxppc list.
The thread subject is "AltiVec aware ptrace for Linux"
and the original postings are on
follow the email archive link at the bottom of the page (this archive
is a total pain to look through).
> Daniel Jacobowitz Carnegie Mellon University
> MontaVista Software Debian GNU/Linux Developer