From owner-freebsd-mips@FreeBSD.ORG Tue Jun 1 06:44:02 2010 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51DBE106564A for ; Tue, 1 Jun 2010 06:44:02 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 0E7BE8FC13 for ; Tue, 1 Jun 2010 06:44:01 +0000 (UTC) Received: by vws10 with SMTP id 10so2731347vws.13 for ; Mon, 31 May 2010 23:44:01 -0700 (PDT) Received: by 10.220.122.86 with SMTP id k22mr4228854vcr.165.1275374641085; Mon, 31 May 2010 23:44:01 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.220.199.70 with HTTP; Mon, 31 May 2010 23:43:41 -0700 (PDT) In-Reply-To: References: From: Juli Mallett Date: Mon, 31 May 2010 23:43:41 -0700 X-Google-Sender-Auth: Wh9OaqorVAF7eDMtkY1iLB7zEME Message-ID: To: "C. Jayachandran" Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-mips@freebsd.org Subject: Re: HEADS UP: Toolchain changes coming soon. (Octeon, n32, n64) X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jun 2010 06:44:02 -0000 On Mon, May 31, 2010 at 23:34, C. Jayachandran wrote: > GCC seems to have added mips64r2 support in 4.4 > (http://gcc.gnu.org/gcc-4.4/changes.html) which was a GPLv3 release, > so I was under the impression that we could not merge it into FreeBSD. > Is this a valid concern, or were you able to get the code re-licensed, > Or (the option which is most likely) am I completely off track here :) > > Netlogic's next chip (XLP) too has MIPS64r2 ISA, so we are interested > in getting support for this. Well, let me be clear about the extent of the support. There was already a mips32r2 stub which added support for a couple of things and I extended mips64 to mips64r2 in the same way. It's mostly just there to get mips64r2 instructions to work in binutils (i.e. to proxy the ISA level to the assembler.) I didn't use any GPLv3 sources as a reference, although a search later suggested that the trivial parts of the change (i.e. internally encoding mips64r2 as 65 much as mips32r2 is 33) were similar. If you look at the diff it's pretty clear that calling it support is pretty laughable except wrt being able to assemble inline assembly using those instructions, setting the right default with the assembler and support in GCC for rotate, seb and seh instructions. Is there specific functionality you need in GCC? Juli.