From owner-freebsd-current@freebsd.org Tue Jul 21 14:33:07 2015 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C63209A738F for ; Tue, 21 Jul 2015 14:33:07 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 957DB15D1; Tue, 21 Jul 2015 14:33:07 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from Julian-MBP3.local (ppp121-45-232-46.lns20.per1.internode.on.net [121.45.232.46]) (authenticated bits=0) by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id t6LEWsLY015612 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Tue, 21 Jul 2015 07:32:57 -0700 (PDT) (envelope-from julian@freebsd.org) Subject: Re: Kernel Application Binary Interface (kABI) support in FreeBSD To: Venkat Duvvuru , Allan Jude References: <55A9157A.8050208@freebsd.org> <55A91837.50805@freebsd.org> Cc: freebsd-current@freebsd.org From: Julian Elischer Message-ID: <55AE5810.6080205@freebsd.org> Date: Tue, 21 Jul 2015 22:32:48 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jul 2015 14:33:08 -0000 On 7/21/15 2:02 PM, Venkat Duvvuru wrote: > Yes, my question was about kernel module compatibililty with FreeBSD's > major releases of a particular version. > For example, will FreeBSD makes sure that the driver built on 10.0 version > of Freebsd seamlessly load on all other 10.x versions of FreeBSD? > Does it make sure that the symbols and their parameters are not blindly > changed without considering the binary compatibility with other FreeBSD > version binaries? Our aim is that a module compiled on X.0 should be loadable on X.Y for all values of Y. This is true for most of the subsystems that people expect to touch with modules. i.e. the network stack, driver framework, IO paths, system call interfaces, scheduler exported calls. and the structures they use. Note, a module compiled on X.Y is not guaranteed (or expected) to run on systems with smaller values of Y. > > RHEL kABI whitelist makes sure that once the symbol is added into the > whitelist, it will never be changed during the major releases of that > kernel. > > > Thanks, > Venkat. > > On Fri, Jul 17, 2015 at 8:29 PM, Allan Jude wrote: > >> On 2015-07-17 10:47, Julian Elischer wrote: >>> On 7/17/15 9:02 PM, Venkat Duvvuru wrote: >>>> Hi, >>>> >>>> Is there kABI (Kabi-whitelist) equivalent feature in FreeBSD? >>> well, yes and no. >>> >>> Firstly, FreeBSD maintains a backwards compatible kABI (with the >>> exception of programs that hunt around in kernel memory). >>> We also use symbol versioning on the libc. so depending on what you want >>> to do. the answer may be useful to you or not. >>> Basically any binary should continue to run on a newer kernel, even if >>> the syscalls change, because we should still support the old abi. >>> >>> tell us more about what you need and we can be more specific. >>> >>> I have run Freebsd 1.1 binaries on a Freebsd 8 system, in fact I have >>> done a system build in a freebsd 1.1 chroot on an 8 system. >>> I haven't tried it on 9 or 10 but I'd expect it to work.. >>> >>> >>>> >>>> >>>> Thanks, >>>> >>>> Venkat. >>>> _______________________________________________ >>>> freebsd-current@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>>> To unsubscribe, send any mail to >>>> "freebsd-current-unsubscribe@freebsd.org" >>>> >>>> >>> _______________________________________________ >>> freebsd-current@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to " >> freebsd-current-unsubscribe@freebsd.org" >> >> I think the question related to drivers (kernel modules). >> >> In which case, they should be compatible across major versions (module >> from 10.0 works in 10.2, but not 9.3 or 11.0) >> >> -- >> Allan Jude >> >> > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >