Current-Users archive

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

Re: HEADS UP: riastradh-drm2 branch merged



On Tue, 18 Mar 2014 at 19:17:01, Taylor R Campbell wrote:
>I merged the riastradh-drm2 branch to HEAD today.  This shouldn't
>cause any problems for anyone, because it touched very little outside
>sys/external/bsd/drm2 -- it's not hooked into any kernels other than
>the new amd64/DRMKMS one.  But let me know if you observe any fallout.
>
>Update to userland X.org should be coming soon, so that userlands can
>take advantage of the new DRM/KMS drivers.

Hello,

I doubt I'm telling you anything you don't already know, but I tried
compiling a DRMKMS kernel for both amd64 and i386 to test, and
neither compiled.

With amd64, I hit this:

/usr/builds/netbsd-current/src/sys/external/bsd/drm2/dist/drm/drm_edid.c: In 
function 'do_cvt_mode':
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/dist/drm/drm_edid.c:1399:13:
 error: 'width' may be used uninitialized in this function 
[-Werror=maybe-uninitialized]
     newmode = drm_cvt_mode(dev, width, height,
             ^
In file included from 
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/dist/drm/drm_edid.c:30:0:
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/dist/drm/drm_edid.c:1375:25:
 note: 'width' was declared here
   int uninitialized_var(width), height;
                         ^
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/include/linux/kernel.h:47:30:
 note: in definition of macro 'uninitialized_var'
 #define uninitialized_var(x) x
                              ^
cc1: all warnings being treated as errors
*** [drm_edid.o] Error code 1

I assume this must simply be fallout from GCC being upgraded to 4.8.3.

With i386, I hit this first:

In file included from 
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/dist/include/drm/drmP.h:52:0,
                 from 
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/dist/drm/drm_agpsupport.c:34:
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/include/linux/pci.h: In 
function 'pci_bus_alloc_resource':
/usr/builds/netbsd-current/src/sys/external/bsd/drm2/include/linux/pci.h:255:6: 
error: large integer implicitly truncated to unsigned type
*** [drm_agpsupport.o] Error code 1

I realize you only provided an amd64 kernel, the implication being
i386 might not yet be supported, but I tried it anyway, as the machine
I'd test with isn't capable of running 64-bit code.

From looking at the code, it's clear you're already aware of the
issue, given your "XXX" notation.

error = bus_space_alloc(bst, start, 0xffffffffffffffffULL /* XXX */,
            size, align, 0, 0, &resource->start, &resource->r_bsh);

I don't know if it's the preferred NetBSD way to handle this, but I'd
be inclined to add a macro that defines that literal value differently
depending on whether it's an amd64/i386 PAE build or a plain i386
build.

Regards,

Dave


Home | Main Index | Thread Index | Old Index