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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> >   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
-
: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux