Loading arch/sparc/mm/generic.c +5 −5 Original line number Original line Diff line number Diff line Loading @@ -32,9 +32,7 @@ static inline void io_remap_pte_range(struct mm_struct *mm, pte_t * pte, unsigne if (end > PMD_SIZE) if (end > PMD_SIZE) end = PMD_SIZE; end = PMD_SIZE; do { do { pte_t oldpage = *pte; set_pte_at(mm, address, pte, mk_pte_io(offset, prot, space)); pte_clear(mm, address, pte); set_pte(pte, mk_pte_io(offset, prot, space)); address += PAGE_SIZE; address += PAGE_SIZE; offset += PAGE_SIZE; offset += PAGE_SIZE; pte++; pte++; Loading Loading @@ -74,7 +72,9 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; /* See comment in mm/memory.c remap_pfn_range */ /* See comment in mm/memory.c remap_pfn_range */ vma->vm_flags |= VM_IO | VM_RESERVED | VM_UNPAGED; vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP; vma->vm_pgoff = (offset >> PAGE_SHIFT) | ((unsigned long)space << 28UL); prot = __pgprot(pg_iobits); prot = __pgprot(pg_iobits); offset -= from; offset -= from; Loading arch/sparc64/mm/generic.c +14 −1 Original line number Original line Diff line number Diff line Loading @@ -15,6 +15,15 @@ #include <asm/page.h> #include <asm/page.h> #include <asm/tlbflush.h> #include <asm/tlbflush.h> static inline pte_t mk_pte_io(unsigned long page, pgprot_t prot, int space) { pte_t pte; pte_val(pte) = (((page) | pgprot_val(prot) | _PAGE_E) & ~(unsigned long)_PAGE_CACHE); pte_val(pte) |= (((unsigned long)space) << 32); return pte; } /* Remap IO memory, the same way as remap_pfn_range(), but use /* Remap IO memory, the same way as remap_pfn_range(), but use * the obio memory space. * the obio memory space. * * Loading Loading @@ -126,9 +135,13 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, struct mm_struct *mm = vma->vm_mm; struct mm_struct *mm = vma->vm_mm; int space = GET_IOSPACE(pfn); int space = GET_IOSPACE(pfn); unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; unsigned long phys_base; phys_base = offset | (((unsigned long) space) << 32UL); /* See comment in mm/memory.c remap_pfn_range */ /* See comment in mm/memory.c remap_pfn_range */ vma->vm_flags |= VM_IO | VM_RESERVED | VM_UNPAGED; vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP; vma->vm_pgoff = phys_base >> PAGE_SHIFT; prot = __pgprot(pg_iobits); prot = __pgprot(pg_iobits); offset -= from; offset -= from; Loading include/asm-sparc64/pgtable.h +0 −10 Original line number Original line Diff line number Diff line Loading @@ -348,16 +348,6 @@ extern unsigned long find_ecache_flush_span(unsigned long size); struct vm_area_struct; struct vm_area_struct; extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t); extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t); /* Make a non-present pseudo-TTE. */ static inline pte_t mk_pte_io(unsigned long page, pgprot_t prot, int space) { pte_t pte; pte_val(pte) = (((page) | pgprot_val(prot) | _PAGE_E) & ~(unsigned long)_PAGE_CACHE); pte_val(pte) |= (((unsigned long)space) << 32); return pte; } /* Encode and de-code a swap entry */ /* Encode and de-code a swap entry */ #define __swp_type(entry) (((entry).val >> PAGE_SHIFT) & 0xffUL) #define __swp_type(entry) (((entry).val >> PAGE_SHIFT) & 0xffUL) #define __swp_offset(entry) ((entry).val >> (PAGE_SHIFT + 8UL)) #define __swp_offset(entry) ((entry).val >> (PAGE_SHIFT + 8UL)) Loading Loading
arch/sparc/mm/generic.c +5 −5 Original line number Original line Diff line number Diff line Loading @@ -32,9 +32,7 @@ static inline void io_remap_pte_range(struct mm_struct *mm, pte_t * pte, unsigne if (end > PMD_SIZE) if (end > PMD_SIZE) end = PMD_SIZE; end = PMD_SIZE; do { do { pte_t oldpage = *pte; set_pte_at(mm, address, pte, mk_pte_io(offset, prot, space)); pte_clear(mm, address, pte); set_pte(pte, mk_pte_io(offset, prot, space)); address += PAGE_SIZE; address += PAGE_SIZE; offset += PAGE_SIZE; offset += PAGE_SIZE; pte++; pte++; Loading Loading @@ -74,7 +72,9 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; /* See comment in mm/memory.c remap_pfn_range */ /* See comment in mm/memory.c remap_pfn_range */ vma->vm_flags |= VM_IO | VM_RESERVED | VM_UNPAGED; vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP; vma->vm_pgoff = (offset >> PAGE_SHIFT) | ((unsigned long)space << 28UL); prot = __pgprot(pg_iobits); prot = __pgprot(pg_iobits); offset -= from; offset -= from; Loading
arch/sparc64/mm/generic.c +14 −1 Original line number Original line Diff line number Diff line Loading @@ -15,6 +15,15 @@ #include <asm/page.h> #include <asm/page.h> #include <asm/tlbflush.h> #include <asm/tlbflush.h> static inline pte_t mk_pte_io(unsigned long page, pgprot_t prot, int space) { pte_t pte; pte_val(pte) = (((page) | pgprot_val(prot) | _PAGE_E) & ~(unsigned long)_PAGE_CACHE); pte_val(pte) |= (((unsigned long)space) << 32); return pte; } /* Remap IO memory, the same way as remap_pfn_range(), but use /* Remap IO memory, the same way as remap_pfn_range(), but use * the obio memory space. * the obio memory space. * * Loading Loading @@ -126,9 +135,13 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from, struct mm_struct *mm = vma->vm_mm; struct mm_struct *mm = vma->vm_mm; int space = GET_IOSPACE(pfn); int space = GET_IOSPACE(pfn); unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; unsigned long offset = GET_PFN(pfn) << PAGE_SHIFT; unsigned long phys_base; phys_base = offset | (((unsigned long) space) << 32UL); /* See comment in mm/memory.c remap_pfn_range */ /* See comment in mm/memory.c remap_pfn_range */ vma->vm_flags |= VM_IO | VM_RESERVED | VM_UNPAGED; vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP; vma->vm_pgoff = phys_base >> PAGE_SHIFT; prot = __pgprot(pg_iobits); prot = __pgprot(pg_iobits); offset -= from; offset -= from; Loading
include/asm-sparc64/pgtable.h +0 −10 Original line number Original line Diff line number Diff line Loading @@ -348,16 +348,6 @@ extern unsigned long find_ecache_flush_span(unsigned long size); struct vm_area_struct; struct vm_area_struct; extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t); extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t); /* Make a non-present pseudo-TTE. */ static inline pte_t mk_pte_io(unsigned long page, pgprot_t prot, int space) { pte_t pte; pte_val(pte) = (((page) | pgprot_val(prot) | _PAGE_E) & ~(unsigned long)_PAGE_CACHE); pte_val(pte) |= (((unsigned long)space) << 32); return pte; } /* Encode and de-code a swap entry */ /* Encode and de-code a swap entry */ #define __swp_type(entry) (((entry).val >> PAGE_SHIFT) & 0xffUL) #define __swp_type(entry) (((entry).val >> PAGE_SHIFT) & 0xffUL) #define __swp_offset(entry) ((entry).val >> (PAGE_SHIFT + 8UL)) #define __swp_offset(entry) ((entry).val >> (PAGE_SHIFT + 8UL)) Loading