port on exotic board.

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

 



Hi,

Well, I'm still trying to port Linux on my "exotic"
board...
I hope you don't mind if I ask a couple of questions,
which may be stupid for you but usefull at my level. 
If you think that linux-mips mailing list is not 
intended for these kind of questions, tell me !

So here I am:

I've mapped kernel code and kernel data in different
memories in order to save precious SDRAM memory.

Code    0xC0000000    0x30000000     16Mo    FLASH
Data    0xC1000000    0x20000000      8Mo    SDRAM

When running the kernel at the very begining, I
encounter different issues:

In "tlb_init" function, cp0 WIRED register is set to
zero, therefore the call to "local_flush_tlb_all" 
flush all TLB entries which were mapping my kernel
in the 3 first entries. Why is this necessary ?  

In different part of the kernel it is assumed that the
kernel start at physical addr 0. For instance in
"init_bootmem" fonction, argument start is set to 0.
Or the way to calculate a page frame index in mem_map
array. Why this assumption ?

Why does "mem_map" need to store page frames for
kernel
code ? Are these pages going be used when the Linux is
running ?

I noticed CPHYSADDR macro. This macro only works if
PAGE_OFFSET is equal to 0x80000000. Why does this 
macro exist ? Why not using __pa macro ?


Thanks for your answers.

   Francis.


	

	
		
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails ! 
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com/


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

  Powered by Linux