From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mpj5t-0000hK-Cr for qemu-devel@nongnu.org; Mon, 21 Sep 2009 09:38:17 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mpj5p-0000h8-T6 for qemu-devel@nongnu.org; Mon, 21 Sep 2009 09:38:17 -0400 Received: from [199.232.76.173] (port=56353 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mpj5p-0000h5-O7 for qemu-devel@nongnu.org; Mon, 21 Sep 2009 09:38:13 -0400 Received: from belushi.uits.indiana.edu ([129.79.1.188]:60411) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Mpj5p-0003mH-7e for qemu-devel@nongnu.org; Mon, 21 Sep 2009 09:38:13 -0400 Subject: qemu-system-alpha (was: Re: [Qemu-devel] [PATCH] Fix extlh instruction on Alpha) From: Brian Wheeler In-Reply-To: <200909202120.30891.rob@landley.net> References: <20090917152502.G54732@stanley.csl.cornell.edu> <200909202120.30891.rob@landley.net> Content-Type: text/plain Date: Mon, 21 Sep 2009 09:31:49 -0400 Message-Id: <1253539909.28721.54.camel@nibbler.dlib.indiana.edu> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Rob Landley Cc: qemu-devel@nongnu.org On Sun, 2009-09-20 at 21:20 -0500, Rob Landley wrote: > On Thursday 17 September 2009 14:28:52 Vince Weaver wrote: > > The extlh instruction on Alpha currently doesn't work properly. > > It's a combination of a cut/paste bug (16 where it should be 32) as well > > as a "shift by 64" bug. > > > > This improves on an earlier patch that used labels, conditional jumps, > > and local variables. Thanks go especially to Aurelien Jarno and Andreas > > Schwab who have a much better eye for bit-wise TCG optimization than I do. > > > > Vince > > Any idea how hard it would be to whip up a qemu-system-alpha emulation? I > note that several real-world alpha boards were essentially just a PC with a > different processor. Yep. The ES40 used the ALI1543 chipset and was pretty pc-ish is most respects. There were a couple of DEC specific chips on board (such as an IOMMU). But the hardware isn't the real problem, I don't think. I think the real problems (for QEMU, at least) are the PAL and SRM. The PAL adds several os-specific pseudo-instructions to the instruction set. MILO has a linux palcode, but no other open source ones are available that I know of. Without VMS or Tru64 Palcode you're limited to linux. I think the BSDs use the Tru64 Palcode. I suppose its possible to have the palcode routines hard-coded into qemu, though you'd need several sets of them (one for each supported OS type) There doesn't seem to be an open source SRM which can be used to boot the machine and provide the initial user interface. MILO also performs this function, but its hard to build and pretty old. I believe that charon axp solves this problem by having their own mini-implementation of the srm (and presumably the PAL) which only supports setting/viewing the environment and booting. The real SRM has lots of features that aren't really needed on emulated hardware. > I'd like to boot Alpha Linux on qemu, and it doesn't seem like there's _that_ > much more to do. But last I asked (a couple years ago) I was told the Alpha > protected mode stuff wasn't implemented yet... There were patches last year for an es40, but they never made it to the main tree...and weren't quite finished.