On Wed, Dec 16, 2009 at 2:08 PM, Darren J Moffat <darr...@opensolaris.org>wrote:

> Shreyas Bhatewara wrote:
>
>> Folks,
>>
>> I am writing a device driver for current and past versions of
>> (Open)Solaris
>>
>> How can I check the version of the running kernel in the driver code ? I
>> tried using utsname.version (/.release) but it does not exist for Solaris 10
>> or older kernels. Is there any other literal/variable which spans current
>> and old Solaris kernels which can give the kernel version/ release
>> information ? For Eg : linux has LINUX_VERSION_CODE
>>
>
> Why do you think you need to do that ?
>
> Unlike Linux Solaris has a very very stable API and ABI for device drivers.
>


Yes, I certainly agree to that.
Recently, I am trying to compile the driver with a literal : MAC_VERSION
(this is a nic driver) and somehow the compilation fails to get latest value
of this literal (post b111 MAC_VERSION is 2, earlier it was 1). I completely
fail to understand where the compilation gets (wrong ) value of MAC_VERSION.
It does not exist in /usr/include/sys and the file mac_provider.h does not
exist on the Opensolaris machine anywhere.
Fed up of solving this problem, I decided to use the versioin number.
if (version < 111)
 mac_version = 1;
else
 mac_version = 2;


Irrespective..., shouldnt the code have some mechanism to know current
kernel version. May be for debug logs or stuff.



>
> See the "Writing Device Drivers" section of the docs.sun.com documentation
> on Solaris - which applies to OpenSolaris as well.
>
> --
> Darren J Moffat
>
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to