        Linux kernel release 2.3.xx for the IA-64 Platform

   These are the release notes for Linux version 2.3 for IA-64
   platform.  This document provides information specific to IA-64
   ONLY, to get additional information about the Linux kernel also
   read the original Linux README provided with the kernel.
 
INSTALLING the kernel:

 - IA-64 kernel installation is the same as the other platforms, see
   original README for details.
   
 
SOFTWARE REQUIREMENTS

   Compiling and running this kernel requires an IA-64 compliant GCC
   compiler.  And various software packages also compiled with an
   IA-64 compliant GCC compiler.
 

CONFIGURING the kernel:

   Configuration is the same, see original README for details.
  
   
COMPILING the kernel:

 - Compiling this kernel doesn't differ from other platform so read
   the original README for details BUT make sure you have an IA-64
   compliant GCC compiler.
 
IA-64 SPECIFICS

 - Security related issues:
 
    o mmap needs to check whether mapping would overlap with the
      address-space hole in a region or whether the mapping would be
      across regions.  In both cases, mmap should fail.
 
    o ptrace is a huge security hole right now as it does not reject
      writing to security sensitive bits (such as the PSR!).
 
 - General issues:
 
    o Kernel modules aren't supported yet.
 
    o For non-RT signals, siginfo isn't passed through from the kernel
      to the point where the signal is actually delivered.  Also, we
      should make sure the siginfo data is compliant with the UNIX
      ABI.
 
    o Hardly any performance tuning has been done. Obvious targets
      include the library routines (memcpy, IP checksum, etc.). Less
      obvious targets include making sure we don't flush the TLB
      needlessly, etc. Also, the TLB handlers should probably try to
      do a speculative load from the virtually mapped linear page
      table and only if that fails fall back on walking the page table
      tree.
	  
    o Discontigous large memory support; memory above 4GB will be
      discontigous since the 4GB-64MB is reserved for firmware and I/O
      space.
 
    o Correct mapping for PAL runtime code; PAL code needs to be
      mapped by a TR.

    o Make current IRQ/IOSAPIC handling closer to IA32 such as,
      disable/enable interrupts, use of INPROGRESS flag etc.
 
    o clone system call implementation; needs to setup proper backing
      store
 
    o SMP locks cleanup/optimization
	
    o IA32 support.  Currently experimental.  It mostly works but
      there are problems with some dynamically loaded programs.
