* ATI Radeon 9600SE and intel-agp, again
@ 2005-02-05 2:47 Jacob Gorm Hansen
0 siblings, 0 replies; 8+ messages in thread
From: Jacob Gorm Hansen @ 2005-02-05 2:47 UTC (permalink / raw)
To: xen-devel
hi,
I have now switched over to using the open 'R300' ATI Radeon driver in
my quest for accellerated 3D under Xen.
I have the driver running with reasonable performance under normal
Linux, but in Xen it still refuses to load due to the lack of intel-agp.
intel-agp refuses to load because the call to MMU_SET_FOREIGNDOM (trying
to give the I/O pages to dom_io) fails, because the pages are owned by
dom0 instead of by dom_io. If I remove the ownership check in get_page()
(in Xen) I can load the module, but dom0 will crash when X tries to map
AGP memory.
Again, this is _before_ any nonstandard drivers are loaded, just a plain
Xenlinux on top of a plain Xen. intel-agp is the first module loaded.
The good news:
1) There is an open Radeon 3D driver for which we have the source.
2) This driver and the ATI fglrx driver fail in exactly the same way,
meaning there is still hope for getting the fglrx driver working as well.
and the bad news:
1) intel-agp refuses to load with an ATI 9600SE (r350 chip, 8x AGP,
128meg DDR) card under Xen, though the same config works fine in plain
Linux.
I will try and understand how this stuff is supposed to work, I have an
internet-connected debug-machine with serial console, if anyone with
more Xen-AGP knowledge wishes to help debugging this.
Jacob
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: ATI Radeon 9600SE and intel-agp, again
@ 2005-02-05 7:52 Ian Pratt
2005-02-06 7:31 ` Jacob Gorm Hansen
0 siblings, 1 reply; 8+ messages in thread
From: Ian Pratt @ 2005-02-05 7:52 UTC (permalink / raw)
To: Jacob Gorm Hansen, xen-devel; +Cc: ian.pratt
> intel-agp refuses to load because the call to
> MMU_SET_FOREIGNDOM (trying
> to give the I/O pages to dom_io) fails, because the pages are
> owned by dom0 instead of by dom_io. If I remove the ownership check in
> get_page()
> (in Xen) I can load the module, but dom0 will crash when X
> tries to map
> AGP memory.
Have you tried since the following checkin:
48 hours kaf24 1.1711 Fix ioremap() for local RAM pages
Ian
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ATI Radeon 9600SE and intel-agp, again
2005-02-05 7:52 Ian Pratt
@ 2005-02-06 7:31 ` Jacob Gorm Hansen
2005-02-06 7:59 ` Jacob Gorm Hansen
0 siblings, 1 reply; 8+ messages in thread
From: Jacob Gorm Hansen @ 2005-02-06 7:31 UTC (permalink / raw)
To: Ian Pratt; +Cc: xen-devel
Ian Pratt wrote:
>>intel-agp refuses to load because the call to
>>MMU_SET_FOREIGNDOM (trying
>>to give the I/O pages to dom_io) fails, because the pages are
>>owned by dom0 instead of by dom_io. If I remove the ownership check in
>
>
>>get_page()
>>(in Xen) I can load the module, but dom0 will crash when X
>>tries to map
>>AGP memory.
>
>
> Have you tried since the following checkin:
> 48 hours kaf24 1.1711 Fix ioremap() for local RAM pages
Yes, this is this is in the latest code from bkbits xeno-unstable.
arch/xen/i386/ioremap.c tries to call direct_remap_area_pages like this
(the printk is mine)
printk("trying to remap addr %p phys %p size %d to DOM_IO\n",addr,
phys_addr, size);
if (direct_remap_area_pages(&init_mm, (unsigned long) addr, phys_addr,
size, __pgprot(_PAGE_PRESENT | _PAGE_RW |
_PAGE_DIRTY | _PAGE_ACCESSED
| flags), DOMID_IO)) {
the printk says:
"trying to remap addr d0900000 phys 3ff00000 size 262144 to DOM_IO"
And the call fails in Xen who claims that dom0 and not dom_io owns these
pages.
Jacob
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ATI Radeon 9600SE and intel-agp, again
2005-02-06 7:31 ` Jacob Gorm Hansen
@ 2005-02-06 7:59 ` Jacob Gorm Hansen
0 siblings, 0 replies; 8+ messages in thread
From: Jacob Gorm Hansen @ 2005-02-06 7:59 UTC (permalink / raw)
To: Ian Pratt; +Cc: xen-devel
Jacob Gorm Hansen wrote:
> printk("trying to remap addr %p phys %p size %d to DOM_IO\n",addr,
> phys_addr, size);
>
> if (direct_remap_area_pages(&init_mm, (unsigned long) addr, phys_addr,
> size, __pgprot(_PAGE_PRESENT | _PAGE_RW |
> _PAGE_DIRTY | _PAGE_ACCESSED
> | flags), DOMID_IO)) {
>
> the printk says:
> "trying to remap addr d0900000 phys 3ff00000 size 262144 to DOM_IO"
>
> And the call fails in Xen who claims that dom0 and not dom_io owns these
> pages.
I have tried replacing DOMID_IO with DOMID_LOCAL, and then the call goes
through, but I have no idea if it makes any sense doing that.
By the way, I just tried with an Nvidia graphics card in the machine,
and the problem is the same, so it must be a problem with the chipset
which is an Intel i875. The machine is a Dell Precision 380
workstation-class machine with a P4 3.2GHz and 1GB mem.
Jacob
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: ATI Radeon 9600SE and intel-agp, again
@ 2005-02-06 9:34 Ian Pratt
2005-02-07 21:42 ` Jacob Gorm Hansen
0 siblings, 1 reply; 8+ messages in thread
From: Ian Pratt @ 2005-02-06 9:34 UTC (permalink / raw)
To: Jacob Gorm Hansen; +Cc: xen-devel, ian.pratt
> > if (direct_remap_area_pages(&init_mm, (unsigned long)
> addr, phys_addr,
> > size, __pgprot(_PAGE_PRESENT | _PAGE_RW |
> > _PAGE_DIRTY | _PAGE_ACCESSED
> > | flags), DOMID_IO)) {
The previous patch was trivially broken - it calculated the domid to use
then always passed in a constant (as above).
It's a shame Linux isn't compiled -Werror
Ian
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ATI Radeon 9600SE and intel-agp, again
2005-02-06 9:34 Ian Pratt
@ 2005-02-07 21:42 ` Jacob Gorm Hansen
0 siblings, 0 replies; 8+ messages in thread
From: Jacob Gorm Hansen @ 2005-02-07 21:42 UTC (permalink / raw)
To: Ian Pratt; +Cc: xen-devel
Ian Pratt wrote:
>>> if (direct_remap_area_pages(&init_mm, (unsigned long)
>>
>>addr, phys_addr,
>>
>>> size, __pgprot(_PAGE_PRESENT | _PAGE_RW |
>>> _PAGE_DIRTY | _PAGE_ACCESSED
>>> | flags), DOMID_IO)) {
>
>
> The previous patch was trivially broken - it calculated the domid to use
> then always passed in a constant (as above).
Thanks, I should have spotted that. This is equal to my own hacked
version (using DOMID_LOCAL or remming out the owner check in Xen), so I
can now load intel-agp without that bad taste in my mouth :-)
Anyway, I now encounter the following crash in the r300-supplied drm-module:
Oops: 0000 [#1]
DEBUG_PAGEALLOC
Modules linked in: radeon drm intel_agp agpgart
CPU: 0
EIP: 0061:[<c0143546>] Not tainted VLI
EFLAGS: 00013206 (2.6.10-xen0)
EIP is at remap_pfn_range+0x176/0x220
eax: c0527000 ebx: 000e0000 ecx: 00000027 edx: 000e0000
esi: 003ee000 edi: c9b48fb8 ebp: 00400000 esp: c9917eac
ds: 007b es: 007b ss: 0069
Process X (pid: 6673, threadinfo=c9916000 task=c9977b20)
Stack: 00400000 af400000 000dfc12 003ee000 c994eaf4 c994fddc af8ef000
c994eaf4
00000000 c7a10804 c9c6a5b0 ce4c67f8 d087c2b6 c9c6a5b0 af7ee000
00030812
00101000 00000027 c9c6a5ac c9b4af6c c9c6a5b0 af7ee000 ffffffea
c9b4af6c
Call Trace:
[<d087c2b6>] drm_mmap+0x1c6/0x2b9 [drm]
[<c014624f>] do_mmap_pgoff+0x35f/0x730
[<c0110e76>] old_mmap+0xd6/0x110
[<c0109530>] syscall_call+0x7/0xb
Code: e0 05 01 d0 8b 00 f6 c4 08 74 2a 8b 44 24 44 89 d9 c1 e1 0c 09 c1
f6 c1 01 74 18 a1 80 08 4f c0 89 ca c1 ea 0
c 81 e1 ff 0f 00 00 <8b> 04 90 c1 e0 0c 09 c1 89 0f 43 83 c7 04 81 c6 00
10 00 00 74
I have seen some mention of a drm-patch earlier, but it is no longer in
the tree. What happened to that / is it likely that I need to apply
something similar to the r300 drm module?
thanks,
Jacob
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: ATI Radeon 9600SE and intel-agp, again
@ 2005-02-07 22:08 Ian Pratt
2005-02-07 22:45 ` Jacob Gorm Hansen
0 siblings, 1 reply; 8+ messages in thread
From: Ian Pratt @ 2005-02-07 22:08 UTC (permalink / raw)
To: Jacob Gorm Hansen; +Cc: xen-devel, ian.pratt
> I have seen some mention of a drm-patch earlier, but it is no
> longer in
> the tree. What happened to that / is it likely that I need to apply
> something similar to the r300 drm module?
The previous drm patch was for an inline wbinvd instruction, which we
now emulate in Xen.
This is something different. You'll have to figure out what the
remap_page_range is trying to remap...
Ian
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: ATI Radeon 9600SE and intel-agp, again
2005-02-07 22:08 ATI Radeon 9600SE and intel-agp, again Ian Pratt
@ 2005-02-07 22:45 ` Jacob Gorm Hansen
0 siblings, 0 replies; 8+ messages in thread
From: Jacob Gorm Hansen @ 2005-02-07 22:45 UTC (permalink / raw)
To: Ian Pratt; +Cc: xen-devel
Ian Pratt wrote:
>>I have seen some mention of a drm-patch earlier, but it is no
>>longer in
>>the tree. What happened to that / is it likely that I need to apply
>>something similar to the r300 drm module?
>
>
> The previous drm patch was for an inline wbinvd instruction, which we
> now emulate in Xen.
>
> This is something different. You'll have to figure out what the
> remap_page_range is trying to remap...
>
OK, changing one call to remap_pfn_range to io_remap_range in the r300
drm_vm.c now allows me to start X without crashing. Unfortunately,
AGP/DRI is still not working, but I will try and investigate this a bit
more.
Jacob
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-02-07 22:45 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-07 22:08 ATI Radeon 9600SE and intel-agp, again Ian Pratt
2005-02-07 22:45 ` Jacob Gorm Hansen
-- strict thread matches above, loose matches on Subject: below --
2005-02-06 9:34 Ian Pratt
2005-02-07 21:42 ` Jacob Gorm Hansen
2005-02-05 7:52 Ian Pratt
2005-02-06 7:31 ` Jacob Gorm Hansen
2005-02-06 7:59 ` Jacob Gorm Hansen
2005-02-05 2:47 Jacob Gorm Hansen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.