summaryrefslogtreecommitdiff
path: root/linux/src
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-03-23 02:19:44 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-03-24 02:54:49 +0100
commit264b750cc2d576beadfd74bcde45ac75edc4aab9 (patch)
treecd1b50f73e31c9dc577083c49062d695c836933a /linux/src
parent7effecf87173a122c95427dafa971abbbdba3493 (diff)
Add missing phystokv/kvtophys calls
* i386/i386/vm_param.h [!MACH_XEN]: Do not include <xen/public/xen.h>. * i386/i386at/model_dep.c (init_alloc_aligned): Use phystokv to compare physical memory addresses with kernel start, end, and symbol table. * i386/intel/pmap.c (pmap_enter): Use kvtophys to convert ptp pointer to pte entry. * linux/dev/init/main.c (alloc_contig_mem, linux_init): Use phystokv to convert allocated pages to virtual pointer. * linux/src/include/asm-i386/io.h: Include <machine/vm_param.h>. (virt_to_phys): Call _kvtophys. (phys_to_virt): Call phystokv. * linux/src/include/linux/compatmac.h: Include <asm/io.h>. (ioremap): Use phys_to_virt to convert physical address to virtual pointer. (my_iounmap): Likewise. * linux/dev/include/asm-i386/page.h: Include <mach/vm_param.h>. (PAGE_SHIFT, PAGE_SIZE, PAGE_MASK): Remove macros. * linux/src/drivers/scsi/ncr53c8xx.c (vm_size_t): Remove type. * linux/dev/glue/net.c: Include <machine/vm_param.h> (device_write): Call phystokv to convert from physical page address to virtual pointer. * linux/dev/glue/block.c (alloc_buffer, free_buffer, rdwr_full): Likewise.
Diffstat (limited to 'linux/src')
-rw-r--r--linux/src/drivers/scsi/ncr53c8xx.c2
-rw-r--r--linux/src/include/asm-i386/io.h6
-rw-r--r--linux/src/include/linux/compatmac.h5
3 files changed, 8 insertions, 5 deletions
diff --git a/linux/src/drivers/scsi/ncr53c8xx.c b/linux/src/drivers/scsi/ncr53c8xx.c
index 1be3d9f..22aec32 100644
--- a/linux/src/drivers/scsi/ncr53c8xx.c
+++ b/linux/src/drivers/scsi/ncr53c8xx.c
@@ -273,7 +273,7 @@ typedef u32 u_int32;
#define u_long unsigned long
typedef u_long vm_offset_t;
-typedef int vm_size_t;
+//typedef int vm_size_t;
#define bcopy(s, d, n) memcpy((d), (s), (n))
#define bzero(d, n) memset((d), 0, (n))
diff --git a/linux/src/include/asm-i386/io.h b/linux/src/include/asm-i386/io.h
index 98e32ce..f961f1d 100644
--- a/linux/src/include/asm-i386/io.h
+++ b/linux/src/include/asm-i386/io.h
@@ -25,6 +25,8 @@
* Linus
*/
+#include <machine/vm_param.h>
+
#ifdef SLOW_IO_BY_JUMPING
#define __SLOW_DOWN_IO __asm__ __volatile__("jmp 1f\n1:\tjmp 1f\n1:")
#else
@@ -45,12 +47,12 @@
*/
extern inline unsigned long virt_to_phys(volatile void * address)
{
- return (unsigned long) address;
+ return (unsigned long) _kvtophys(address);
}
extern inline void * phys_to_virt(unsigned long address)
{
- return (void *) address;
+ return (void *) phystokv(address);
}
/*
diff --git a/linux/src/include/linux/compatmac.h b/linux/src/include/linux/compatmac.h
index b9a4112..9537070 100644
--- a/linux/src/include/linux/compatmac.h
+++ b/linux/src/include/linux/compatmac.h
@@ -47,6 +47,7 @@
#define COMPATMAC_H
#include <linux/version.h>
+#include <asm/io.h>
#if LINUX_VERSION_CODE < 0x020100 /* Less than 2.1.0 */
#define TWO_ZERO
@@ -96,11 +97,11 @@ static inline unsigned char get_irq (unsigned char bus, unsigned char fn)
static inline void *ioremap(unsigned long base, long length)
{
- if (base < 0x100000) return (void *)base;
+ if (base < 0x100000) return phys_to_virt(base);
return vremap (base, length);
}
-#define my_iounmap(x, b) (((long)x<0x100000)?0:vfree ((void*)x))
+#define my_iounmap(x, b) (((long)x<(long)phys_to_virt(0x100000))?0:vfree ((void*)x))
#define capable(x) suser()