- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#o12e67f5]
#backlinks
*説明 [#e2fa6dbd]
-パス: [[linux-2.6.33/arch/arm/include/asm/cpu-multi32.h]]
-FIXME: これは何?
--説明
**参考 [#yc336769]
-プロセッサごとの関数定義
$ grep -rn processor_functions arch/arm/ | grep ENTRY
arch/arm/mm/proc-arm6_7.S:279:ENTRY(arm6_processor_functions)
arch/arm/mm/proc-arm6_7.S:296:ENTRY(arm7_processor_functions)
arch/arm/mm/proc-arm720.S:182:ENTRY(arm720_processor_functions)
arch/arm/mm/proc-arm740.S:127:ENTRY(arm740_processor_functions)
arch/arm/mm/proc-arm7tdmi.S:65:ENTRY(arm7tdmi_processor_functions)
arch/arm/mm/proc-arm940.S:324:ENTRY(arm940_processor_functions)
arch/arm/mm/proc-arm946.S:379:ENTRY(arm946_processor_functions)
arch/arm/mm/proc-arm9tdmi.S:65:ENTRY(arm9tdmi_processor_functions)
arch/arm/mm/proc-sa110.S:200:ENTRY(sa110_processor_functions)
arch/arm/mm/proc-sa1100.S:215:ENTRY(sa1100_processor_functions)
arch/arm/mm/proc-v6.S:199:ENTRY(v6_processor_functions)
arch/arm/mm/proc-v7.S:304:ENTRY(v7_processor_functions)
arch/arm/mm/proc-xsc3.S:437:ENTRY(xsc3_processor_functions)
arch/arm/mm/proc-xscale.S:513:ENTRY(xscale_processor_functions)
-switch_mm の関数群
--ARMv6 版: [[linux-2.6.33/cpu_v6_switch_mm()]]
--ARMv7 版: [[linux-2.6.33/cpu_v7_switch_mm()]]
*実装 [#j363b8ad]
/*
* Don't change this structure - ASM code
* relies on it.
*/
extern struct processor {
/* MISC
* get data abort address/flags
*/
void (*_data_abort)(unsigned long pc);
/*
* Retrieve prefetch fault address
*/
unsigned long (*_prefetch_abort)(unsigned long lr);
/*
* Set up any processor specifics
*/
void (*_proc_init)(void);
/*
* Disable any processor specifics
*/
void (*_proc_fin)(void);
/*
* Special stuff for a reset
*/
void (*reset)(unsigned long addr) __attribute__((noreturn));
/*
* Idle the processor
*/
int (*_do_idle)(void);
/*
* Processor architecture specific
*/
/*
* clean a virtual address range from the
* D-cache without flushing the cache.
*/
void (*dcache_clean_area)(void *addr, int size);
/*
* Set the page table
*/
void (*switch_mm)(unsigned long pgd_phys, struct mm_struct *mm);
-
--[[linux-2.6.33/mm_struct]]
/*
* Set a possibly extended PTE. Non-extended PTEs should
* ignore 'ext'.
*/
void (*set_pte_ext)(pte_t *ptep, pte_t pte, unsigned int ext);
-
--[[linux-2.6.33/ptd_t]]
} processor;
*コメント [#d4640351]