# Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the # "Software"), to deal in the Software without restriction, including # without limitation the rights to use, copy, modify, merge, publish, # distribute, and/or sell copies of the Software, and to permit persons # to whom the Software is furnished to do so, provided that the above # copyright notice(s) and this permission notice appear in all copies of # the Software and that both the above copyright notice(s) and this # permission notice appear in supporting documentation. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT # OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR # HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL # INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING # FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # Except as contained in this notice, the name of a copyright holder # shall not be used in advertising or otherwise to promote the sale, use # or other dealings in this Software without prior written authorization # of the copyright holder. diff ... libdrm-2.4.75/xf86drm.h --- libdrm-2.4.75-ref/xf86drm.h Fri Jan 27 20:15:16 2017 +++ libdrm-2.4.75/xf86drm.h Sat Apr 22 12:58:07 2017 @@ -472,6 +472,17 @@ #endif /* architecture */ #endif /* __GNUC__ >= 2 */ +#if defined(__SUNPRO_C) +#include +#define atomic_cmpset_int(p, c, n) ((c == atomic_cas_uint(p, c, n)) ? 1 : 0) +#define DRM_CAS(lock,old,new,__ret) \ + do { \ + unsigned int __result, __old = (old);\ + __result = !atomic_cmpset_int(lock,__old,new);\ + __ret = __result; \ + } while(0) +#endif + #ifndef DRM_CAS #define DRM_CAS(lock,old,new,ret) do { ret=1; } while (0) /* FAST LOCK FAILS */ #endif @@ -844,6 +855,14 @@ extern int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device); extern int drmGetDevices2(uint32_t flags, drmDevicePtr devices[], int max_devices); +#ifdef __sun +extern int _sun_drm_get_major(void); +extern int _sun_drm_find_device(int min, char **pathp); +extern int _sun_drm_get_subsystem(char *path); +extern int _sun_drm_get_pci_bus_info(char *path, drmPciBusInfo *bus); +extern int _sun_drm_get_pci_dev_info(char *path, drmPciDeviceInfo *dev); +#endif /* __sun */ + #if defined(__cplusplus) } #endif