x86: PAT avoid aliasing in /dev/mem read/write
Add xlate and unxlate around /dev/mem read/write. This sets up the mapping that can be used for /dev/mem read and write without aliasing worries. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
e2beb3eae6
commit
e045fb2a98
@@ -1,3 +1,6 @@
|
||||
#ifndef _ASM_X86_IO_H
|
||||
#define _ASM_X86_IO_H
|
||||
|
||||
#define ARCH_HAS_IOREMAP_WC
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
@@ -5,7 +8,12 @@
|
||||
#else
|
||||
# include "io_64.h"
|
||||
#endif
|
||||
|
||||
extern void *xlate_dev_mem_ptr(unsigned long phys);
|
||||
extern void unxlate_dev_mem_ptr(unsigned long phys, void *addr);
|
||||
|
||||
extern int ioremap_change_attr(unsigned long vaddr, unsigned long size,
|
||||
unsigned long prot_val);
|
||||
extern void __iomem *ioremap_wc(unsigned long offset, unsigned long size);
|
||||
|
||||
#endif /* _ASM_X86_IO_H */
|
||||
|
||||
@@ -48,12 +48,6 @@
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
|
||||
/*
|
||||
* Convert a physical pointer to a virtual kernel pointer for /dev/mem
|
||||
* access
|
||||
*/
|
||||
#define xlate_dev_mem_ptr(p) __va(p)
|
||||
|
||||
/*
|
||||
* Convert a virtual cached pointer to an uncached pointer
|
||||
*/
|
||||
|
||||
@@ -307,12 +307,6 @@ void memset_io(volatile void __iomem *a, int b, size_t c);
|
||||
extern int iommu_bio_merge;
|
||||
#define BIO_VMERGE_BOUNDARY iommu_bio_merge
|
||||
|
||||
/*
|
||||
* Convert a physical pointer to a virtual kernel pointer for /dev/mem
|
||||
* access
|
||||
*/
|
||||
#define xlate_dev_mem_ptr(p) __va(p)
|
||||
|
||||
/*
|
||||
* Convert a virtual cached pointer to an uncached pointer
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user