IA-64 Linux Kernel : Design and Implementation
- Hardback | 560 pages
- 175.26 x 228.6 x 30.48mm | 839.14g
- 09 Feb 2002
- Pearson Education (US)
- Prentice Hall
- Upper Saddle River, United States
- w. 200 figs.
Other books in this series
21 Jan 1993
24 May 2006
01 Jul 2004
26 Aug 2002
Mixed media product
01 May 2003
Back cover copy
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 kernel
The 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 applications
This 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.
Table of contents
List of Tables.
Microprocessors: From CISC to EPIC. Overview of the Linux Kernel. Summary.
2. IA-64 Architecture.
User-Level Instruction Set Architecture. Runtime and Software Conventions. System Instruction Set Architecture. The Register Stack Engine (RSE). Summary.
3. Processes, Tasks, and Threads.
Introduction to Linux Tasks. The Thread Interface. Thread Synchronization. Summary.
4. Virtual Memory.
Introduction to the Virtual Memory System. Address Space of a Linux Process. Page Tables. Translation Lookaside Buffer (TLB). Page Fault Handling. Memory Coherency. Switching Address Spaces. Discussion and Summary.
5. Kernel Entry and Exit.
Interruptions. System Calls. Signals. Kernel Access to User Memory. Summary.
6. Stack Unwinding.
IA-64 ELF Unwind Sections. The Kernel Unwind Interface. Embedding Unwind Information in Assembly Code. Implementation Aspects. Summary.
7. DEVICE I/O.
Introduction. Programmed I/O. Direct Memory Access (DMA). Device Interrupts. Summary.
8. Symmetric Multiprocessing. @@AHEADS = Introduction to Multiprocessing on Linux. Linux Locking Principles. Multiprocessor Support Interface. CPU-Specific Data Area. Tracking Wall-Clock Time with High Resolution. Summary.
9. Understanding System Performance.
IA-64 Performance Monitoring Unit Overview. Extending the PMU: The Itanium Example. Kernel Support for Performance Monitoring. Summary.
IA-64 Firmware Overview. The Bootloader. Kernel Initialization. Summary.
11. IA-32 Compatibility.
Architectural Support for IA-32. Linux Support for IA-32 Applications. Summary.
Appendix A. IA-64 CPU Models.
Appendix B. Kernel Register Usage.
Appendix C. IA-64 Instructions.
Integer Instructions. Memory Instructions. Semaphore Instructions. Branch Instructions. Control Instructions. Multimedia Instructions. Floating-Point Instructions. Privileged Instructions.
Appendix D: Itanium PMU Events.
About Stephane Eranian
STEPHANE ERANIAN is a Senior Research Scientist at HP Labs. He has been working on the port of Linux to the IA-64 platform since late 1998. He is main architect of the kernel performance monitoring subsystem, and architect and maintainer of the Linux/IA-64 elilo boot loader.