i915 driver fails on i686 userspace + x86_64 kernel

Chris Wilson chris at chris-wilson.co.uk
Wed Oct 16 01:39:34 CEST 2013


On Tue, Oct 15, 2013 at 05:45:52PM -0400, Pavel Roskin wrote:
> On Tue, 15 Oct 2013 21:59:08 +0100
> Chris Wilson <chris at chris-wilson.co.uk> wrote:
> 
> > Yikes, that implies we have a size mismatch with the kernel - ideally
> > we construct the struct to have the same size when compiled with 32
> > or 64 bits.
> > 
> > Please try:
> > 
> > commit a63b4d5a0766a7e98efeff8dd520c58e9a1bea88
> > Author: Chris Wilson <chris at chris-wilson.co.uk>
> > Date:   Tue Oct 15 21:53:16 2013 +0100
> > 
> >     sna: Expand packed KMS structs for 64-bit alignment
> 
> It helps.  Xorg starts.
> 
> However, I feel uneasy about that patch.  I tried to debug the problem,
> and it looked not as a data corruption, but as something opposite.  The
> kernel writes correct data to the userspace, but the userspace gets the
> old value.

For other structures we have taken great care to make sure that
they are padded to 64-bit boundaries for exactly this abi
incompatibility for 32-bit userspaces. To be strict we should do an
ioc32 wrapper in the kernel.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list