Re: [PATCH]: Remove CONFIG_BUILD_ELF64 entirely

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 28 Mar 2007 21:50:28 -0400, Kumba <kumba@xxxxxxxxxx> wrote:
> Doing some tests, I found out that by commenting out one or more of the 
> daddui/dsll instructions for IP32 produced a kernel that still booted, but hung 
> at running init/freeing kernel memory.  Using the single lui booted once, but I 
> suspect that was my fault on not doing something proper, cause the next time 
> around, it didn't boot at all.  I tested this all on a real console, versus 
> serial, case there was an early panic or something.  But I see nothing to 
> indicate why IP32 dislikes the lui->ld sequence versus the 
> lui->daddui->dsll->etc->ld sequence.

Hmm... really strange.

This is OK:
		lui	k1, %highest(kernelsp)
		daddiu	k1, %higher(kernelsp)
		dsll	k1, k1, 16
		daddiu	k1, %hi(kernelsp)
		dsll	k1, k1, 16

This is NG:
		lui	k1, %hi(kernelsp)

So, could you try this one?

		nop
		nop
		nop
		nop
		lui	k1, %hi(kernelsp)

If it booted, the problem should be in something irrelevant place.
I.e. this optimization just triggers other bug by code/data movement.

---
Atsushi Nemoto


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux