From owner-freebsd-arch@FreeBSD.ORG Sun Sep 14 09:00:39 2014 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9E8A852D for ; Sun, 14 Sep 2014 09:00:39 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3F4E39FA for ; Sun, 14 Sep 2014 09:00:39 +0000 (UTC) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id s8E90XdI080736 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 14 Sep 2014 12:00:33 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua s8E90XdI080736 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id s8E90XZ5080735; Sun, 14 Sep 2014 12:00:33 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 14 Sep 2014 12:00:33 +0300 From: Konstantin Belousov To: Carsten Mattner Subject: Re: Intel MPX (Skylake ISA) support? Message-ID: <20140914090033.GA2737@kib.kiev.ua> References: <20140913162059.GU2737@kib.kiev.ua> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="l0SlVHLU1TISIWpL" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: freebsd-arch@freebsd.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Sep 2014 09:00:39 -0000 --l0SlVHLU1TISIWpL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Sep 13, 2014 at 09:47:10PM +0200, Carsten Mattner wrote: > On Sat, Sep 13, 2014 at 6:20 PM, Konstantin Belousov > wrote: > > On Sat, Sep 13, 2014 at 12:45:16PM +0200, Carsten Mattner wrote: > >> Are there any plans to include the necessary (kernel, libc) support for > >> Intel MPX (https://en.wikipedia.org/wiki/Intel_MPX)? > > > > I looked at this several times. The 319433 (Instructions Set Extensions > > prog reference) even at the current revision 20 still seems to not prov= ide > > the complete documentation on the CPU side. E.g., could you point me at > > the description of the save area for MPX ? It is required since usermo= de > > bndcfg register can only be set by restoring from the XSAVE area. > > > > That said, I believe that most, if not all, of the needed kernel-side > > support is already there by the generic XSAVE code. > > > > I never see any specification of runtime services expected by the code > > generated by mpx-enabled gcc. >=20 > Is https://lkml.org/lkml/2014/9/11/182 helpful? Not for me. I have zero interest in reverse-engineering Linux code for core CPU functionality. Intel usually provides high-quality documentation for the processors, and I hope that they will provide all needed information together with the hardware release. Another significant missing piece is the lack of description of the initial state and expectation of the runtime support in the ABI document. The ABI draft 0.3 from July 17, 2013, specially edited for MPX, only talks about argument passing conventions and dwarf, it seems. It is curious discussion about non-feasibility of implementing MPX translation tables in usermode. Just for fun, I will try to do something purely in usermode (when/if hardware will be available). --l0SlVHLU1TISIWpL Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBAgAGBQJUFVkxAAoJEJDCuSvBvK1BLn0P+wbB+reTsqJb+UrBaxmRyfnE WrspBbYMlD3vLFVE8bCR3Gy1CIHrwaS96DQWQW5V5gWvyXnMsfe+jKYSqBVegMkg V47JLbEmqjPXdSZEd7u4vxFVpaTFTJCkQgRKZJEIOe+wdxnfNzAJ8dK9mGfhE4lD f8CwdcZFuheM7aQajHHkC5nbCJ+eMeU1YkmKkdqVX+cojGwyk2RbsghctrygqpCg Sv/DlLgiKGHqb1Pkgpi3A35UyF8ZE1DrJkS8WY+IVWwkJ05oV/g+blX1UGsabn8i A1LKR0I43nKrDlr/zhkJ3asmPtxO/WNsLQddAvCyDLyJCO8jsvep4Nlzfu2aysBY j50vL+sBLQmDUm628WvZJhl8l39COQLobsP9yu05AJiqZusJR9mAbI3ozUruDT1g WU6/W1wfqieo3Wb4wDnB7bOxn4e1uhZwzssx9fLCjXfWOAadhoOVlbMsZsmuQm4x AGdeep2rfKwceFjg1EnhMHGBimZEaXRg5Hb+8dHy6wWri0C6GVDsJgOO4SL2Tsvm FSWryKG5rjef+56GCZkLeiG6FNPGtPnJuftYWZS6rpcWJ5yCL0Lgja6zZORwOXlZ BTdMtjhLgDBloVirCBbt6EhoTbdK6iEDXagJQtZMlz3XmvLMm1XBF3/LbqbaMTW/ JzPFhXsDOJ25Lh6+i0s1 =N7ZO -----END PGP SIGNATURE----- --l0SlVHLU1TISIWpL--