0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __ASM_PREFETCH_H
0009 #define __ASM_PREFETCH_H
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 #define Pref_Load 0
0035 #define Pref_Store 1
0036
0037 #define Pref_LoadStreamed 4
0038 #define Pref_StoreStreamed 5
0039 #define Pref_LoadRetained 6
0040 #define Pref_StoreRetained 7
0041
0042 #define Pref_WriteBackInvalidate 25
0043 #define Pref_PrepareForStore 30
0044
0045 #ifdef __ASSEMBLY__
0046
0047 .macro __pref hint addr
0048 #ifdef CONFIG_CPU_HAS_PREFETCH
0049 pref \hint, \addr
0050 #endif
0051 .endm
0052
0053 .macro pref_load addr
0054 __pref Pref_Load, \addr
0055 .endm
0056
0057 .macro pref_store addr
0058 __pref Pref_Store, \addr
0059 .endm
0060
0061 .macro pref_load_streamed addr
0062 __pref Pref_LoadStreamed, \addr
0063 .endm
0064
0065 .macro pref_store_streamed addr
0066 __pref Pref_StoreStreamed, \addr
0067 .endm
0068
0069 .macro pref_load_retained addr
0070 __pref Pref_LoadRetained, \addr
0071 .endm
0072
0073 .macro pref_store_retained addr
0074 __pref Pref_StoreRetained, \addr
0075 .endm
0076
0077 .macro pref_wback_inv addr
0078 __pref Pref_WriteBackInvalidate, \addr
0079 .endm
0080
0081 .macro pref_prepare_for_store addr
0082 __pref Pref_PrepareForStore, \addr
0083 .endm
0084
0085 #endif
0086
0087 #endif