#include <linux/config.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/mm.h>#include <linux/malloc.h>#include <asm/pgtable.h>#include <asm/sbus.h>#include <asm/io.h>#include <asm/mxcc.h>#include <asm/mbus.h>Include dependency graph for iommu.c:

Go to the source code of this file.
Defines | |
| #define | flush_page_for_dma(page) BTFIXUP_CALL(flush_page_for_dma)(page) |
| #define | IOPERM (IOPTE_CACHE | IOPTE_WRITE | IOPTE_VALID) |
| #define | MKIOPTE(phys) (((((phys)>>4) & IOPTE_PAGE) | IOPERM) & ~IOPTE_WAZ) |
Functions | |
| void | viking_flush_page (unsigned long page) |
| void | viking_mxcc_flush_page (unsigned long page) |
| static void | iommu_map_dvma_pages_for_iommu (struct iommu_struct *iommu) |
| __initfunc (void iommu_init(int iommund, struct linux_sbus *sbus)) | |
| static __u32 | iommu_get_scsi_one_noflush (char *vaddr, unsigned long len, struct linux_sbus *sbus) |
| static __u32 | iommu_get_scsi_one_gflush (char *vaddr, unsigned long len, struct linux_sbus *sbus) |
| static __u32 | iommu_get_scsi_one_pflush (char *vaddr, unsigned long len, struct linux_sbus *sbus) |
| static void | iommu_get_scsi_sgl_noflush (struct mmu_sglist *sg, int sz, struct linux_sbus *sbus) |
| static void | iommu_get_scsi_sgl_gflush (struct mmu_sglist *sg, int sz, struct linux_sbus *sbus) |
| static void | iommu_get_scsi_sgl_pflush (struct mmu_sglist *sg, int sz, struct linux_sbus *sbus) |
| static void | iommu_release_scsi_one (__u32 vaddr, unsigned long len, struct linux_sbus *sbus) |
| static void | iommu_release_scsi_sgl (struct mmu_sglist *sg, int sz, struct linux_sbus *sbus) |
| static char * | iommu_lockarea (char *vaddr, unsigned long len) |
| static void | iommu_unlockarea (char *vaddr, unsigned long len) |
| __initfunc (void ld_mmu_iommu(void)) | |
Variables | |
| int | viking_mxcc_present |
| int | flush_page_for_dma_global |
| static int | viking_flush = 0 |
|
|
Definition at line 24 of file iommu.c. Referenced by __initfunc(), iommu_get_scsi_one_gflush(), iommu_get_scsi_one_pflush(), iommu_get_scsi_sgl_gflush(), and iommu_get_scsi_sgl_pflush(). |
|
|
|
|
|
|
|
|
Definition at line 283 of file iommu.c. References BTFIXUPCALL_NOP, BTFIXUPCALL_NORM, BTFIXUPCALL_RETO0, BTFIXUPSET_CALL, BTFIXUPVAL_CALL, flush_page_for_dma, flush_page_for_dma_global, iommu_get_scsi_one_gflush(), iommu_get_scsi_one_noflush(), iommu_get_scsi_one_pflush(), iommu_get_scsi_sgl_gflush(), iommu_get_scsi_sgl_noflush(), iommu_get_scsi_sgl_pflush(), iommu_lockarea(), iommu_release_scsi_one(), iommu_release_scsi_sgl(), iommu_unlockarea(), long, mmu_get_scsi_one, mmu_get_scsi_sgl, mmu_lockarea, mmu_map_dma_area, mmu_release_scsi_one, mmu_release_scsi_sgl, mmu_unlockarea, viking_flush, and viking_flush_page. Here is the call graph for this function: ![]() |
|
|
Definition at line 48 of file iommu.c. References __get_free_pages(), iommu_regs::base, iommu_regs::control, end, iommu_struct::end, flush_cache_all, flush_tlb_all, i, linux_sbus::iommu, IOMMU_CTRL_ENAB, IOMMU_CTRL_IMPL, IOMMU_CTRL_RNGE, IOMMU_CTRL_VERS, iommu_invalidate(), iommu_map_dvma_pages_for_iommu(), IOMMU_RNGE_1GB, IOMMU_RNGE_256MB, IOMMU_RNGE_2GB, IOMMU_RNGE_512MB, kmalloc(), long, iommu_struct::lowest, memset, page_offset, PAGE_SHIFT, PAGE_SIZE, iommu_struct::page_table, panic(), iommu_struct::plow, printk, prom_getproperty(), prom_halt(), prom_printf, iommu_struct::regs, sparc_alloc_io(), start, iommu_struct::start, tmp, viking_flush, viking_flush_page, viking_mxcc_flush_page(), viking_mxcc_present, and x0. Here is the call graph for this function: ![]() |
|
||||||||||||||||
|
Definition at line 146 of file iommu.c. References flush_page_for_dma. Referenced by __initfunc(). |
|
||||||||||||||||
|
Definition at line 141 of file iommu.c. Referenced by __initfunc(). |
|
||||||||||||||||
|
Definition at line 152 of file iommu.c. References flush_page_for_dma, long, page, PAGE_MASK, and PAGE_SIZE. Referenced by __initfunc(). |
|
||||||||||||||||
|
Definition at line 169 of file iommu.c. References mmu_sglist::addr, mmu_sglist::dvma_addr, and flush_page_for_dma. Referenced by __initfunc(). |
|
||||||||||||||||
|
Definition at line 163 of file iommu.c. Referenced by __initfunc(). |
|
||||||||||||||||
|
Definition at line 176 of file iommu.c. References mmu_sglist::addr, mmu_sglist::dvma_addr, flush_page_for_dma, mmu_sglist::len, long, page, PAGE_MASK, and PAGE_SIZE. Referenced by __initfunc(). |
|
||||||||||||
|
Definition at line 274 of file iommu.c. Referenced by __initfunc(). |
|
|
Definition at line 34 of file iommu.c. References first, high_memory, last, long, MKIOPTE, page_offset, PAGE_SHIFT, and PAGE_SIZE. Referenced by __initfunc(). |
|
||||||||||||||||
|
Definition at line 194 of file iommu.c. Referenced by __initfunc(). |
|
||||||||||||||||
|
Definition at line 198 of file iommu.c. Referenced by __initfunc(). |
|
||||||||||||
|
Definition at line 279 of file iommu.c. Referenced by __initfunc(). |
|
|
|
|
|
Referenced by __initfunc(). |
|
|
Definition at line 79 of file srmmu.c. Referenced by __initfunc(). |
|
|
Definition at line 26 of file iommu.c. Referenced by __initfunc(). |
|
|
Definition at line 116 of file srmmu.c. Referenced by __initfunc(). |