Linux MIPS Architecture development
 help / color / mirror / Atom feed
* 3 questions about linux-2.4.18 and R3000
@ 2002-05-24 22:16 Alexandr Andreev
  2002-05-24 21:10 ` Jun Sun
  0 siblings, 1 reply; 23+ messages in thread
From: Alexandr Andreev @ 2002-05-24 22:16 UTC (permalink / raw)
  To: linux-mips

Hi, list.
I have three little questions with linux-2.4.18 on my machine.

My configuration is:
MIPS R3000, linux-2.4.18 kernel from CVS,
egcs-mips-linux-1.1.2-4 (egcs-2.91.66) and binutils-mips-linux-2.8.1-2

1. When i use MIPS specific arch_get_unmapped_area() function, my kernel
  hangs. It looks like this:
  ...
  Freeing unused kernel memory: 108k freed
  do_page_fault() #2: sending SIGSEGV to init for illegal read access 
from       
  0fb65330 (epc == 0fb65330, ra == 0fb851dc)
  ... and so on. Last message is printed infinitely.

  So, i have to give up HAVE_ARCH_UNMAPPED_AREA feature, and to use
  common arch_get_unmapped_area() routine.

2. There is a strange code in the local_flush_tlb_page() function
  (tlb-r3k.c and tlb-r4k.c):
     ...
         if (!vma || vma->vm_mm->context != 0) {
               unsigned long flags;
               int oldpid, newpid, idx;
  #ifdef DEBUG_TLB
               printk("[tlbpage<%lu,0x%08lx>]", vma->vm_mm->context, page);
  #endif
               newpid = (vma->vm_mm->context & 0xfc0);
                         ^^^^^
  Hmm... the kernel will crash if vma ==0. I guess that this code must look
  like this:

         if (vma && vma->vm_mm->context !=0) {
 
  Is any patches required?

3. I have some problems, when i try to compile latest kernels with my egcs
  and binutils, such as problems with "__INIT" and "__FINI" assembler 
macroses:

  # mips-linux-gcc -D__ASSEMBLY__ -D__KERNEL__ -I include -G 0
   -mno-abicalls -fno-pic -mcpu=r3000 -mips1 -pipe -c entry.S -o entry.o
  entry.S: Assembler messages:
  entry.S:179: Error: .previous without corresponding .section; ignored

  ... and ".macro" assembler command usage:

  # mips-linux-gcc -D__ASSEMBLY__ -D__KERNEL__ -I include -G 0 
   -mno-abicalls -fno-pic -mcpu=r3000 -mips1 -pipe -c head.S -o head.o
  head.S: Assembler messages:
  head.S:224: Error: .size expression too complicated to fix up
  head.S:224: Error: .size expression too complicated to fix up
  head.S:224: Error: .size expression too complicated to fix up
  head.S:224: Error: .size expression too complicated to fix up
  make[1]: *** [head.o] Error 1

  I know that my binutils are obsolete and so, I tried to use some newer
   binutils (2.9.5-1, 2.9.5-3), but my kernel crashed :(. Please, can 
you answer
   me, what egcs & binutils are suitable for linux-2.4.18 and MIPS R3000
   compliant?

  Any help will be appriciated.

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

end of thread, other threads:[~2002-06-07  0:03 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-24 22:16 3 questions about linux-2.4.18 and R3000 Alexandr Andreev
2002-05-24 21:10 ` Jun Sun
2002-05-27 21:13   ` Alexandr Andreev
2002-05-28 17:15     ` Jun Sun
2002-05-30  0:18       ` Alexandr Andreev
2002-05-31  9:43       ` Gleb O. Raiko
2002-06-03  8:55         ` Ralf Baechle
2002-06-03 18:30           ` Maciej W. Rozycki
2002-06-03 22:40             ` Ralf Baechle
2002-06-03 23:01               ` Thiemo Seufer
2002-06-03 23:04                 ` Ralf Baechle
2002-06-03 23:11                   ` Thiemo Seufer
2002-06-03 23:15                     ` Ralf Baechle
2002-06-03 23:53                       ` Thiemo Seufer
2002-06-04 17:41                         ` nick
2002-06-05 22:37                           ` Thiemo Seufer
2002-06-05 23:50                             ` Ilya Volynets
2002-06-06 23:54                               ` Thiemo Seufer
2002-06-04 14:39                   ` Maciej W. Rozycki
2002-06-04 14:37                 ` Maciej W. Rozycki
2002-06-05 22:38                   ` Thiemo Seufer
2002-06-04 14:34               ` Maciej W. Rozycki
2002-06-04 11:31           ` Gleb O. Raiko

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