From owner-freebsd-alpha Mon Mar 11 6:16:17 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id 66DE037B400 for ; Mon, 11 Mar 2002 06:16:11 -0800 (PST) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id JAA25269; Mon, 11 Mar 2002 09:16:10 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id g2BEFee93741; Mon, 11 Mar 2002 09:15:40 -0500 (EST) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15500.48140.478588.518164@grasshopper.cs.duke.edu> Date: Mon, 11 Mar 2002 09:15:40 -0500 (EST) To: Daniel Eischen Cc: alpha@FreeBSD.ORG Subject: Re: Tester needed In-Reply-To: <20020311115217.GI4295@cicely8.cicely.de> References: <3C631A1B.68E59BFE@vigrid.com> <20020311115217.GI4295@cicely8.cicely.de> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org > > +#if 1 > > + mcp->mc_regs[FRAME_SP] = alpha_pal_rdusp(); > > +#else > > + mcp->mc_regs[FRAME_SP] = td->td_pcb->pcb_hw.apcb_usp; > > +#endif > > [...] > > > > And what if 'td' is not 'curthread'? Has it been saved in the > > PCB then? Should the above be: > > > > + if (td == curthread) > > + mcp->mc_regs[FRAME_SP] = alpha_pal_rdusp(); > > + else > > + mcp->mc_regs[FRAME_SP] = td->td_pcb->pcb_hw.apcb_usp; > I'm pretty sure that the rdusp() will read the user stack pointer for the current execution context from the PALcode. So if td->td_pcb->pcb_hw.apcb_usp is valid for the context in question, then the above sounds reasonable. Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message