*参照元 [#dfd0fab4]
#backlinks

*説明 [#p1469e95]
-パス: [[linux-4.4.1/arch/arm/mm/proc-macros.S]]

-FIXME: これは何?
--processor の定義に用いるマクロ。
--[[linux-4.4.1/processor]]


**引数 [#te562263]
-name
--
-dabort
--
-pabort
--
-nommu
--
-suspend
--


**返り値 [#u6e36ee9]
-なし、関数では無い


**参考 [#b7dfc9b6]

利用箇所一覧

 $ grep -r define_processor_functions arch/arm
 arch/arm/mm/proc-sa110.S:       define_processor_functions sa110, dabort=v4_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-fa526.S:       define_processor_functions fa526, dabort=v4_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm1020.S:     define_processor_functions arm1020, dabort=v4t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm1022.S:     define_processor_functions arm1022, dabort=v4t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm1026.S:     define_processor_functions arm1026, dabort=v5t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-xsc3.S:        define_processor_functions xsc3, dabort=v5t_early_abort, pabort=legacy_pabort, suspend=1
 arch/arm/mm/proc-sa1100.S:      define_processor_functions sa1100, dabort=v4_early_abort, pabort=legacy_pabort, suspend=1
 arch/arm/mm/proc-feroceon.S:    define_processor_functions feroceon, dabort=v5t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-macros.S:.macro define_processor_functions name:req, dabort:req, pabort:req, nommu=0, suspend=0
 arch/arm/mm/proc-mohawk.S:      define_processor_functions mohawk, dabort=v5t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm7tdmi.S:            define_processor_functions arm7tdmi, dabort=v4t_late_abort, pabort=legacy_pabort, nommu=1
 arch/arm/mm/proc-v6.S:  define_processor_functions v6, dabort=v6_early_abort, pabort=v6_pabort, suspend=1
 arch/arm/mm/proc-v7.S:  define_processor_functions v7, dabort=v7_early_abort, pabort=v7_pabort, suspend=1
 arch/arm/mm/proc-v7.S:  define_processor_functions ca8, dabort=v7_early_abort, pabort=v7_pabort, suspend=1
 arch/arm/mm/proc-v7.S:  define_processor_functions ca9mp, dabort=v7_early_abort, pabort=v7_pabort, suspend=1
 arch/arm/mm/proc-v7.S:  define_processor_functions pj4b, dabort=v7_early_abort, pabort=v7_pabort, suspend=1
 arch/arm/mm/proc-xscale.S:      define_processor_functions xscale, dabort=v5t_early_abort, pabort=legacy_pabort, suspend=1
 arch/arm/mm/proc-arm1020e.S:    define_processor_functions arm1020e, dabort=v4t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm720.S:      define_processor_functions arm720, dabort=v4t_late_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm740.S:      define_processor_functions arm740, dabort=v4t_late_abort, pabort=legacy_pabort, nommu=1
 arch/arm/mm/proc-arm920.S:      define_processor_functions arm920, dabort=v4t_early_abort, pabort=legacy_pabort, suspend=1
 arch/arm/mm/proc-arm922.S:      define_processor_functions arm922, dabort=v4t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm925.S:      define_processor_functions arm925, dabort=v4t_early_abort, pabort=legacy_pabort
 arch/arm/mm/proc-arm926.S:      define_processor_functions arm926, dabort=v5tj_early_abort, pabort=legacy_pabort, suspend=1
 arch/arm/mm/proc-arm940.S:      define_processor_functions arm940, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1
 arch/arm/mm/proc-arm946.S:      define_processor_functions arm946, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1
 arch/arm/mm/proc-arm9tdmi.S:            define_processor_functions arm9tdmi, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1
 arch/arm/mm/proc-v7m.S: define_processor_functions v7m, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1


*実装 [#gf71661a]
 .macro define_processor_functions name:req, dabort:req, pabort:req, nommu=0, suspend=0
         .type   \name\()_processor_functions, #object
         .align 2
 ENTRY(\name\()_processor_functions)
-
--[[linux-4.4.1/ENTRY()]]

         .word   \dabort
         .word   \pabort
         .word   cpu_\name\()_proc_init
         .word   cpu_\name\()_proc_fin
         .word   cpu_\name\()_reset
         .word   cpu_\name\()_do_idle
         .word   cpu_\name\()_dcache_clean_area
         .word   cpu_\name\()_switch_mm
 
         .if \nommu
         .word   0
         .else
         .word   cpu_\name\()_set_pte_ext
         .endif
 
         .if \suspend
         .word   cpu_\name\()_suspend_size
 #ifdef CONFIG_ARM_CPU_SUSPEND
         .word   cpu_\name\()_do_suspend
         .word   cpu_\name\()_do_resume
 #else
         .word   0
         .word   0
 #endif
         .else
         .word   0
         .word   0
         .word   0
         .endif
 
         .size   \name\()_processor_functions, . - \name\()_processor_functions
 .endm


*コメント [#pc48a685]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS