Forum Discussion
Altera_Forum
Honored Contributor
16 years agoLinux with MMU on NEEK
Hi, all. I'm testing Linux MMU version, on my NEEK. http://www.nioswiki.com/linux It works fine and I can use "bash" shell. This is the evident proof that we are using the true 'fo...
Altera_Forum
Honored Contributor
16 years agoHi,
--- Quote Start --- "virtually-indexed and physically-tagged" ??? --- Quote End --- So, I think that 3) CPU |--cache --| -- Memory ............|--MMU --| is 'Bingo'. --- Quote Start --- How does this compare to ARM, that uses the cache and the MMU completely in the "wrong" order (strictly using physical addresses in the cache). Because of that, ARM-Linux needs to flush the cache completely with any task-switch. That is why for ARM systems with many task switches, not using the MMU is recommended. I sincerely hope that such a drastic method is not necessary with NIOS ! --- Quote End --- In NIOS, you don't need to flush the cache for each task-switch. But the TLB uses PID mechanism to distinguish each user tasks,
void set_mmu_pid(unsigned long pid) {
WRCTL(CTL_TLBMISC, (RDCTL(CTL_TLBMISC) & (WAY_MASK << WAY_SHIFT)) | ((pid & PID_MASK) << PID_SHIFT));
}
so TLB flush and loading will occur automatically. Kazu