argh it doesnt solve it ... [silly me].
Is there any easy way to do this?
the only way i can think of is hacking virt_to_* to detect such MMU kernel
stack areas and doing the translation correctly.
the current translation [for i386 and the Sun4c] is something like this:
#define virt_to_bus(virt_addr) (virt_addr - PAGE_OFFSET)
Which isnt correct if the 'virtual' address is some random MMU mapped
page outside of the almost 1:1 linear mapped kernel virtual memory.
something like this could be done:
if (virt_addr-PAGE_OFFSET < mem_size)
return virt_addr-PAGE_OFFSET;
else
{
/* do complete page-table lookup address translation */
}
sigh.
-- mingo