ia64/xen-unstable

changeset 3628:e922aa58971a

bitkeeper revision 1.1159.212.75 (4201e86fqC-UkeTMjRJgsysdz4rT7w)

Merge scramble.cl.cam.ac.uk:/local/scratch/kaf24/xen-2.0-testing.bk
into scramble.cl.cam.ac.uk:/local/scratch/kaf24/xen-unstable.bk
author kaf24@scramble.cl.cam.ac.uk
date Thu Feb 03 09:01:35 2005 +0000 (2005-02-03)
parents 8472fafee3cf 30412c1eb41d
children 07d5c9548534
files linux-2.6.10-xen-sparse/arch/xen/i386/kernel/setup.c linux-2.6.10-xen-sparse/arch/xen/i386/mm/ioremap.c linux-2.6.10-xen-sparse/include/asm-xen/asm-i386/pgtable.h xen/Makefile xen/drivers/char/console.c
line diff
     1.1 --- a/linux-2.6.10-xen-sparse/arch/xen/i386/kernel/setup.c	Wed Feb 02 23:14:59 2005 +0000
     1.2 +++ b/linux-2.6.10-xen-sparse/arch/xen/i386/kernel/setup.c	Thu Feb 03 09:01:35 2005 +0000
     1.3 @@ -1492,6 +1492,10 @@ void __init setup_arch(char **cmdline_p)
     1.4  		get_smp_config();
     1.5  #endif
     1.6  
     1.7 +	/* XXX Disable irqdebug until we have a way to avoid interrupt
     1.8 +	 * conflicts. */
     1.9 +	noirqdebug_setup("");
    1.10 +
    1.11  	register_memory(max_low_pfn);
    1.12  
    1.13  	/* If we are a privileged guest OS then we should request IO privs. */
     2.1 --- a/linux-2.6.10-xen-sparse/arch/xen/i386/mm/ioremap.c	Wed Feb 02 23:14:59 2005 +0000
     2.2 +++ b/linux-2.6.10-xen-sparse/arch/xen/i386/mm/ioremap.c	Thu Feb 03 09:01:35 2005 +0000
     2.3 @@ -79,6 +79,7 @@ void __iomem * __ioremap(unsigned long p
     2.4  	void __iomem * addr;
     2.5  	struct vm_struct * area;
     2.6  	unsigned long offset, last_addr;
     2.7 +	domid_t domid = DOMID_IO;
     2.8  
     2.9  	/* Don't allow wraparound or zero size */
    2.10  	last_addr = phys_addr + size - 1;
    2.11 @@ -106,6 +107,8 @@ void __iomem * __ioremap(unsigned long p
    2.12  		for(page = virt_to_page(t_addr); page <= virt_to_page(t_end); page++)
    2.13  			if(!PageReserved(page))
    2.14  				return NULL;
    2.15 +
    2.16 +		domid = DOMID_LOCAL;
    2.17  	}
    2.18  
    2.19  	/*
    2.20 @@ -382,10 +385,13 @@ int direct_remap_area_pages(struct mm_st
    2.21  #define MAX_DIRECTMAP_MMU_QUEUE 130
    2.22  	mmu_update_t u[MAX_DIRECTMAP_MMU_QUEUE], *w, *v;
    2.23  
    2.24 -	u[0].ptr  = MMU_EXTENDED_COMMAND;
    2.25 -	u[0].val  = MMUEXT_SET_FOREIGNDOM;
    2.26 -	u[0].val |= (unsigned long)domid << 16;
    2.27 -	v = w = &u[1];
    2.28 +	v = w = &u[0];
    2.29 +	if (domid != DOMID_LOCAL) {
    2.30 +		u[0].ptr  = MMU_EXTENDED_COMMAND;
    2.31 +		u[0].val  = MMUEXT_SET_FOREIGNDOM;
    2.32 +		u[0].val |= (unsigned long)domid << 16;
    2.33 +		v = w = &u[1];
    2.34 +	}
    2.35  
    2.36  	start_address = address;
    2.37  
     3.1 --- a/linux-2.6.10-xen-sparse/include/asm-xen/asm-i386/pgtable.h	Wed Feb 02 23:14:59 2005 +0000
     3.2 +++ b/linux-2.6.10-xen-sparse/include/asm-xen/asm-i386/pgtable.h	Thu Feb 03 09:01:35 2005 +0000
     3.3 @@ -475,6 +475,7 @@ void make_pages_writable(void *va, unsig
     3.4  #define kern_addr_valid(addr)	(1)
     3.5  #endif /* !CONFIG_DISCONTIGMEM */
     3.6  
     3.7 +#define DOMID_LOCAL (0xFFFFU)
     3.8  int direct_remap_area_pages(struct mm_struct *mm,
     3.9                              unsigned long address, 
    3.10                              unsigned long machine_addr,
    3.11 @@ -489,17 +490,6 @@ int __direct_remap_area_pages(struct mm_
    3.12  #define io_remap_page_range(vma,from,phys,size,prot) \
    3.13  	direct_remap_area_pages(vma->vm_mm,from,phys,size,prot,DOMID_IO)
    3.14  
    3.15 -int direct_remap_area_pages(struct mm_struct *mm,
    3.16 -			    unsigned long address, 
    3.17 -			    unsigned long machine_addr,
    3.18 -			    unsigned long size, 
    3.19 -			    pgprot_t prot,
    3.20 -			    domid_t  domid);
    3.21 -int __direct_remap_area_pages(struct mm_struct *mm,
    3.22 -			      unsigned long address, 
    3.23 -			      unsigned long size, 
    3.24 -			      mmu_update_t *v);
    3.25 -
    3.26  #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
    3.27  #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY
    3.28  #define __HAVE_ARCH_PTEP_GET_AND_CLEAR
     4.1 --- a/xen/Makefile	Wed Feb 02 23:14:59 2005 +0000
     4.2 +++ b/xen/Makefile	Thu Feb 03 09:01:35 2005 +0000
     4.3 @@ -1,3 +1,7 @@
     4.4 +# Default is to install to local 'dist' directory.
     4.5 +DISTDIR ?= ../dist
     4.6 +DESTDIR ?= $(DISTDIR)/install
     4.7 +
     4.8  INSTALL			= install
     4.9  INSTALL_DATA		= $(INSTALL) -m0644
    4.10  INSTALL_DIR		= $(INSTALL) -d -m0755
    4.11 @@ -20,6 +24,9 @@ default: $(TARGET).gz
    4.12  debug:	
    4.13  	objdump -D -S $(TARGET)-syms > $(TARGET).s
    4.14  
    4.15 +dist:
    4.16 +	$(MAKE) install
    4.17 +
    4.18  install: $(TARGET).gz
    4.19  	[ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
    4.20  	$(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot
     5.1 --- a/xen/drivers/char/console.c	Wed Feb 02 23:14:59 2005 +0000
     5.2 +++ b/xen/drivers/char/console.c	Thu Feb 03 09:01:35 2005 +0000
     5.3 @@ -506,6 +506,7 @@ void panic(const char *fmt, ...)
     5.4      __putstr("Reboot in five seconds...\n");
     5.5      spin_unlock_irqrestore(&console_lock, flags);
     5.6  
     5.7 +    watchdog_on = 0;
     5.8      mdelay(5000);
     5.9      machine_restart(0);
    5.10  }