Home | History | Annotate | Download | only in gpxe

Lines Matching refs:table

92  * table, and then have a function call_init_fns() that simply calls
93 * all functions present in this table. If and only if serial.o gets
101 * our table sections have names of the format @c .tbl.NAME.NN where
102 * @c NAME designates the data structure stored in the table (e.g. @c
105 * symbol indicating "table start", and @c NN=99 is reserved for the
106 * symbol indicating "table end".
173 * Declare a linker table
176 * @v name Table name
177 * @ret table Linker table
182 * Get linker table data type
184 * @v table Linker table
187 #define __table_type( table ) __table_extract_type table
191 * Get linker table name
193 * @v table Linker table
194 * @ret name Table name
196 #define __table_name( table ) __table_extract_name table
200 * Get linker table section name
202 * @v table Linker table
203 * @v idx Sub-table index
206 #define __table_section( table, idx ) \
207 ".tbl." __table_name ( table ) "." __table_str ( idx )
211 * Get linker table alignment
213 * @v table Linker table
216 #define __table_alignment( table ) __alignof__ ( __table_type ( table ) )
219 * Declare a linker table entry
221 * @v table Linker table
222 * @v idx Sub-table index
238 #define __table_entry( table, idx ) \
239 __attribute__ (( __section__ ( __table_section ( table, idx ) ),\
240 __aligned__ ( __table_alignment ( table ) ) ))
243 * Get start of linker table entries
245 * @v table Linker table
246 * @v idx Sub-table index
249 #define __table_entries( table, idx ) ( { \
250 static __table_type ( table ) __table_entries[0] \
251 __table_entry ( table, idx ); \
255 * Get start of linker table
257 * @v table Linker table
258 * @ret start Start of linker table
270 #define table_start( table ) __table_entries ( table, 00 )
273 * Get end of linker table
275 * @v table Linker table
276 * @ret end End of linker table
288 #define table_end( table ) __table_entries ( table, 99 )
291 * Get number of entries in linker table
293 * @v table Linker table
294 * @ret num_entries Number of entries in linker table
307 #define table_num_entries( table ) \
308 ( ( unsigned int ) ( table_end ( table ) - \
309 table_start ( table ) ) )
312 * Iterate through all entries within a linker table
315 * @v table Linker table
332 #define for_each_table_entry( pointer, table ) \
333 for ( pointer = table_start ( table ) ; \
334 pointer < table_end ( table ) ; \
338 * Iterate through all entries within a linker table in reverse order
341 * @v table Linker table
358 #define for_each_table_entry_reverse( pointer, table ) \
359 for ( pointer = ( table_end ( table ) - 1 ) ; \
360 pointer >= table_start ( table ) ; \
380 #define __table_entries( table, idx ) ( { \
381 extern __table_type ( table ) \
383 __table_entry ( table, idx ) \
384 asm ( __table_entries_sym ( table, idx ) ); \
386 ".section " __table_section ( table, idx ) "\n\t" \
392 "i" ( __table_alignment ( table ) ) ); \
394 #define __table_entries_sym( table, idx ) \
395 "__tbl_" __table_name ( table ) "_" #idx
411 #define __table_alignment( table ) \
412 ( ICC_ALIGN_HACK_FACTOR * __alignof__ ( __table_type ( table ) ) )
418 * alignment boundary. Do this by appending the line number to table
427 #define __table_section( table, idx ) \
428 ".tbl." __table_name ( table ) "." __table_str ( idx ) \