• Peter Chubb's avatar
    [IA64] Fix nasty VMLPT problem... · 6cf07a8c
    Peter Chubb authored
    I've solved the problem I was having with the simulator and not
    booting Debian.
    
    The problem is that the number of bits for the virtual linear array
    short-format VHPT (Virtually mapped linear page table, VMLPT for
    short) is being tested incorrectly. 
    
    There are two problems:
          1. The PAL call that should tell the kernel the size of the
          virtual address space isn't implemented for the simulator, so
          the kernel uses the default 50.  This is addressed separately
          in dc90e95f
    
          2.  In arch/ia64/mm/init.c there's code to calcualte the size
          of the VMLPT based on the number of implemented virtual address
          bits and the page size.  It checks to see if the VMLPT base
          address overlaps the top of the mapped region, but this check
          doesn't allow for the address space hole, and in fact will
          never trigger.
    
    Here's an alternative test and panic, that I think is more accurate.
    Signed-off-by: default avatarPeter Chubb <peterc@gelato.unsw.edu.au>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    6cf07a8c
init.c 17.1 KB