From: Erik A. H. <er...@he...> - 2002-03-04 05:53:14
|
On Sun, Mar 03, 2002 at 07:30:19PM -0500, Grant Taylor wrote: > FP doesn't work on this CPU, anyway. I'd need to make the in-kernel > fp simulator dump state! The simulated FPU state should still be in the thread_struct more or less like a real FPU. > The flush_icache_range() implementation is sb1_flush_icache_range() in > arch/mips/mm/sb1.c. The comments there and in the other flush flavors > speak of Kseg0 addresses, which is what made me think it expected > non-userspace addresses. KSEG0 is address that physical memory is mapped at in the kernel's virtual address space. KSEG0 addresses seem to mean "virtual" to me. I think I said "user" addresses when I meant "virtual" addresses. All these flush routines take virtual addresses. User/kernel space isn't a meaningful distinction except with respect to trap handling. That shouldn't be an issue though. It's very unlikely that a page won't be present which flush_icache_range is called since we just got finished writing to that page. > Shouldn't calling flush_icache_page() on page table entries should do > the right thing either way? Yeah, it should. Make sure you use the virtual address though. No manual page table walking should be required. > Or even with normal stuff. GDB disassembles on our target at the rate > of one instruction every several seconds! Neato. > Yes, I got all this working flawlessly on uniprocessor by mangling all > the entry and exit points to do full saves and restores. It's ugly > and inefficient, but until everything actually works this will have to > do. Since you don't seem to be porting BProc, would you mind telling me what the application is? Embedded something or other? - Erik -- Erik Arjan Hendriks Printed On 100 Percent Recycled Electrons er...@he... Contents may settle during shipment |