[coreboot] [i915] Screen corruptions
Denis 'GNUtoo' Carikli
GNUtoo at no-log.org
Mon Apr 22 01:12:27 CEST 2013
On Sun, 14 Apr 2013 22:04:19 -0700
ron minnich <rminnich at gmail.com> wrote:
> What we do on ARM (see google/snow) for now is reserve a big chunk of
> memory in the coreboot tables for graphics. You could set the gtt to
> point to that.
I've seen the framebuffer address for google/snow,I've also seen it
passing its address to various functions.
But I failed to find where it creates such tables and
passes them in arm.
However I've investigated more and I found that:
[...]
Root Device assign_resources, bus 0 link: 0
pci_tolm: 0xd0000000
Base of stolen memory: 0xcf800000
Top of Low Used DRAM: 0xd0000000
IGD decoded, subtracting 8M UMA
Available memory: 3399680K (3320M)
Adding PCIe config bar
[...]
Note that TSEG not valid(address=0, len=0) for that platform(Lenovo
X60).
Removing SMM removes the corruption in coreboot, but not in the payload.
The BAR holding the framebuffer(which is at 0xd0020000) is here(from
lspci):
Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
Also before running videotest in grub, all the tables(coreboot,ACPI
etc...) are there, but after, all the tables are gone.
Thanks a lot to phcoder/Vladimir Serbinenko because he wrote a coreboot
framebuffer driver for grub.
Thanks to that I've done some test:
1) run lscoreboot or lsmmap or any command that list or uses the
tables. => it works
2) run videotest => it works in qemu,fails on the X60.
3) the tables are gone on the X60.
Denis.
More information about the coreboot
mailing list