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

[Xen-bugs] [Bug 1726] pvops dom0 crashes on boot up using Intel i9xx AGP driver when dom0_mem is no



http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1726





------- Comment #7 from konrad.wilk@xxxxxxxxxx  2011-02-01 11:20 -------
(In reply to comment #6)
> Copied from Fengzhe's email.
> 
> In intel_i9xx_setup_flush (intel-agp.c), agp driver tries to map a "Flush 
> Page"
> using ioremap_nocache(). But the I/O page address passed to ioremap_nocache()
> is not valid in both P2M and M2P tables. The page address is always 8MB over
> max dom0_mem.

Right.. But the ioremap_nocache append the _PAGE_IOMAP flag, which ends up
going in xen_make_pte, which checks for this:

 538         if (unlikely(pte & _PAGE_IOMAP) &&
 539             (xen_initial_domain() || addr >= ISA_END_ADDRESS)) {
 540                 pte = iomap_pte(pte);

and calls iomap_pte which just uses the provided PFN and does not consult the
P2M.

In the 'xen_pte_val' (which is used right before setting the PTE), we also
check the _PAGE_IOMAP:
 477         if (xen_initial_domain() && (pteval & _PAGE_IOMAP))
 478                 return pteval;

and don't consult the M2P.


So there is no consulting of the M2P or P2M if the _PAGE_IOMAP flag is
provided... 

Could it be that some later somebody removes the _PAGE_IOMAP?

Or is the _PAGE_IOMAP somehow not set? (The ioremap_caller sets the prot to
PAGE_KERNEL_IO_UC_MINUS which has the _PAGE_IOMAP).


> 
> If I remove the ioremap logic, dom0 can boot successfully with no noticeable
> error. The bug is reproduced on HP 7800p machine with Core2 processor and Q35
> motherboard.
> 


-- 
Configure bugmail: 
http://bugzilla.xensource.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

_______________________________________________
Xen-bugs mailing list
Xen-bugs@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-bugs


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.