Running on bare hardware

Marty Jack martyj19 at
Sun Feb 6 12:48:23 PST 2011

Well, I have over 40 years experience, a lot of it on Unix and more recently Linux and a lot of it doing compilers, so data typing is second nature.

But, I'm getting a little older, I could be mistaken and I'm always happy to learn something new.  Maybe sometime when you have a moment you would be so kind as to explain how this parameter block works successfully for DRM_IOCTL_VERSION and the modesetting ones wouldn't if they had pointer types in the 32/64 scenario you raised.  (We did have the exact same situation on Tru64 Unix running a userspace program compiled with 32-bit pointers.)

struct drm_version {
	int version_major;	  /**< Major version */
	int version_minor;	  /**< Minor version */
	int version_patchlevel;	  /**< Patch level */
	size_t name_len;	  /**< Length of name buffer */
	char *name;	  /**< Name of driver */
	size_t date_len;	  /**< Length of date buffer */
	char *date;	  /**< User-space buffer to hold date */
	size_t desc_len;	  /**< Length of desc buffer */
	char *desc;	  /**< User-space buffer to hold desc */

On 02/06/2011 03:16 PM, Dave Airlie wrote:
>> (It is also a great pity that whoever designed the modesetting ioctls thought _u64 was a good type for all the pointer values.  Whoever designed the original ioctls used pointer types very successfully.)
>  Why would you consider yourself even remotely qualified to make such
> a statement? it sounds like you are completely clueless to how ioctls
> work on Linux
> because I'm feeling generous, instead of calling you names, I'll just
> say 32 bit process on a 64-bit kernel.
> Maybe you should re-write your email above from a position of humility
> instead of unfounded arrogance.
> Dave.

More information about the wayland-devel mailing list