Re: [PATCH] drm/i915: Use Graphics Base of Stolen Memory on all gen3+

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

 



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




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]