ia64/xen-unstable

changeset 4165:d8941e2abcf0

bitkeeper revision 1.1236.34.6 (4237272bvTjSGYQFRZj9crMBhKWZZw)

Merge firebug.cl.cam.ac.uk:/local/scratch/kaf24/xen-2.0-testing.bk
into firebug.cl.cam.ac.uk:/local/scratch/kaf24/xen-unstable.bk
author kaf24@firebug.cl.cam.ac.uk
date Tue Mar 15 18:19:23 2005 +0000 (2005-03-15)
parents 95637bf4672a 18bf863204fb
children aeccd691af4c
files .rootkeys linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/pgtable.h patches/linux-2.6.11/iomap.patch
line diff
     1.1 --- a/.rootkeys	Tue Mar 15 17:30:50 2005 +0000
     1.2 +++ b/.rootkeys	Tue Mar 15 18:19:23 2005 +0000
     1.3 @@ -315,6 +315,7 @@ 422e4430vKaHLOOGS7X-SUUe3EBCgw netbsd-2.
     1.4  422e4430-gOD358H8nGGnNWes08Nng netbsd-2.0-xen-sparse/sys/miscfs/kernfs/kernfs_vnops.c
     1.5  413cb3b53nyOv1OIeDSsCXhBFDXvJA netbsd-2.0-xen-sparse/sys/nfs/files.nfs
     1.6  413aa1d0oNP8HXLvfPuMe6cSroUfSA patches/linux-2.6.11/agpgart.patch
     1.7 +42372652KCUP-IOH9RN19YQmGhs4aA patches/linux-2.6.11/iomap.patch
     1.8  3f776bd1Hy9rn69ntXBhPReUFw9IEA tools/Makefile
     1.9  40e1b09db5mN69Ijj0X_Eol-S7dXiw tools/Rules.mk
    1.10  4209033eUwhDBJ_bxejiv5c6gjXS4A tools/blktap/Makefile
     2.1 --- a/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/pgtable.h	Tue Mar 15 17:30:50 2005 +0000
     2.2 +++ b/linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/pgtable.h	Tue Mar 15 18:19:23 2005 +0000
     2.3 @@ -485,7 +485,10 @@ int __direct_remap_area_pages(struct mm_
     2.4  			      mmu_update_t *v);
     2.5  
     2.6  #define io_remap_page_range(vma,from,phys,size,prot) \
     2.7 -	direct_remap_area_pages(vma->vm_mm,from,phys,size,prot,DOMID_IO)
     2.8 +direct_remap_area_pages(vma->vm_mm,from,phys,size,prot,DOMID_IO)
     2.9 +
    2.10 +#define io_remap_pfn_range(vma,from,pfn,size,prot) \
    2.11 +direct_remap_area_pages(vma->vm_mm,from,pfn<<PAGE_SHIFT,size,prot,DOMID_IO)
    2.12  
    2.13  #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
    2.14  #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/patches/linux-2.6.11/iomap.patch	Tue Mar 15 18:19:23 2005 +0000
     3.3 @@ -0,0 +1,120 @@
     3.4 +diff -ur linux-2.6.11/drivers/char/agp/frontend.c linux-2.6.11-io/drivers/char/agp/frontend.c
     3.5 +--- linux-2.6.11/drivers/char/agp/frontend.c	2005-03-02 07:37:49.000000000 +0000
     3.6 ++++ linux-2.6.11-io/drivers/char/agp/frontend.c	2005-03-15 17:38:30.000000000 +0000
     3.7 +@@ -627,7 +627,7 @@
     3.8 + 		DBG("client vm_ops=%p", kerninfo.vm_ops);
     3.9 + 		if (kerninfo.vm_ops) {
    3.10 + 			vma->vm_ops = kerninfo.vm_ops;
    3.11 +-		} else if (remap_pfn_range(vma, vma->vm_start,
    3.12 ++		} else if (io_remap_pfn_range(vma, vma->vm_start,
    3.13 + 				(kerninfo.aper_base + offset) >> PAGE_SHIFT,
    3.14 + 					    size, vma->vm_page_prot)) {
    3.15 + 			goto out_again;
    3.16 +@@ -643,7 +643,7 @@
    3.17 + 		DBG("controller vm_ops=%p", kerninfo.vm_ops);
    3.18 + 		if (kerninfo.vm_ops) {
    3.19 + 			vma->vm_ops = kerninfo.vm_ops;
    3.20 +-		} else if (remap_pfn_range(vma, vma->vm_start,
    3.21 ++		} else if (io_remap_pfn_range(vma, vma->vm_start,
    3.22 + 					    kerninfo.aper_base >> PAGE_SHIFT,
    3.23 + 					    size, vma->vm_page_prot)) {
    3.24 + 			goto out_again;
    3.25 +diff -ur linux-2.6.11/drivers/char/drm/drm_vm.c linux-2.6.11-io/drivers/char/drm/drm_vm.c
    3.26 +--- linux-2.6.11/drivers/char/drm/drm_vm.c	2005-03-02 07:38:33.000000000 +0000
    3.27 ++++ linux-2.6.11-io/drivers/char/drm/drm_vm.c	2005-03-15 17:43:26.000000000 +0000
    3.28 +@@ -630,7 +630,7 @@
    3.29 + 					vma->vm_end - vma->vm_start,
    3.30 + 					vma->vm_page_prot, 0))
    3.31 + #else
    3.32 +-		if (remap_pfn_range(DRM_RPR_ARG(vma) vma->vm_start,
    3.33 ++		if (io_remap_pfn_range(vma, vma->vm_start,
    3.34 + 				     (VM_OFFSET(vma) + offset) >> PAGE_SHIFT,
    3.35 + 				     vma->vm_end - vma->vm_start,
    3.36 + 				     vma->vm_page_prot))
    3.37 +diff -ur linux-2.6.11/drivers/char/drm/i810_dma.c linux-2.6.11-io/drivers/char/drm/i810_dma.c
    3.38 +--- linux-2.6.11/drivers/char/drm/i810_dma.c	2005-03-02 07:37:55.000000000 +0000
    3.39 ++++ linux-2.6.11-io/drivers/char/drm/i810_dma.c	2005-03-15 17:53:36.000000000 +0000
    3.40 +@@ -139,7 +139,7 @@
    3.41 +    	buf_priv->currently_mapped = I810_BUF_MAPPED;
    3.42 + 	unlock_kernel();
    3.43 + 
    3.44 +-	if (remap_pfn_range(DRM_RPR_ARG(vma) vma->vm_start,
    3.45 ++	if (io_remap_pfn_range(vma, vma->vm_start,
    3.46 + 			     VM_OFFSET(vma) >> PAGE_SHIFT,
    3.47 + 			     vma->vm_end - vma->vm_start,
    3.48 + 			     vma->vm_page_prot)) return -EAGAIN;
    3.49 +diff -ur linux-2.6.11/drivers/char/drm/i830_dma.c linux-2.6.11-io/drivers/char/drm/i830_dma.c
    3.50 +--- linux-2.6.11/drivers/char/drm/i830_dma.c	2005-03-02 07:37:48.000000000 +0000
    3.51 ++++ linux-2.6.11-io/drivers/char/drm/i830_dma.c	2005-03-15 17:53:46.000000000 +0000
    3.52 +@@ -157,7 +157,7 @@
    3.53 +    	buf_priv->currently_mapped = I830_BUF_MAPPED;
    3.54 + 	unlock_kernel();
    3.55 + 
    3.56 +-	if (remap_pfn_range(DRM_RPR_ARG(vma) vma->vm_start,
    3.57 ++	if (io_remap_pfn_range(vma, vma->vm_start,
    3.58 + 			     VM_OFFSET(vma) >> PAGE_SHIFT,
    3.59 + 			     vma->vm_end - vma->vm_start,
    3.60 + 			     vma->vm_page_prot)) return -EAGAIN;
    3.61 +diff -ur linux-2.6.11/drivers/char/hpet.c linux-2.6.11-io/drivers/char/hpet.c
    3.62 +--- linux-2.6.11/drivers/char/hpet.c	2005-03-02 07:38:10.000000000 +0000
    3.63 ++++ linux-2.6.11-io/drivers/char/hpet.c	2005-03-15 17:37:22.000000000 +0000
    3.64 +@@ -76,6 +76,7 @@
    3.65 + struct hpets {
    3.66 + 	struct hpets *hp_next;
    3.67 + 	struct hpet __iomem *hp_hpet;
    3.68 ++	unsigned long hp_hpet_phys;
    3.69 + 	struct time_interpolator *hp_interpolator;
    3.70 + 	unsigned long hp_period;
    3.71 + 	unsigned long hp_delta;
    3.72 +@@ -265,7 +266,7 @@
    3.73 + 		return -EINVAL;
    3.74 + 
    3.75 + 	devp = file->private_data;
    3.76 +-	addr = (unsigned long)devp->hd_hpet;
    3.77 ++	addr = devp->hd_hpets->hp_hpet_phys;
    3.78 + 
    3.79 + 	if (addr & (PAGE_SIZE - 1))
    3.80 + 		return -ENOSYS;
    3.81 +@@ -274,7 +275,7 @@
    3.82 + 	vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
    3.83 + 	addr = __pa(addr);
    3.84 + 
    3.85 +-	if (remap_pfn_range(vma, vma->vm_start, addr >> PAGE_SHIFT,
    3.86 ++	if (io_remap_pfn_range(vma, vma->vm_start, addr >> PAGE_SHIFT,
    3.87 + 					PAGE_SIZE, vma->vm_page_prot)) {
    3.88 + 		printk(KERN_ERR "remap_pfn_range failed in hpet.c\n");
    3.89 + 		return -EAGAIN;
    3.90 +@@ -795,6 +796,7 @@
    3.91 + 
    3.92 + 	hpetp->hp_which = hpet_nhpet++;
    3.93 + 	hpetp->hp_hpet = hdp->hd_address;
    3.94 ++	hpetp->hp_hpet_phys = hdp->hd_phys_address;
    3.95 + 
    3.96 + 	hpetp->hp_ntimer = hdp->hd_nirqs;
    3.97 + 
    3.98 +diff -ur linux-2.6.11/drivers/sbus/char/flash.c linux-2.6.11-io/drivers/sbus/char/flash.c
    3.99 +--- linux-2.6.11/drivers/sbus/char/flash.c	2005-03-02 07:38:10.000000000 +0000
   3.100 ++++ linux-2.6.11-io/drivers/sbus/char/flash.c	2005-03-15 17:20:22.000000000 +0000
   3.101 +@@ -75,7 +75,7 @@
   3.102 + 	pgprot_val(vma->vm_page_prot) |= _PAGE_E;
   3.103 + 	vma->vm_flags |= (VM_SHM | VM_LOCKED);
   3.104 + 
   3.105 +-	if (remap_pfn_range(vma, vma->vm_start, addr, size, vma->vm_page_prot))
   3.106 ++	if (io_remap_pfn_range(vma, vma->vm_start, addr, size, vma->vm_page_prot))
   3.107 + 		return -EAGAIN;
   3.108 + 		
   3.109 + 	return 0;
   3.110 +diff -ur linux-2.6.11/include/linux/mm.h linux-2.6.11-io/include/linux/mm.h
   3.111 +--- linux-2.6.11/include/linux/mm.h	2005-03-02 07:37:47.000000000 +0000
   3.112 ++++ linux-2.6.11-io/include/linux/mm.h	2005-03-15 17:03:46.000000000 +0000
   3.113 +@@ -815,6 +815,10 @@
   3.114 + extern int check_user_page_readable(struct mm_struct *mm, unsigned long address);
   3.115 + int remap_pfn_range(struct vm_area_struct *, unsigned long,
   3.116 + 		unsigned long, unsigned long, pgprot_t);
   3.117 ++/* Allow arch override for mapping of device and I/O (non-RAM) pages. */
   3.118 ++#ifndef io_remap_pfn_range
   3.119 ++#define io_remap_pfn_range remap_pfn_range
   3.120 ++#endif
   3.121 + 
   3.122 + #ifdef CONFIG_PROC_FS
   3.123 + void __vm_stat_account(struct mm_struct *, unsigned long, struct file *, long);