Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: PAT support
> On Thu, May 20, 2010 at 07:54:46AM +0200, Christoph Egger wrote:
> > The combined effect of MTRR and PAT memory types:
> >
> > PAT memory type MTRR memory type effective memory type
> > UC UC, WC, WP, WT, WB UC
> > UC- UC UC
> > UC- WC WC
> > UC- WP, WT, WB UC
> > WC â WC
> > WP UC UC
> > WP WC UC
> > WP WP WP
> > WP WT UC
> > WP WB WP
> > WT UC UC
> > WT WC, WP UC
> > WT WT, WB WT
> > WB UC UC
> > WB WC WC
> > WB WP WP
> > WB WT WT
> > WB WB WB
>
> ISTM that the effective memory type (EMT), not the PAT memory
> type, should be controlled by pmap(9). MTRR and PAT should
> be consistent, and no single physical page should be mapped
> once with one EMT and a second time with an inconsistent EMT.
That's not how it works on x86. On x86 you specify the PAT memory
type per page-level. You specify the MTRR memory type via
MTRR. Where MTRR and PAT overlap, the processor combines both
to the EMT using above table before it accesses the memory.
> > On 20.05.10 01:15, David Young wrote:
> > > Are some memory types more suitable for a DMA buffer than
> > > others?
> >
> > For MMIO you can use either Uncachable, Uncacheable Minus
> > or Write-Combine.
>
> Ok. What about DMA buffers?
If the DMA buffer is coherent it may also be cacheable.
Christoph
Home |
Main Index |
Thread Index |
Old Index