IA-64 Linux Kernel: Design and Implementation
The authoritative guide to the IA-64 Linux kernel implementation.Authoritative and complete description of the Linux kernel for IA-64/IPF (Itanium Processor Family)Provides an in-depth discussion of the ideas and concepts behind the Linux hardware abstraction interfaces, the IA-64 design space, and their actual realizationFrom the lead architects and developers of the IA-64 Linux kernelThe IA-64 architecture and Itanium processors are designed to offer unprecedented levels of performance, expandability, and reliability—and with the delivery of the IA-64 Linux kernel, that power is now accessible to every Linux developer. In this authoritative book, the IA-64 Linux kernel project's leaders take you "under the hood" with Linux for IA-64, demonstrating exactly how it makes the most of the IA-64's breakthrough capabilities.They begin by introducing the IA-64 architecture, instruction set, and key features. Next, they cover every major Linux kernel subsystem in unprecedented detail, presenting the interfaces used by Linux to abstract hardware differences and showing how these interfaces have been realized in the IA-64 environment. Coverage includes:Processes, tasks, and threads, including thread interfaces and synchronizationThe virtual memory subsystem: address spaces, page tables, page fault handling, and coherencyDevice support: programmed I/O, DMA, and interruptsSymmetric multiprocessing: Linux locking principles and their implementation on IA-64Kernel entry and exit: interruptions, system calls, signals, and user memory accessBootstrapping: firmware, bootloader, and kernel initializationSystem performance monitoring: usage, kernel support, and Itanium extensionsIA-32 compatibility: architectural support and Linux support for running legacy 32-bit applicationsThis book not only focuses on the ideas and concepts you need to work with this radically innovative architecture: it illuminates the key issues associated with Linux kernel operation on any platform, existing or new.