⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu-single.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
字号:
/* *  linux/include/asm-arm/cpu-single.h * *  Copyright (C) 2000 Russell King * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. *//* * Single CPU */#ifdef __STDC__#define __cpu_fn(name,x)	cpu_##name##x#else#define __cpu_fn(name,x)	cpu_/**/name/**/x#endif#define cpu_fn(name,x)		__cpu_fn(name,x)/* * If we are supporting multiple CPUs, then we must use a table of * function pointers for this lot.  Otherwise, we can optimise the * table away. */#define cpu_data_abort			cpu_fn(CPU_NAME,_data_abort)#define cpu_check_bugs			cpu_fn(CPU_NAME,_check_bugs)#define cpu_proc_init			cpu_fn(CPU_NAME,_proc_init)#define cpu_proc_fin			cpu_fn(CPU_NAME,_proc_fin)#define cpu_reset			cpu_fn(CPU_NAME,_reset)#define cpu_do_idle			cpu_fn(CPU_NAME,_do_idle)#define cpu_cache_clean_invalidate_all	cpu_fn(CPU_NAME,_cache_clean_invalidate_all)#define cpu_cache_clean_invalidate_range cpu_fn(CPU_NAME,_cache_clean_invalidate_range)#define cpu_flush_ram_page		cpu_fn(CPU_NAME,_flush_ram_page)#define cpu_dcache_invalidate_range	cpu_fn(CPU_NAME,_dcache_invalidate_range)#define cpu_dcache_clean_range		cpu_fn(CPU_NAME,_dcache_clean_range)#define cpu_dcache_clean_page		cpu_fn(CPU_NAME,_dcache_clean_page)#define cpu_dcache_clean_entry		cpu_fn(CPU_NAME,_dcache_clean_entry)#define cpu_icache_invalidate_range	cpu_fn(CPU_NAME,_icache_invalidate_range)#define cpu_icache_invalidate_page	cpu_fn(CPU_NAME,_icache_invalidate_page)#define cpu_tlb_invalidate_all		cpu_fn(CPU_NAME,_tlb_invalidate_all)#define cpu_tlb_invalidate_range	cpu_fn(CPU_NAME,_tlb_invalidate_range)#define cpu_tlb_invalidate_page		cpu_fn(CPU_NAME,_tlb_invalidate_page)#define cpu_set_pgd			cpu_fn(CPU_NAME,_set_pgd)#define cpu_set_pmd			cpu_fn(CPU_NAME,_set_pmd)#define cpu_set_pte			cpu_fn(CPU_NAME,_set_pte)#ifndef __ASSEMBLY__#include <asm/page.h>/* forward declare task_struct */struct task_struct;/* declare all the functions as extern */extern void cpu_data_abort(unsigned long pc);extern void cpu_check_bugs(void);extern void cpu_proc_init(void);extern void cpu_proc_fin(void);extern int cpu_do_idle(int mode);extern void cpu_cache_clean_invalidate_all(void);extern void cpu_cache_clean_invalidate_range(unsigned long address, unsigned long end, int flags);extern void cpu_flush_ram_page(void *virt_page);extern void cpu_dcache_invalidate_range(unsigned long start, unsigned long end);extern void cpu_dcache_clean_range(unsigned long start, unsigned long end);extern void cpu_dcache_clean_page(void *virt_page);extern void cpu_dcache_clean_entry(unsigned long address);extern void cpu_icache_invalidate_range(unsigned long start, unsigned long end);extern void cpu_icache_invalidate_page(void *virt_page);extern void cpu_tlb_invalidate_all(void);extern void cpu_tlb_invalidate_range(unsigned long address, unsigned long end);extern void cpu_tlb_invalidate_page(unsigned long address, int flags);extern void cpu_set_pgd(unsigned long pgd_phys);extern void cpu_set_pmd(pmd_t *pmdp, pmd_t pmd);extern void cpu_set_pte(pte_t *ptep, pte_t pte);extern volatile void cpu_reset(unsigned long addr);#define cpu_switch_mm(pgd,tsk) cpu_set_pgd(__virt_to_phys((unsigned long)(pgd)))#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -