is best done in an arch-dependent header. I'd follow the following rule of thumb: * Anything that is decided at compiled time should probably go to the arch- dependent header. * Anything that can change at boot time (e.g., for x86 that would include the capabilities of the FPU), or even run time (is there any ?) should be described to the letter (in fine print) in 'struct cr_hdr_cpu' and friends. Oren.