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 - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to