RE: [PATCH] ia64, kexec: allow base of crashkernel to be auto-discovered

From: Luck, Tony <tony.luck_at_intel.com>
Date: 2006-06-30 07:51:33
> >   Also it is wrong to put TLB map of RAM that does not exist together
> > with kernel text and data.
> 
> Sorry, I don't understand that.

Here's an example.  Many systems have (for legacy reasons) mapped
VGA memory at 0xA0000-0xC0000.  This memory is typically uncacheable
so that when you write to those addresses the bits show up on the
screen (rather than sitting in the processor cache for some indeterminate
amount of time).

Now if Linux is using a 64MB entry to map the kernel, and the kernel
has been loaded into the bottom 64M of memory, the mapping for the
kernel (which has a WB attribute) will overlap the VGA memory (which
doesn't support WB) ... and so you will most probably machine check
when someone accesses the VGA (or worse if some speculative access or
prefetch happens to pull from the VGA area).

So the rule is that Linux must never create TLB mappings for things
that don't exist, or for blocks of memory with incompatible attributes.

-Tony
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Jun 30 07:53:50 2006

This archive was generated by hypermail 2.1.8 : 2006-06-30 07:54:06 EST