[Xen-devel] Re: [GIT PULL] devel/pat + devel/kms.fixes-0.5
On 08/06/2010 07:06 AM, Konrad Rzeszutek Wilk wrote:
Please pull from devel/pat (based off your xen/dom0/core tree) which
has one patch:
Konrad Rzeszutek Wilk (1):
xen/pat: make pte_flags(x) a pvops function.
which is neccessary for the drivers/gpu/drm/radeon driver to work
properly with AGP based cards (which look to be the only ones that
try to set WC on pages).
Hm. I introduced pte_flags() so that code which wants to get the flags
but not the pfn can do so without needing to make a pvops call, which
significantly reduces the number of pvops calls in the mm code.
However, the original rationale for making it non-pvops - nobody fiddles
with pte flags - is no longer true with the PAT translation. And it is
pretty ugly that pte_val and pte_flags will return different flags for a
pte. But I'm still leery about imposing the cost of making pte_flags a
Why is it needed? Could the AGP/Radeon code use pte_val to get the
flags values it wants?
Also please pull from devel/kms.fixes-05 (based off your xen/dom0/agp)
which has the following patches:
Daniel De Graaf (1):
fb: propagate VM_IO to VMA.
Konrad Rzeszutek Wilk (10):
ttm: When TTM_PAGE_FLAG_DMA32 allocate pages under 4GB under Xen.
ttm: Set VM_IO only on pages with TTM_MEMTYPE_FLAG_NEEDS_IOREMAP set.
agp: Use Xen back-door to get bus address for legacy code.
agp: Program the GART with the real physical address under Xen.
agp: If _GFP_DMA_32 flag is set enforce pages to be under 4GB under Xen.
agp-backend: Use Xen back-door to get bus address for scratch page.
intel-agp: Warn when !USE_PCI_DMA_API and inserting bogus bus addresses.
intel-agp: Use Xen back-door to get page's physical address for i8[1,3]0
amd64-agp:Use Xen back-door to get page's physical address for AMD64
ttm: Change VMA flags if they != to the TTM flags.
Some of them are marked as not for upstream consumption, while some of
the other are OK (and Daniel's is upstream). Those patches from both
branches make it possible to have Xorg working with the following
graphics cards on the PVOPS kernel:
I assume this depends on the pte_flags change?
RIVA TNT2 Pro
GeForce 1 256
GeForce 4 Ti 4200
GeForce 8600 GT
Radeon R100 QD (7200)
Radeon RV100QY (7000)
Radeon HD 3200
Radeon HD 3450
Radeon RV710 [Radeon HD 4350]
XGI Z7/Z9 (XG20 core)
Testing was carried out using Fedora Core 13, Fedora Core 11, and Ubuntu
Lucid 10.04 with the PVOPS kernel.
The details are located at http://wiki.xensource.com/xenwiki/XenPVOPSDRM
For the NVidia cards I backported the 2.6.34 nouvoua driver in 2.6.32
and used that - it is pretty stable and even the experimental Gallium
drivers (3D) work well.
Xen-devel mailing list