Well, I'm still trying to port Linux on my "exotic"
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
code ? Are these pages going be used when the Linux is
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.
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/