From owner-freebsd-hackers Mon May 10 19:38:39 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (Postfix) with ESMTP id 8F70C1554E for ; Mon, 10 May 1999 19:38:35 -0700 (PDT) (envelope-from mjacob@feral.com) Received: from feral.com (mjacob@feral.com [192.67.166.1]) by feral.com (8.8.7/8.8.7) with ESMTP id TAA15956; Mon, 10 May 1999 19:38:26 -0700 Date: Mon, 10 May 1999 19:38:26 -0700 (PWT) From: Matthew Jacob Reply-To: mjacob@feral.com To: Matthew Dillon Cc: Stan Shkolny , hackers@FreeBSD.ORG Subject: Re: Which O/S routines are subject to change? In-Reply-To: <199905110231.TAA73624@apollo.backplane.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mon, 10 May 1999, Matthew Dillon wrote: > :> Any of them can change, but I excpect it to settle down in a year or two. > :> > : > :It sounds like we might consider a DDI/DKI set of definitions. > > Yes, but not until things settle down in a year or two. Until > then, trying to impose a toolkit DDI on the kernel will only make > everyone's life harder. The VFS system is almost certainly going to > be shredded this year and I'm sure it is going to take a year to cleanup > and refine newbus & dma handling. > Oh, absolutely, but you can also cut it a couple of different ways. You can define things that really are unlikely to change (like memset or copyin) as being 'STANDARD' interfaces and define interfaces that probably won't change (e.g. a device's open routine) as being 'STABLE' and other mechanisms as different.... A pretty useful classification scheme is in the section 5 'attributes' man page in Solaris, e.g.: Release Level Stability for Incompatible Level Changes Other Comments .... Stable Major (x.0) Incompatibilities are exceptional. Evolving Minor (x.y) Migration advice might accompany an incompa- tibility. .... Stable A Stable interface is a mature interface under Sun's control. Sun will try to avoid non- upwards-compatible changes to these interfaces, especially in minor or micro releases. If support of a Stable interface must be discon- tinued, Sun will attempt to provide notification and the stability level changes to Obsolete. Evolving An Evolving interface may eventually become Standard or Stable but is still in transition. ... It gets even more complex if you actually can dig up Sun's internal classification levels of interfaces (where terms like 'Contract Private' and 'Uncommitted' get bandied about....)... Sorry- this gets offtopic from the original question... It'd be a good thing to have though...... ; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message