Writing Device Drivers

x86 Processor Issues

This section describes a number of x86 processor-specific topics including data alignment, byte ordering, and floating-point instructions.

x86 Data Alignment

There are no alignment restrictions on data types. However, extra memory cycles may be required for the x86 processor to properly handle misaligned data transfers.

x86 Structure Member Alignment

See "Structure Padding" for more information on how this relates to device drivers.

x86 Byte Ordering

The x86 processor uses little-endian byte ordering. The least significant byte of an integer is stored at the lowest address of the integer.


x86 Floating-Point Operations

Drivers should not perform floating-point operations, as they are not supported in the kernel.

x86 Architecture Manuals

Intel Corporation publishes a number of books on the x86 family of processors: