public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.5.5 on Sparc, Ughh...
@ 2002-02-20 16:12 Holzrichter, Bruce
  2002-02-20 16:39 ` David S. Miller
  0 siblings, 1 reply; 5+ messages in thread
From: Holzrichter, Bruce @ 2002-02-20 16:12 UTC (permalink / raw)
  To: 'ultralinux@vger.kernel.org'
  Cc: 'linux-kernel@vger.kernel.org',
	'davem@redhat.com'

Ok.  For the adventurous types, you'll at the very least need to apply the
below included patches to get Sparc64 to begin the compilation process at
all.   Here is some details:

/include/asm-sparc64/mmu_context.h - movement of the #define for MAX_PRIO_RT
in the scheduler causes the compile to fail here.  My patch below will
comment out at least the failing Function, which does not appear to be doing
anything usefull anyways.

/kernel/sched.c - Ingo changed the scheduler switch_to() to 2 arguments
rather than three, but the appropriate assembly changes have not been
applied to /asm-sparc64/system.h.  Ingo pointed me  to a work around for
this for now, by changing the swicht_to() back to three args for sched.c.
This is not the correct fix, but will get the compile to continue.

>From here, I am getting the following errors compiling filemap.c.  Anyone at
all have any luck getting Sparc to compile with 2.5.5?  

 `flush_dcache_page' doesn't match global one

/usr/src/linux-2.5.5/include/linux/highmem.h: In function
`truncate_list_pages':
 

/usr/src/linux-2.5.5/include/linux/highmem.h:112: conflicting types for
`flush_d
cache_page'

/usr/src/linux-2.5.5/include/asm/pgalloc.h:43: previous declaration of
`flush_dc
ache_page'

/usr/src/linux-2.5.5/include/linux/highmem.h:112: warning: extern
declaration of
 `flush_dcache_page' doesn't match global one

filemap.c: In function `filemap_sync_pte_range':

filemap.c:2078: warning: implicit declaration of function `pte_offset_map'

filemap.c:2078: warning: assignment makes pointer from integer without a
cast   
filemap.c:2088: warning: implicit declaration of function `pte_unmap'

make[2]: *** [filemap.o] Error 1

make[2]: Leaving directory `/usr/src/linux-2.5.5/mm'

make[1]: *** [first_rule] Error 2

make[1]: Leaving directory `/usr/src/linux-2.5.5/mm'

make: *** [_dir_mm] Error 2


Thanks,
Bruce H.

Here are the patch diffs to get Sparc to compile at all....

--- mmu_context.h.old	Wed Feb 20 09:01:26 2002
+++ mmu_context.h	Wed Feb 20 09:05:08 2002
@@ -28,14 +28,19 @@
 #include <asm/spitfire.h>
 
 /*
+ * ??? Is this needed here?  This function does not appear to be
+ * Working, and is broken after the 2.5 change to MAX_RT_PRIO being
+ * moved from sched.h to sched.c 
+ *
  * Every architecture must define this function. It's the fastest
  * way of searching a 168-bit bitmap where the first 128 bits are
  * unlikely to be set. It's guaranteed that at least one of the 168
  * bits is cleared.
+ *
+ * #if MAX_RT_PRIO != 128 || MAX_PRIO != 168
+ * # error update this function.
+ * #endif
  */
-#if MAX_RT_PRIO != 128 || MAX_PRIO != 168
-# error update this function.
-#endif
 
 static inline int sched_find_first_bit(unsigned long *b)
 {




--- sched.c.old	Wed Feb 20 09:38:37 2002
+++ sched.c	Wed Feb 20 09:39:15 2002
@@ -437,7 +437,7 @@
 	}
 
 	/* Here we just switch the register state and the stack. */
-	switch_to(prev, next);
+	switch_to(prev, next, prev);
 }
 
 unsigned long nr_running(void

^ permalink raw reply	[flat|nested] 5+ messages in thread
* RE: 2.5.5 on Sparc, Ughh...
@ 2002-02-20 19:27 Holzrichter, Bruce
  0 siblings, 0 replies; 5+ messages in thread
From: Holzrichter, Bruce @ 2002-02-20 19:27 UTC (permalink / raw)
  To: 'David S. Miller'; +Cc: ultralinux, linux-kernel

> You can start out with the below to fix things correctly.  The only
> unhandled thing is the pte_offset stuff and I'll work on that some time
> later today.

Thanks Dave,

I finally had the chance to try out your changes.  That pesky work thing
keeps getting in my way.  So far so good, from a clean tree, they apply
fine, and fix all the other issues up to the pte_offset issues in filemap.c.
If you get to them, shoot me a copy and I'll apply and test for you.

 I see alot of warnings still from flush_dcache_page in
/include/linux/highmem.h and it looks like a duplicate declaration in
/asm-sparc64/pgalloc.h, but I have not had the chance to check that out yet.
I'll try to follow it up if you haven't seen that one yet.

On a side note, though not arch specific, if you use ramdisk, you'll need to
apply the patch below that removes second argument to bi_end_io that was
removed earlier in the series.  I have seen a patch floating around,
hopefully it will get pushed up the chain.

Thanks again for your help!
Bruce H.

--- drivers/block/rd.c.old	Wed Feb 20 14:20:53 2002
+++ drivers/block/rd.c	Wed Feb 20 12:42:52 2002
@@ -268,7 +268,7 @@
 		goto fail;
 
 	set_bit(BIO_UPTODATE, &sbh->bi_flags);
-	sbh->bi_end_io(sbh, len >> 9);
+	sbh->bi_end_io(sbh);
 	return 0;
  fail:
 	bio_io_error(sbh)


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

end of thread, other threads:[~2002-02-21 16:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-02-20 16:12 2.5.5 on Sparc, Ughh Holzrichter, Bruce
2002-02-20 16:39 ` David S. Miller
2002-02-21  8:04   ` george anzinger
2002-02-21 16:52     ` Robert Love
  -- strict thread matches above, loose matches on Subject: below --
2002-02-20 19:27 Holzrichter, Bruce

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