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 should be coming soon, so that userlands can
>take advantage of the new DRM/KMS drivers.


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':
 error: 'width' may be used uninitialized in this function 
     newmode = drm_cvt_mode(dev, width, height,
In file included from 
 note: 'width' was declared here
   int uninitialized_var(width), height;
 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/include/linux/pci.h: In 
function 'pci_bus_alloc_resource':
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



Home | Main Index | Thread Index | Old Index