aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.25-sparse
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-02-27 15:19:27 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-02-27 15:19:27 +0000
commit852c5cea72e07706be1e778f6cdd03c8026ee966 (patch)
tree51881b783de92fce1aad9620e4964c0a2aedb56b /xenolinux-2.4.25-sparse
parent66090e1c4bc9de311f804ffb6a7a3dd97c6aeb71 (diff)
downloadxen-852c5cea72e07706be1e778f6cdd03c8026ee966.tar.gz
xen-852c5cea72e07706be1e778f6cdd03c8026ee966.tar.bz2
xen-852c5cea72e07706be1e778f6cdd03c8026ee966.zip
bitkeeper revision 1.755 (403f5fffwYqT6Gw88yRJHe04lMgpjg)
Many files: Further cleanups to the Xen pagetable interface.
Diffstat (limited to 'xenolinux-2.4.25-sparse')
-rw-r--r--xenolinux-2.4.25-sparse/arch/xeno/mm/init.c5
-rw-r--r--xenolinux-2.4.25-sparse/arch/xeno/mm/ioremap.c5
-rw-r--r--xenolinux-2.4.25-sparse/include/asm-xeno/hypervisor.h3
-rw-r--r--xenolinux-2.4.25-sparse/mm/memory.c2
4 files changed, 4 insertions, 11 deletions
diff --git a/xenolinux-2.4.25-sparse/arch/xeno/mm/init.c b/xenolinux-2.4.25-sparse/arch/xeno/mm/init.c
index b1f8019ef9..c78a84d1c8 100644
--- a/xenolinux-2.4.25-sparse/arch/xeno/mm/init.c
+++ b/xenolinux-2.4.25-sparse/arch/xeno/mm/init.c
@@ -113,10 +113,7 @@ static inline void set_pte_phys (unsigned long vaddr,
}
pte = pte_offset(pmd, vaddr);
- if ( pte_io(*pte) || (pgprot_val(prot) & _PAGE_IO) )
- queue_unchecked_mmu_update(pte, phys | pgprot_val(prot));
- else
- queue_l1_entry_update(pte, phys | pgprot_val(prot));
+ queue_l1_entry_update(pte, phys | pgprot_val(prot));
/*
* It's enough to flush this one mapping.
diff --git a/xenolinux-2.4.25-sparse/arch/xeno/mm/ioremap.c b/xenolinux-2.4.25-sparse/arch/xeno/mm/ioremap.c
index e0e68216a3..434e82c971 100644
--- a/xenolinux-2.4.25-sparse/arch/xeno/mm/ioremap.c
+++ b/xenolinux-2.4.25-sparse/arch/xeno/mm/ioremap.c
@@ -20,14 +20,13 @@
#if defined(CONFIG_XENO_PRIV)
-#define direct_set_pte(_p, _v) queue_unchecked_mmu_update((_p), (_v).pte_low)
+/* These hacky macros avoid phys->machine translations. */
#define __direct_pte(x) ((pte_t) { (x) } )
#define __direct_mk_pte(page_nr,pgprot) \
__direct_pte(((page_nr) << PAGE_SHIFT) | pgprot_val(pgprot))
#define direct_mk_pte_phys(physpage, pgprot) \
__direct_mk_pte((physpage) >> PAGE_SHIFT, pgprot)
-
static inline void direct_remap_area_pte(pte_t *pte,
unsigned long address,
unsigned long size,
@@ -47,7 +46,7 @@ static inline void direct_remap_area_pte(pte_t *pte,
printk("direct_remap_area_pte: page already exists\n");
BUG();
}
- direct_set_pte(pte, pte_mkio(direct_mk_pte_phys(machine_addr, prot)));
+ set_pte(pte, pte_mkio(direct_mk_pte_phys(machine_addr, prot)));
address += PAGE_SIZE;
machine_addr += PAGE_SIZE;
pte++;
diff --git a/xenolinux-2.4.25-sparse/include/asm-xeno/hypervisor.h b/xenolinux-2.4.25-sparse/include/asm-xeno/hypervisor.h
index e3cb2e0ac7..075fdab17f 100644
--- a/xenolinux-2.4.25-sparse/include/asm-xeno/hypervisor.h
+++ b/xenolinux-2.4.25-sparse/include/asm-xeno/hypervisor.h
@@ -49,9 +49,6 @@ void queue_pte_unpin(unsigned long ptr);
void queue_set_ldt(unsigned long ptr, unsigned long bytes);
#define MMU_UPDATE_DEBUG 0
-#define queue_unchecked_mmu_update(_p,_v) queue_l1_entry_update( \
- (pte_t *)((unsigned long)(_p)|MMU_UNCHECKED_PT_UPDATE),(_v))
-
#if MMU_UPDATE_DEBUG > 0
typedef struct {
void *ptr;
diff --git a/xenolinux-2.4.25-sparse/mm/memory.c b/xenolinux-2.4.25-sparse/mm/memory.c
index dc09253985..6e6bfac75c 100644
--- a/xenolinux-2.4.25-sparse/mm/memory.c
+++ b/xenolinux-2.4.25-sparse/mm/memory.c
@@ -320,7 +320,7 @@ static inline int zap_pte_range(mmu_gather_t *tlb, pmd_t * pmd, unsigned long ad
struct page *page = pte_page(pte);
#if defined(CONFIG_XENO_PRIV)
if (pte_io(pte)) {
- queue_unchecked_mmu_update(ptep, 0);
+ queue_l1_entry_update(ptep, 0);
continue;
}
#endif