IA-64 Linux Kernel: Design and Implementation, 1st edition

  • David Mosberger
  • Stephane Eranian

Unfortunately, this item is not available in your country.


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 realization
  • From 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 synchronization
  • The virtual memory subsystem: address spaces, page tables, page fault handling, and coherency
  • Device support: programmed I/O, DMA, and interrupts
  • Symmetric multiprocessing: Linux locking principles and their implementation on IA-64
  • Kernel entry and exit: interruptions, system calls, signals, and user memory access
  • Bootstrapping: firmware, bootloader, and kernel initialization
  • System performance monitoring: usage, kernel support, and Itanium extensions
  • IA-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 Figures.

List of Tables.



1. Introduction.

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.


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.

10. Booting.

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.




Published by Pearson (January 30th 2002) - Copyright © 2002