Re: [Linux-ia64] 2.4.14 Missing asm clobbers

From: David Mosberger <davidm_at_hpl.hp.com>
Date: 2001-11-27 10:12:57
>>>>> On Wed, 21 Nov 2001 11:40:56 +1100, Keith Owens <kaos@ocs.com.au> said:

  Keith> include/asm-ia64/spinlock.h.

  Keith>   spin_lock() changes ar.ccv, p7 without a clobber (!NEW_LOCK
  Keith> version).  read_lock() changes p6 without a clobber.
  Keith> write_lock() changes ar.ccv, p7 without a clobber.

Ok, those should be fixed now.  They clearly are needed, though I
don't think the missing ar.ccv really had any effect because gcc uses
that register only for the builtin synchronization ops use them (which
we don't use in the kernel).

  Keith> arch/ia64/kernel/traps.c

  Keith>   fp_emulate() does ldf f10, f11 without a clobber.

That's fine because f10 and f11 are marked "fixed" on the command
line.

  Keith> arch/ia64/kernel/unaligned.c

  Keith>   invala_gr() and invala_fr() do invala without a "memory"
  Keith> clobber.  Not sure if it is necessary or not.

This is fine because the instructions affect the code that caused the
unaliged access, not the unaligned handler itself.  However, we
shouldn't need that code anymore because we now do an "invala" on
entry to the kernel.  I'll remove it in 2.5.xx.

Thanks,

	--david
Received on Mon Nov 26 15:13:18 2001

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:06 EST