FeepingCreature
2010-Jul-12 10:24 UTC
[Xen-devel] Radeon HD5770 and VGA passthrough (vBAR=pBAR not enough?)
Hi, I''ve been trying these last few days to get primary VGA passthrough to work on my ATI Radeon HD5770 card. I''m running hg head with the secondary patches applied (external graphics BIOS, vbar=pbar), and in VGA mode this works fine. The problem is that ati2dvag crashes whenever it tries to switch to any driver-run graphics mode. ------ win xp starts its vga-based boot screen. All is well. (XEN) domctl.c:1002:d0 memory_map:remove: gfn=c0000 mfn=c0000 nr_mfns=10000 (XEN) domctl.c:1002:d0 memory_map:remove: gfn=d0020 mfn=d0020 nr_mfns=20 (XEN) domctl.c:1072:d0 ioport_map:remove f_gport=d000 f_mport=d000 np=100 (XEN) domctl.c:992:d0 memory_map:add: gfn=c0000 mfn=c0000 nr_mfns=10000 (XEN) domctl.c:992:d0 memory_map:add: gfn=d0020 mfn=d0020 nr_mfns=20 (XEN) domctl.c:1048:d0 ioport_map:add f_gport=d000 f_mport=d000 np=100 (XEN) domctl.c:1002:d0 memory_map:remove: gfn=f1000 mfn=d0040 nr_mfns=4 (XEN) domctl.c:992:d0 memory_map:add: gfn=f1000 mfn=d0040 nr_mfns=4 (XEN) grant_table.c:1121:d8 Expanding dom (8) grant table from (4) to (32) frames. (XEN) irq.c:309: Dom8 callback via changed to GSI 28 ------ driver activation happens here (XEN) domctl.c:1002:d0 memory_map:remove: gfn=c0000 mfn=c0000 nr_mfns=10000 (XEN) domctl.c:1002:d0 memory_map:remove: gfn=d0020 mfn=d0020 nr_mfns=20 (XEN) domctl.c:1072:d0 ioport_map:remove f_gport=d000 f_mport=d000 np=100 -- note the different addresses! (XEN) domctl.c:992:d0 memory_map:add: gfn=e0000 mfn=c0000 nr_mfns=10000 (XEN) domctl.c:992:d0 memory_map:add: gfn=fbfe0 mfn=d0020 nr_mfns=20 (XEN) domctl.c:1048:d0 ioport_map:add f_gport=d000 f_mport=d000 np=100 (XEN) domctl.c:1002:d0 memory_map:remove: gfn=f1000 mfn=d0040 nr_mfns=4 (XEN) domctl.c:992:d0 memory_map:add: gfn=f1000 mfn=d0040 nr_mfns=4 So the graphics card driver evidently tries to allocate its resources somewhere else than where they start out as. If I boot into VGA mode, the resources tab of the card confirms this. I have a sneaking suspicion that this breaks vBAR=pBAR, but I don''t know how to verify or fix it. I believe that the correct thing to do might be to reallocate the graphics card''s resources at the new address windows gives me, but I have no idea how to go about that. Any help would be appreciated. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
FeepingCreature
2010-Jul-13 01:01 UTC
Re: [Xen-devel] Radeon HD5770 and VGA passthrough (vBAR=pBAR not enough?)
On 12.07.2010 12:24, FeepingCreature wrote:> Hi, > > I''ve been trying these last few days to get primary VGA passthrough to > work on my ATI Radeon HD5770 card. > > I''m running hg head with the secondary patches applied (external > graphics BIOS, vbar=pbar), and in VGA mode this works fine. > > The problem is that ati2dvag crashes whenever it tries to switch to any > driver-run graphics mode. > > ------ win xp starts its vga-based boot screen. All is well. > (XEN) domctl.c:1002:d0 memory_map:remove: gfn=c0000 mfn=c0000 nr_mfns=10000 > (XEN) domctl.c:1002:d0 memory_map:remove: gfn=d0020 mfn=d0020 nr_mfns=20 > (XEN) domctl.c:1072:d0 ioport_map:remove f_gport=d000 f_mport=d000 np=100 > (XEN) domctl.c:992:d0 memory_map:add: gfn=c0000 mfn=c0000 nr_mfns=10000 > (XEN) domctl.c:992:d0 memory_map:add: gfn=d0020 mfn=d0020 nr_mfns=20 > (XEN) domctl.c:1048:d0 ioport_map:add f_gport=d000 f_mport=d000 np=100 > (XEN) domctl.c:1002:d0 memory_map:remove: gfn=f1000 mfn=d0040 nr_mfns=4 > (XEN) domctl.c:992:d0 memory_map:add: gfn=f1000 mfn=d0040 nr_mfns=4 > (XEN) grant_table.c:1121:d8 Expanding dom (8) grant table from (4) to > (32) frames. > (XEN) irq.c:309: Dom8 callback via changed to GSI 28 > ------ driver activation happens here > (XEN) domctl.c:1002:d0 memory_map:remove: gfn=c0000 mfn=c0000 nr_mfns=10000 > (XEN) domctl.c:1002:d0 memory_map:remove: gfn=d0020 mfn=d0020 nr_mfns=20 > (XEN) domctl.c:1072:d0 ioport_map:remove f_gport=d000 f_mport=d000 np=100 > -- note the different addresses! > (XEN) domctl.c:992:d0 memory_map:add: gfn=e0000 mfn=c0000 nr_mfns=10000 > (XEN) domctl.c:992:d0 memory_map:add: gfn=fbfe0 mfn=d0020 nr_mfns=20 > (XEN) domctl.c:1048:d0 ioport_map:add f_gport=d000 f_mport=d000 np=100 > (XEN) domctl.c:1002:d0 memory_map:remove: gfn=f1000 mfn=d0040 nr_mfns=4 > (XEN) domctl.c:992:d0 memory_map:add: gfn=f1000 mfn=d0040 nr_mfns=4 > > So the graphics card driver evidently tries to allocate its resources > somewhere else than where they start out as. If I boot into VGA mode, > the resources tab of the card confirms this. > > I have a sneaking suspicion that this breaks vBAR=pBAR, but I don''t know > how to verify or fix it. I believe that the correct thing to do might be > to reallocate the graphics card''s resources at the new address windows > gives me, but I have no idea how to go about that. Any help would be > appreciated. >Okay, that wasn''t it - I updated the DSDT to use the C0000-CFFFF range instead of E0000-EFFFF, which allowed the graphics driver to keep using the original areas - color depth went up from 4-bit to 8-bit, but aside from that ati2dvag still dies on resolution change. I''ve given up at this point; will try again in a few months. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel