[igt-dev] [PATCH i-g-t] lib/intel_batchbuffer: Fix relocs across the 4GB address boundary

Chris Wilson chris at chris-wilson.co.uk
Mon Nov 9 13:06:30 UTC 2020


Quoting Chris Wilson (2020-11-09 13:05:29)
> Quoting Zbigniew Kempczyński (2020-11-09 13:02:14)
> > On Mon, Nov 09, 2020 at 12:08:43PM +0000, Chris Wilson wrote:
> > > Quoting Imre Deak (2020-11-09 12:06:32)
> > > > If the delta of a relocation target wrt. the object base address crosses
> > > > the 4GB address boundary the upper 32bit of the target address will be
> > > > incorrect, fix this.
> > > > 
> > > > Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> > > > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > > > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > > 
> > > Zbigniew, fancy writing a test case for this?
> > > -Chris
> > 
> > Sure, enqueued. 
> > 
> > Apart of fix is correct - I thought we're mostly using delta
> > to set some bits in commands. What's the real usage?
> 
> Large offsets would most commonly be used for subsurfaces or auxiliary
> state contained within one buffer.

Also something to keep in mind is that the delta is actually an s32
despite the u32 field.
-Chris


More information about the igt-dev mailing list