Linux Kernel
3.7.1
|
Go to the source code of this file.
Data Structures | |
struct | leon3_cacheregs |
Macros | |
#define | LEON_CNR_CTRL 0x000 |
#define | LEON_CNR_CTXP 0x100 |
#define | LEON_CNR_CTX 0x200 |
#define | LEON_CNR_F 0x300 |
#define | LEON_CNR_FADDR 0x400 |
#define | LEON_CNR_CTX_NCTX 256 /*number of MMU ctx */ |
#define | LEON_CNR_CTRL_TLBDIS 0x80000000 |
#define | LEON_MMUTLB_ENT_MAX 64 |
#define | LEON_DIAGF_LVL 0x3 |
#define | LEON_DIAGF_WR 0x8 |
#define | LEON_DIAGF_WR_SHIFT 3 |
#define | LEON_DIAGF_HIT 0x10 |
#define | LEON_DIAGF_HIT_SHIFT 4 |
#define | LEON_DIAGF_CTX 0x1fe0 |
#define | LEON_DIAGF_CTX_SHIFT 5 |
#define | LEON_DIAGF_VALID 0x2000 |
#define | LEON_DIAGF_VALID_SHIFT 13 |
#define | LEON_HARD_INT(x) (1 << (x)) /* irq 0-15 */ |
#define | LEON_IRQMASK_R 0x0000fffe /* bit 15- 1 of lregs.irqmask */ |
#define | LEON_IRQPRIO_R 0xfffe0000 /* bit 31-17 of lregs.irqmask */ |
#define | LEON_MCFG2_SRAMDIS 0x00002000 |
#define | LEON_MCFG2_SDRAMEN 0x00004000 |
#define | LEON_MCFG2_SRAMBANKSZ 0x00001e00 /* [12-9] */ |
#define | LEON_MCFG2_SRAMBANKSZ_SHIFT 9 |
#define | LEON_MCFG2_SDRAMBANKSZ 0x03800000 /* [25-23] */ |
#define | LEON_MCFG2_SDRAMBANKSZ_SHIFT 23 |
#define | LEON_TCNT0_MASK 0x7fffff |
#define | ASI_LEON3_SYSCTRL 0x02 |
#define | ASI_LEON3_SYSCTRL_ICFG 0x08 |
#define | ASI_LEON3_SYSCTRL_DCFG 0x0c |
#define | ASI_LEON3_SYSCTRL_CFG_SNOOPING (1 << 27) |
#define | ASI_LEON3_SYSCTRL_CFG_SSIZE(c) (1 << ((c >> 20) & 0xf)) |
#define | LEON3_BYPASS_LOAD_PA(x) (leon_load_reg((unsigned long)(x))) |
#define | LEON3_BYPASS_STORE_PA(x, v) (leon_store_reg((unsigned long)(x), (unsigned long)(v))) |
#define | LEON_BYPASS_LOAD_PA(x) leon_load_reg((unsigned long)(x)) |
#define | LEON_BYPASS_STORE_PA(x, v) leon_store_reg((unsigned long)(x), (unsigned long)(v)) |
#define | LEON_PAGE_SIZE_LEON 0 |
#define | LEON_PGD_SH 24 |
#define | LEON_PGD_M 0xff |
#define | LEON_PMD_SH 18 |
#define | LEON_PMD_SH_V (LEON_PGD_SH-2) |
#define | LEON_PMD_M 0x3f |
#define | LEON_PTE_SH 12 |
#define | LEON_PTE_M 0x3f |
#define | LEON3_XCCR_SETS_MASK 0x07000000UL |
#define | LEON3_XCCR_SSIZE_MASK 0x00f00000UL |
#define | LEON2_CCR_DSETS_MASK 0x03000000UL |
#define | LEON2_CFG_SSIZE_MASK 0x00007000UL |
#define | PFN(x) ((x) >> PAGE_SHIFT) |
#define | _pfn_valid(pfn) ((pfn < last_valid_pfn) && (pfn >= PFN(phys_base))) |
#define | _SRMMU_PTE_PMASK_LEON 0xffffffff |
Functions | |
void | leon_switch_mm (void) |
void | leon_init_IRQ (void) |
unsigned long | leon_swprobe (unsigned long vaddr, unsigned long *paddr) |
void | leon_flush_icache_all (void) |
void | leon_flush_dcache_all (void) |
void | leon_flush_cache_all (void) |
void | leon_flush_tlb_all (void) |
int | leon_flush_needed (void) |
void | leon_flush_pcache_all (struct vm_area_struct *vma, unsigned long page) |
unsigned int | leon_build_device_irq (unsigned int real_irq, irq_flow_handler_t flow_handler, const char *name, int do_ack) |
void | leon_update_virq_handling (unsigned int virq, irq_flow_handler_t flow_handler, const char *name, int do_ack) |
void | leon_init_timers (void) |
void | leon_trans_init (struct device_node *dp) |
void | leon_node_init (struct device_node *dp, struct device_node ***nextp) |
void | init_leon (void) |
void | poke_leonsparc (void) |
void | leon3_getCacheRegs (struct leon3_cacheregs *regs) |
Variables | |
int | leon_flush_during_switch |
int | leon3_ticker_irq |
#define _pfn_valid | ( | pfn | ) | ((pfn < last_valid_pfn) && (pfn >= PFN(phys_base))) |
#define LEON_IRQMASK_R 0x0000fffe /* bit 15- 1 of lregs.irqmask */ |
#define LEON_IRQPRIO_R 0xfffe0000 /* bit 31-17 of lregs.irqmask */ |
#define LEON_PMD_SH_V (LEON_PGD_SH-2) |
#define PFN | ( | x | ) | ((x) >> PAGE_SHIFT) |
void leon3_getCacheRegs | ( | struct leon3_cacheregs * | regs | ) |
unsigned int leon_build_device_irq | ( | unsigned int | real_irq, |
irq_flow_handler_t | flow_handler, | ||
const char * | name, | ||
int | do_ack | ||
) |
Definition at line 210 of file leon_kernel.c.
void leon_flush_pcache_all | ( | struct vm_area_struct * | vma, |
unsigned long | page | ||
) |
Definition at line 508 of file leon_kernel.c.
Definition at line 289 of file leon_kernel.c.
void leon_node_init | ( | struct device_node * | dp, |
struct device_node *** | nextp | ||
) |
void leon_trans_init | ( | struct device_node * | dp | ) |
Definition at line 477 of file leon_kernel.c.
void leon_update_virq_handling | ( | unsigned int | virq, |
irq_flow_handler_t | flow_handler, | ||
const char * | name, | ||
int | do_ack | ||
) |
Definition at line 243 of file leon_kernel.c.
int leon3_ticker_irq |
Definition at line 41 of file leon_kernel.c.