Subversion Repositories Kolibri OS

Rev

Rev 5270 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5270 Rev 6082
Line 133... Line 133...
133
typedef unsigned long sector_t;
133
typedef unsigned long sector_t;
134
typedef unsigned long blkcnt_t;
134
typedef unsigned long blkcnt_t;
135
#endif
135
#endif
Line 136... Line 136...
136
 
136
 
137
/*
137
/*
138
 * The type of an index into the pagecache.  Use a #define so asm/types.h
-
 
139
 * can override it.
138
 * The type of an index into the pagecache.
140
 */
-
 
141
#ifndef pgoff_t
139
 */
142
#define pgoff_t unsigned long
-
 
Line -... Line 140...
-
 
140
#define pgoff_t unsigned long
143
#endif
141
 
-
 
142
/*
-
 
143
 * A dma_addr_t can hold any valid DMA address, i.e., any address returned
-
 
144
 * by the DMA API.
-
 
145
 *
-
 
146
 * If the DMA API only uses 32-bit addresses, dma_addr_t need only be 32
-
 
147
 * bits wide.  Bus addresses, e.g., PCI BARs, may be wider than 32 bits,
-
 
148
 * but drivers do memory-mapped I/O to ioremapped kernel virtual addresses,
144
 
149
 * so they don't care about the size of the actual bus addresses.
145
/* A dma_addr_t can hold any valid DMA or bus address for the platform */
150
 */
146
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
151
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
147
typedef u64 dma_addr_t;
152
typedef u64 dma_addr_t;
148
#else
-
 
149
typedef u32 dma_addr_t;
-
 
150
#endif /* dma_addr_t */
-
 
151
 
-
 
152
#ifdef __CHECKER__
-
 
153
#else
-
 
154
#endif
-
 
155
#ifdef __CHECK_ENDIAN__
153
#else
-
 
154
typedef u32 dma_addr_t;
156
#else
155
#endif
157
#endif
156
 
158
typedef unsigned __bitwise__ gfp_t;
157
typedef unsigned __bitwise__ gfp_t;
Line 159... Line 158...
159
typedef unsigned __bitwise__ fmode_t;
158
typedef unsigned __bitwise__ fmode_t;
Line 204... Line 203...
204
 
203
 
205
/**
204
/**
206
 * struct callback_head - callback structure for use with RCU and task_work
205
 * struct callback_head - callback structure for use with RCU and task_work
207
 * @next: next update requests in a list
206
 * @next: next update requests in a list
-
 
207
 * @func: actual update function to call after the grace period.
-
 
208
 *
-
 
209
 * The struct is aligned to size of pointer. On most architectures it happens
-
 
210
 * naturally due ABI requirements, but some architectures (like CRIS) have
-
 
211
 * weird ABI and we need to ask it explicitly.
-
 
212
 *
-
 
213
 * The alignment is required to guarantee that bits 0 and 1 of @next will be
-
 
214
 * clear under normal conditions -- as long as we use call_rcu(),
-
 
215
 * call_rcu_bh(), call_rcu_sched(), or call_srcu() to queue callback.
-
 
216
 *
-
 
217
 * This guarantee is important for few reasons:
-
 
218
 *  - future call_rcu_lazy() will make use of lower bits in the pointer;
-
 
219
 *  - the structure shares storage spacer in struct page with @compound_head,
-
 
220
 *    which encode PageTail() in bit 0. The guarantee is needed to avoid
208
 * @func: actual update function to call after the grace period.
221
 *    false-positive PageTail().
209
 */
222
 */
210
struct callback_head {
223
struct callback_head {
211
        struct callback_head *next;
224
	struct callback_head *next;
212
        void (*func)(struct callback_head *head);
-
 
-
 
225
	void (*func)(struct callback_head *head);
213
};
226
} __attribute__((aligned(sizeof(void *))));
Line -... Line 227...
-
 
227
#define rcu_head callback_head
-
 
228
 
-
 
229
typedef void (*rcu_callback_t)(struct rcu_head *head);
-
 
230
typedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func);
-
 
231
 
-
 
232
/* clocksource cycle base type */
214
#define rcu_head callback_head
233
typedef u64 cycle_t;
215
 
234