diff options
author | Peter Chubb <peterc@gelato.unsw.edu.au> | 2005-08-23 20:07:00 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-08-31 08:35:22 -0700 |
commit | 6cf07a8cc86a0b471466c7fe45892f7ef434015b (patch) | |
tree | b1565448216586580ee34e6fa156353e8ec0540e /arch/ia64/lib/swiotlb.c | |
parent | 714d2dc14914f0f7bb008effe830c99eb47c75df (diff) | |
download | blackbird-op-linux-6cf07a8cc86a0b471466c7fe45892f7ef434015b.tar.gz blackbird-op-linux-6cf07a8cc86a0b471466c7fe45892f7ef434015b.zip |
[IA64] Fix nasty VMLPT problem...
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 dc90e95f310f4f821c905b2aec8e9449bb3270fa
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: Peter Chubb <peterc@gelato.unsw.edu.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/lib/swiotlb.c')
0 files changed, 0 insertions, 0 deletions