ia64/xen-unstable

changeset 3211:3b6cceecc500

bitkeeper revision 1.1159.1.474 (41ab5827gfzURKvarOx0GbP-3uLqbQ)

sync w/ head.
author cl349@arcadians.cl.cam.ac.uk
date Mon Nov 29 17:11:03 2004 +0000 (2004-11-29)
parents 17888d1a1210 ded80647d9fc
children fd0d4d8e6193
files linux-2.6.9-xen-sparse/arch/xen/i386/kernel/entry.S linux-2.6.9-xen-sparse/arch/xen/i386/mm/init.c linux-2.6.9-xen-sparse/arch/xen/i386/mm/ioremap.c linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/fixmap.h linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/io.h linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_post.h
line diff
     2.1 --- a/linux-2.6.9-xen-sparse/arch/xen/i386/mm/init.c	Mon Nov 29 16:39:56 2004 +0000
     2.2 +++ b/linux-2.6.9-xen-sparse/arch/xen/i386/mm/init.c	Mon Nov 29 17:11:03 2004 +0000
     2.3 @@ -597,7 +597,7 @@ void __init paging_init(void)
     2.4  	HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
     2.5  	memset(empty_zero_page, 0, sizeof(empty_zero_page));
     2.6  
     2.7 -#ifdef CONFIG_XEN_PRIVILEGED_GUEST
     2.8 +#ifdef CONFIG_XEN_PHYSDEV_ACCESS
     2.9  	/* Setup mapping of lower 1st MB */
    2.10  	for (i = 0; i < NR_FIX_ISAMAPS; i++)
    2.11  		if (xen_start_info.flags & SIF_PRIVILEGED)
     3.1 --- a/linux-2.6.9-xen-sparse/arch/xen/i386/mm/ioremap.c	Mon Nov 29 16:39:56 2004 +0000
     3.2 +++ b/linux-2.6.9-xen-sparse/arch/xen/i386/mm/ioremap.c	Mon Nov 29 17:11:03 2004 +0000
     3.3 @@ -259,10 +259,12 @@ void __iomem *ioremap_nocache (unsigned 
     3.4  void iounmap(volatile void __iomem *addr)
     3.5  {
     3.6  	struct vm_struct *p;
     3.7 -        if ((unsigned long)addr <= 0x100000)
     3.8 -                return;
     3.9  	if ((void __force *) addr <= high_memory) 
    3.10  		return; 
    3.11 +#ifdef CONFIG_XEN_PRIVILEGED_GUEST
    3.12 +	if ((unsigned long) addr >= fix_to_virt(FIX_ISAMAP_BEGIN))
    3.13 +		return;
    3.14 +#endif
    3.15  	p = remove_vm_area((void *) (PAGE_MASK & (unsigned long __force) addr));
    3.16  	if (!p) { 
    3.17  		printk("__iounmap: bad address %p\n", addr);
    3.18 @@ -332,10 +334,12 @@ void __init bt_iounmap(void *addr, unsig
    3.19  	enum fixed_addresses idx;
    3.20  
    3.21  	virt_addr = (unsigned long)addr;
    3.22 -        if (virt_addr < 0x100000)
    3.23 -                return;
    3.24  	if (virt_addr < fix_to_virt(FIX_BTMAP_BEGIN))
    3.25  		return;
    3.26 +#ifdef CONFIG_XEN_PRIVILEGED_GUEST
    3.27 +	if (virt_addr >= fix_to_virt(FIX_ISAMAP_BEGIN))
    3.28 +		return;
    3.29 +#endif
    3.30  	offset = virt_addr & ~PAGE_MASK;
    3.31  	nrpages = PAGE_ALIGN(offset + size - 1) >> PAGE_SHIFT;
    3.32  
     4.1 --- a/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/fixmap.h	Mon Nov 29 16:39:56 2004 +0000
     4.2 +++ b/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/fixmap.h	Mon Nov 29 17:11:03 2004 +0000
     4.3 @@ -85,7 +85,7 @@ enum fixed_addresses {
     4.4  #endif
     4.5  	FIX_SHARED_INFO,
     4.6  	FIX_GNTTAB,
     4.7 -#ifdef CONFIG_XEN_PRIVILEGED_GUEST
     4.8 +#ifdef CONFIG_XEN_PHYSDEV_ACCESS
     4.9  #define NR_FIX_ISAMAPS	256
    4.10  	FIX_ISAMAP_END,
    4.11  	FIX_ISAMAP_BEGIN = FIX_ISAMAP_END + NR_FIX_ISAMAPS - 1,
     5.1 --- a/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/io.h	Mon Nov 29 16:39:56 2004 +0000
     5.2 +++ b/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/io.h	Mon Nov 29 17:11:03 2004 +0000
     5.3 @@ -134,8 +134,8 @@ extern void bt_iounmap(void *addr, unsig
     5.4   */
     5.5  #define isa_virt_to_bus(_x) isa_virt_to_bus_is_UNSUPPORTED->x
     5.6  #define isa_page_to_bus(_x) isa_page_to_bus_is_UNSUPPORTED->x
     5.7 -#ifdef CONFIG_XEN_PRIVILEGED_GUEST
     5.8 -#define isa_bus_to_virt(_x) (void *)__fix_to_virt(FIX_ISAMAP_BEGIN - ((_x) >> PAGE_SHIFT))
     5.9 +#ifdef CONFIG_XEN_PHYSDEV_ACCESS
    5.10 +#define isa_bus_to_virt(_x) (void *)(__fix_to_virt(FIX_ISAMAP_BEGIN) + (_x))
    5.11  #else
    5.12  #define isa_bus_to_virt(_x) isa_bus_to_virt_needs_PRIVILEGED_BUILD
    5.13  #endif
     6.1 --- a/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_post.h	Mon Nov 29 16:39:56 2004 +0000
     6.2 +++ b/linux-2.6.9-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_post.h	Mon Nov 29 17:11:03 2004 +0000
     6.3 @@ -28,7 +28,6 @@ void __init machine_specific_modify_cpu_
     6.4  	clear_bit(X86_FEATURE_DE, c->x86_capability);
     6.5  	clear_bit(X86_FEATURE_PSE, c->x86_capability);
     6.6  	clear_bit(X86_FEATURE_PGE, c->x86_capability);
     6.7 -	clear_bit(X86_FEATURE_FXSR, c->x86_capability);
     6.8  	if (!(xen_start_info.flags & SIF_PRIVILEGED))
     6.9  		clear_bit(X86_FEATURE_MTRR, c->x86_capability);
    6.10  }