Linux MIPS Architecture development
 help / color / mirror / Atom feed
* IP22 64bit kernel
@ 2007-09-11 21:30 Thomas Bogendoerfer
  2007-09-12 23:15 ` Ralf Baechle
  2007-09-13  7:05 ` Kumba
  0 siblings, 2 replies; 6+ messages in thread
From: Thomas Bogendoerfer @ 2007-09-11 21:30 UTC (permalink / raw)
  To: linux-mips

I finally figured out, why 64bit SGI IP22 kernels are broken (at
least when booted with SGI sash). Looks like sash jumps to an uncached
XPHYS address instead of the KSEG0 address indicated by the ELF start.
This messes up bogomips calculation.

I found an interesting piece of code in head.S:

        .macro  ARC64_TWIDDLE_PC
#if defined(CONFIG_ARC64) || defined(CONFIG_MAPPED_KERNEL)
        /* We get launched at a XKPHYS address but the kernel is linked
 * to
           run at a KSEG0 address, so jump there.  */
        PTR_LA  t0, \@f
        jr      t0
\@:
#endif
        .endm


Enabling this for (CONFIG_SGI_IP22 && CONFIG_64BIT) fixes the boot problem.
It's not big deal to add this, but I'm wondering why we not just always
use this macro ? What platforms do it break with it ?

Thomas.
 
-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea.                                                [ RFC1925, 2.3 ]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-10-17 18:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-11 21:30 IP22 64bit kernel Thomas Bogendoerfer
2007-09-12 23:15 ` Ralf Baechle
2007-09-13  7:05 ` Kumba
2007-09-13 15:50   ` Ralf Baechle
2007-09-13 18:23     ` Thomas Bogendoerfer
2007-10-17 18:36       ` Ralf Baechle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox