On Thu, Jul 04, 2013 at 12:55:08AM +0100, Chris Wilson wrote: > On Thu, Jul 04, 2013 at 01:38:05AM +0200, Daniel Vetter wrote: > > On Thu, Jul 4, 2013 at 1:33 AM, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: > > > On Thu, Jul 04, 2013 at 01:26:03AM +0200, Daniel Vetter wrote: > > >> On Thu, Jul 4, 2013 at 1:23 AM, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: > > >> > So I made the mistake of missing that the desktop and mobile chipsets > > >> > have different layouts in their PCI configurations, and we were > > >> > incorrectly setting the wrong physical address for stolen memory on > > >> > mobile chipsets. > > >> > > > >> > Since all gen3+ are actually consistent in the location of the GBSM > > >> > register in the PCI configuration space on device 2 (the GPU), use it. > > >> > > > >> > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > >> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > > >> > Cc: stable@xxxxxxxxxxxxxxx > > >> > > >> Nope, not cc: stable since the last time around the overlay blew up in > > >> flames ... > > > > > > You can comment out gen3, but the dangerous part is that we are > > > overwriting random physical addresses. > > > > Hm, should we do a request_region on the stolen range to double-check > > that? Just for paranoia and in case the BIOS does something terrible > > ... > > Afaict, request_region() is only being used to reserve and check for > conflicting io ranges. I don't know if that will give us protection > against overwriting user/kernel memory. Maybe it does - I haven't found > the documentation for it yet. On a quick reading (I didn't really try it out in practice) the e820 code inserts resource nodes for each memory segment into the resource tree. So I think this should indeed work out. At least request_mem_region seems to check for IORESOURCE_BUSY and e820_reserve_resources seems to set that on all memory regions managed by the kernel (if I read the magic checks correctly). -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html