Re: CONFIG_HIGHMEM on PPC
From: Dan Malek <hidden>
Date: 2001-01-25 06:04:27
"Mark A. Greer" wrote:
Has anyone tried CONFIG_HIGHMEM on PPC lately?
I think it is broken and I have also stumbled into a fix for it. When HIGHMEM is used, memory pages are mapped to virtual addresses that are not 1:1 mapped. Our simple virt_to_phys macros won't work with HIGHMEM pages. The 4xx and 8xx processor (and in my test kernel all processors) map the virt_to_phys to the 'iopa' function in arch/ppc/mm/init.c. This way the actual page table entry is tracked down for a virtual address. Change your virt_to_phys, virt_to_bus macros in include/asm-ppc/io.h to call 'iopa' (and do the PCI_DRAM_OFFSET adjustment as necessary) and let me know what happens. I'm working on the reverse, using the mm_ptov() but I don't have it done yet. If you are using the reverse (bus_to_virt, etc.) functions, let me know and I'll try to find a quick hack. I would like to know who works on APUS as well. In making these VM changes, I certainly broke the APUS code (because I stole from there and made it all common :-). I would like to work with someone to straighten this out as I have no way to test it. Thanks. -- Dan ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/