From: Al Viro gcc4 is less forgiving and wants memory inputs to be real lvalues; variable added and value stored in it explicitly before doing __asm__. Signed-off-by: Al Viro Cc: Roman Zippel Signed-off-by: Andrew Morton --- arch/m68k/mac/misc.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN arch/m68k/mac/misc.c~m68k-memory-input-should-be-an-lvalue-mac-miscc arch/m68k/mac/misc.c --- devel/arch/m68k/mac/misc.c~m68k-memory-input-should-be-an-lvalue-mac-miscc 2006-01-04 22:24:04.000000000 -0800 +++ devel-akpm/arch/m68k/mac/misc.c 2006-01-04 22:24:04.000000000 -0800 @@ -572,12 +572,13 @@ void mac_reset(void) /* make a 1-to-1 mapping, using the transparent tran. reg. */ unsigned long virt = (unsigned long) mac_reset; unsigned long phys = virt_to_phys(mac_reset); + unsigned long addr = (phys&0xFF000000)|0x8777; unsigned long offset = phys-virt; local_irq_disable(); /* lets not screw this up, ok? */ __asm__ __volatile__(".chip 68030\n\t" "pmove %0,%/tt0\n\t" ".chip 68k" - : : "m" ((phys&0xFF000000)|0x8777)); + : : "m" (addr)); /* Now jump to physical address so we can disable MMU */ __asm__ __volatile__( ".chip 68030\n\t" _