Date: Sun, 27 Oct 2002 17:14:37 +0100 (CET) From: Mark Kettenis <kettenis@chello.nl> To: thorpej@wasabisystems.com Cc: freebsd-arch@freebsd.org, bsd-api-discuss@wasabisystems.com Subject: Re: ptrace(2) and vector registers Message-ID: <200210271614.g9RGEbFD005532@elgar.kettenis.dyndns.org> In-Reply-To: <20021026091608.L19682@dhcp7.wlan.shagadelic.org> (message from Jason R Thorpe on Sat, 26 Oct 2002 09:16:08 -0700) References: <200210212039.g9LKdMjS001116@elgar.kettenis.dyndns.org> <20021026091608.L19682@dhcp7.wlan.shagadelic.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Date: Sat, 26 Oct 2002 09:16:08 -0700 From: Jason R Thorpe <thorpej@wasabisystems.com> That "s" on the end is my fault -- guess I got a little carried away (it's certainly possible that my brain silently added the "s" without my knowledge every time I typed it :-) I've been known to do that myself from time to time too ;-). I suppose a "struct vreg" would be fine. I could certainly change NetBSD/i386 to use that name (keeping the "xmmregs" name around for backward compatibility). Right now GDB doesn't use `struct xmmregs', and never has. Instead it uses a 512-byte character array. I've no intention to change that. So feel free to punt backwards compatibility. The danger is, of course, that at some point in the future, the XMM stuff will be extended yet again, leaving us with a useless generic name. If only I had that crystal ball :-(. You never know what Intel is going to put in the remaining bytes of the "FXSAVE/FXRSTOR Memory Region". One could argue that XMMREGS is "useless" already, since the MMX registers are also included. Anyway, I'll try to get the PT_GETVREGS request integrated in FreeBSD -current. I'll drop you a note when/if I've succeeded. There's no point in changing NetBSD if we don't know if my patch is going to be accepted. In fact, NetBSD/arm already has this problem -- there are two distinct types of floating point register sets -- the FPA (old floating point accelerator available for e.g. ARM7) and VFP (the vector floating point defined by ARMv5). Don't let the "vector" in VFP fool you -- it is also used to plain old IEEE FP -- so in your world, would that be "fpreg" or "vreg"? Most likely fpreg. If an architecture has floating-point registers, they should be made available via the PT_GETFPREGS request (unless they're already included with the general-purpose registers in the PT_GETREGS request). And I don't think we should artificially create a seperate PT_GETVREGS request if the FPU also provides some sort of vector operations. However if Actually on the i386 `struct vreg' will also contain the plain old FP registers, fortunately for me they also get used for the MMX registers which do have the `vector' charcter :-). Mark To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210271614.g9RGEbFD005532>