*参照元 [#o12e67f5] #backlinks *説明 [#e2fa6dbd] -パス: [[linux-2.6.33/arch/arm/include/asm/cpu-multi32.h]] -FIXME: これは何? --説明 -変数はアセンブラ内で定義されているものが多い。 下記 processor 変数の定義も参照のこと。 --[[linux-2.6.33/processor(global)]] **参考 [#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) --[[linux-2.6.33/processor(global)]] *実装 [#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]