[RFC][PATCH] initial port of fixmap over from x86 for ppc32

Hollis Blanchard hollisb at us.ibm.com
Fri Apr 4 05:47:54 EST 2008


On Thursday 03 April 2008 01:52:36 Kumar Gala wrote:
> Wanted to get any feedback on this initial port of the fixmap support over
> from x86.  There are a few TODOs:
>
> * change HIGHMEM support to use fixmap
> * fixup up VMALLOC config to respect fixmap
>
> (after initial powerpc patch is in tree/accepted):
> * rework a few bits of fixmap.h into an asm-generic/fixmap.h
>
> The reason for introducing fixmap into ppc32 is it provides us with a
> clean way of getting fixed compile time virtual addresses for things.
>
> Beyond the HIGHMEM usage.  Ben and I have discussed cleaning up the PCIe
> 44x config code (and 83xx PCIe cfg) to use it.  Also, Dale's kexec/kdump
> support on ppc32 can take advantage of it.  I'm also told this is useful
> for hypervisor interactions.
>
> One question for the guys looking at hypervisor.  The x86 code also has a
> function called reserve_top_address (see arch/x86/mm/pgtable_32.c).  Is
> this functionality something useful on ppc?  If so for what?

x86 virtualization implementations often needs a trampoline that's mapped into 
both host and guest virtual address space, so that's part of what you're 
seeing.

In general though, it can be very useful for the host to own a piece of the 
guest's virtual address space. For example, the host could rewrite 
problematic guest instructions to branch to host-optimized code which avoids 
hypercalls. However, this is impossible unless the host knows it can 
overwrite some portion of the guest's effective address space.

reserve_top_address() doesn't look complicated, so we might as well keep it?

-- 
Hollis Blanchard
IBM Linux Technology Center



More information about the Linuxppc-dev mailing list