[parisc-linux] Re: schedule_tail
Matthew Wilcox
matthew@wil.cx
Thu, 22 Feb 2001 11:24:41 -0700
On Thu, Feb 22, 2001 at 02:43:31PM +0000, Richard Hirst wrote:
> On Fri, Feb 23, 2001 at 01:28:36AM +1100, Alan Modra wrote:
> > This is really crazy (or I am). I replaced the calls to schedule_tail
>
> This helps for me. b,l disassembles as call, not b,l ...,rp:
>
> ===================================================================
> RCS file: /home/cvs/parisc/linux/arch/parisc/kernel/entry.S,v
> retrieving revision 1.72
> diff -u -r1.72 entry.S
> --- entry.S 2001/02/20 02:19:52 1.72
> +++ entry.S 2001/02/22 14:33:43
> @@ -509,7 +509,7 @@
>
> /* Call schedule_tail first though */
>
> - b,l schedule_tail, %r2
> + bl schedule_tail, %r2
This is crazy. entry.S is .level 2.0. bl is not a pa2.0 opcode, b,l is!
What is going on?!
Wait. Is it...
`The word displacement is assembled from the w, w1, w2, and (when the
,L completer is specified with GR 2 as the link register) w3 fields in
the instruction.''
which, iirc is not available on pa1.1 processors. So here's the crucial
difference. Not 32-bit vs 64-bit. Not SMP vs UP. But pa1.1 vs 2.0.
--
Revolutions do not require corporate support.