From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23866 invoked by alias); 18 Nov 2013 19:21:39 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 23812 invoked by uid 89); 18 Nov 2013 19:21:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.0 required=5.0 tests=AWL,BAYES_50,RDNS_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from Unknown (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 18 Nov 2013 19:20:35 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rAIJKQ82013184 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 18 Nov 2013 14:20:26 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id rAIJKORi006043; Mon, 18 Nov 2013 14:20:25 -0500 Message-ID: <528A6878.2090903@redhat.com> Date: Mon, 18 Nov 2013 20:26:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Walfred Tedeschi CC: tromey@redhat.com, mark.kettenis@xs4all.nl, gdb-patches@sourceware.org Subject: Re: [PATCH V7 8/8] Add MPX feature description to GDB manual. References: <1381320034-4092-1-git-send-email-walfred.tedeschi@intel.com> <1381320034-4092-9-git-send-email-walfred.tedeschi@intel.com> In-Reply-To: <1381320034-4092-9-git-send-email-walfred.tedeschi@intel.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2013-11/txt/msg00489.txt.bz2 On 10/09/2013 01:00 PM, Walfred Tedeschi wrote: > +The @samp{org.gnu.gdb.i386.mpx} is an optional feature representing Intel(R) > +Memory Protection Extension (MPX). MPX adds the bound registers @samp{BND0} > +@footnote{Capital letters were used to distinguish between architecture > +registers and pseudo registers. I'd suggest s/were/are. (here and elsewhere) > A set of pseudo register for the bound > +registers were created to simplify the display.} through @samp{BND3}. Bound > +registers store a pair of 64-bit values which are the lower bound and upper > +bound. Bounds are effective addresses or memory locations. The upper bounds > +are architecturally represented in 1's complement form. A bound having lower > +bound = 0, and upper bound = 0 (1's complement of all bits set) will allow > +access to the entire address space. > + > +In order to take the upper bound complement > +of one into account the @samp{BND0} through @samp{BND3} are described in GDB > +as @samp{bnd0raw} through @samp{bnd3raw}. Pseudo registers @samp{bnd0} through > +@samp{bnd3} display the upper bound performing the complement of one operation, > +i.e.@ when upper bound in @samp{bnd0raw} is 0 in the GDB @samp{bnd0} it will be > +@code{0xfff...}. The feature adds the following registers: This node is mostly meant for remote stub writers. I'd suggest only describing here what's included in the description (the raw registers), and describe the pseudo registers elsewhere where regular users will look (making sure to word things in a user-friendly way, perhaps with examples.) Perhaps in Architectures->i386 (x86 Architecture-specific Issues)? > + > +@itemize @minus > +@item > +@samp{bnd0raw} through @samp{bnd3raw} for i386, amd64 and x32. > +@item > +@samp{bndcfgu} and @samp{bndstatus} for i386, amd64 and x32. > +@end itemize > + > The @samp{org.gnu.gdb.i386.linux} feature is optional. It should > describe a single register, @samp{orig_eax}. -- Pedro Alves