From owner-freebsd-current Wed Feb 6 19:40: 9 2002 Delivered-To: freebsd-current@freebsd.org Received: from rwcrmhc53.attbi.com (rwcrmhc53.attbi.com [204.127.198.39]) by hub.freebsd.org (Postfix) with ESMTP id 6946D37B41D for ; Wed, 6 Feb 2002 19:40:00 -0800 (PST) Received: from peter3.wemm.org ([12.232.27.13]) by rwcrmhc53.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020207034000.HNWC10199.rwcrmhc53.attbi.com@peter3.wemm.org> for ; Thu, 7 Feb 2002 03:40:00 +0000 Received: from overcee.wemm.org (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id g173dxs83686 for ; Wed, 6 Feb 2002 19:39:59 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.wemm.org (Postfix) with ESMTP id A28D739F1; Wed, 6 Feb 2002 19:39:59 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Julian Elischer Cc: Andrew Gallatin , Jake Burkholder , current@FreeBSD.ORG Subject: Re: Non 386 testers REALLY NEEDED In-Reply-To: Date: Wed, 06 Feb 2002 19:39:59 -0800 From: Peter Wemm Message-Id: <20020207033959.A28D739F1@overcee.wemm.org> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Julian Elischer wrote: > > > On Wed, 6 Feb 2002, Andrew Gallatin wrote: > > > > > Jake Burkholder writes: > > > > What's the "right" way to do this? > > > > > > I think you want lda, its used to load an address constant in support.s: > > > > > > lda t0, fusufault /* trap faults */ > > > > Bingo! Thanks.. I haven't done any alpha assembler in nearly a year.. > > > > Julian -- you need to add this to your diff: > > > > > > Index: alpha/alpha/locore.s > > =================================================================== > > RCS file: /home/ncvs/src/sys/alpha/alpha/locore.s,v > > retrieving revision 1.20 > > diff -u -r1.20 locore.s > > --- alpha/alpha/locore.s 11 Dec 2001 23:33:38 -0000 1.20 > > +++ alpha/alpha/locore.s 7 Feb 2002 01:05:10 -0000 > > @@ -119,7 +119,7 @@ > > /* > > * Switch to proc0's PCB. > > */ > > - ldq t0,thread0 /* get phys addr of pcb */ > > + lda t0,thread0 > > ldq a0,TD_MD_PCBPADDR(t0) > > SWITCH_CONTEXT > > Included.. thanks. > > > > > > > Buildworld fails in libkvm with the first diff... I assume > > THe following code is also wrong then.. > > alloc r16=ar.pfs,0,0,1,0 > ;; > movl out0=thread0 > ;; > ld8 out0=[out0] > ;; > add out0=TD_PCB,out0 > in ia64/ia64/locore.s > > > > anyone know the correct instruction? > leal out0=thread0 ? Just delete the following: ld8 out0=[out0] ;; The "movl out0=thread0" instruction gets the constant address of thread0 into the out0- register. The "ld8 out0=[out0]" instruction dereferenced it (which we want to stop), and the third "add out0=TD_PCB,out0" calculated an offset within the thread0 struct. ie: get rid of the deref. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message