[RFC PATCH 09/35] Change __FIXADDR_TOP to leave room for the hypervisor.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris Wright wrote:
> Move the definition of __FIXADDR_TOP into a subarch include file so
> that it can be overridden for subarch xen -- the hypervisor needs
> about 64MB at the top of the address space.
>   

I think this is more generally useful if it's actually a CONFIG option 
(as it was in the VMI patches) instead of subarch specific.  Qemu has 
had a "fast" patch for a while that pretty much just increases the size 
of the memory hole and changes ___PAGE_OFFSET to be lower in memory.   
There are a number of interesting things one can do once there's an 
adequately sized hole too (assuming you're doing full-virtualization).

Regards,

Anthony Liguori

> Signed-off-by: Ian Pratt <ian.pratt@xxxxxxxxxxxxx>
> Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>
> Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
> ---
>  include/asm-i386/fixmap.h                   |    8 +-------
>  include/asm-i386/mach-default/mach_fixmap.h |   11 +++++++++++
>  include/asm-i386/mach-xen/mach_fixmap.h     |   11 +++++++++++
>  3 files changed, 23 insertions(+), 7 deletions(-)
>
> --- xen-subarch-2.6.orig/include/asm-i386/fixmap.h
> +++ xen-subarch-2.6/include/asm-i386/fixmap.h
> @@ -14,13 +14,7 @@
>  #define _ASM_FIXMAP_H
>  
>  #include <linux/config.h>
> -
> -/* used by vmalloc.c, vsyscall.lds.S.
> - *
> - * Leave one empty page between vmalloc'ed areas and
> - * the start of the fixmap.
> - */
> -#define __FIXADDR_TOP	0xfffff000
> +#include <mach_fixmap.h>
>  
>  #ifndef __ASSEMBLY__
>  #include <linux/kernel.h>
> --- /dev/null
> +++ xen-subarch-2.6/include/asm-i386/mach-default/mach_fixmap.h
> @@ -0,0 +1,11 @@
> +#ifndef __ASM_MACH_FIXMAP_H
> +#define __ASM_MACH_FIXMAP_H
> +
> +/* used by vmalloc.c, vsyscall.lds.S.
> + *
> + * Leave one empty page between vmalloc'ed areas and
> + * the start of the fixmap.
> + */
> +#define __FIXADDR_TOP	0xfffff000
> +
> +#endif /* __ASM_MACH_FIXMAP_H */
> --- /dev/null
> +++ xen-subarch-2.6/include/asm-i386/mach-xen/mach_fixmap.h
> @@ -0,0 +1,11 @@
> +#ifndef __ASM_MACH_FIXMAP_H
> +#define __ASM_MACH_FIXMAP_H
> +
> +/* used by vmalloc.c, vsyscall.lds.S.
> + *
> + * Leave one empty page between vmalloc'ed areas and
> + * the start of the fixmap.
> + */
> +#define __FIXADDR_TOP	(HYPERVISOR_VIRT_START - 2 * PAGE_SIZE)
> +
> +#endif /* __ASM_MACH_FIXMAP_H */
>
> --
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Virtualization mailing list
> Virtualization@xxxxxxxxxxxxxx
> https://lists.osdl.org/mailman/listinfo/virtualization
>   


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux