From owner-freebsd-hackers@FreeBSD.ORG Tue Sep 9 09:08:26 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 565C316A4BF for ; Tue, 9 Sep 2003 09:08:26 -0700 (PDT) Received: from smtpout.mac.com (A17-250-248-88.apple.com [17.250.248.88]) by mx1.FreeBSD.org (Postfix) with ESMTP id A070243F93 for ; Tue, 9 Sep 2003 09:08:25 -0700 (PDT) (envelope-from justin@mac.com) Received: from mac.com (smtpin08-en2 [10.13.10.153]) by smtpout.mac.com (Xserve/MantshX 2.0) with ESMTP id h89G8Pib027071 for ; Tue, 9 Sep 2003 09:08:25 -0700 (PDT) Received: from mac.com (12-210-49-211.client.attbi.com [12.210.49.211]) (authenticated bits=0) by mac.com (Xserve/8.12.9/MantshX 2.0) with ESMTP id h89G8Lld017361 (version=TLSv1/SSLv3 cipher=DES-CBC3-SHA bits=168 verify=NO) for ; Tue, 9 Sep 2003 09:08:23 -0700 (PDT) Date: Tue, 9 Sep 2003 09:08:20 -0700 Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v552) From: "Justin C. Walker" To: freebsd-hackers@freebsd.org Content-Transfer-Encoding: 7bit In-Reply-To: <6EB7BD63-E2DE-11D7-B54C-0003930719D8@colorado.edu> Message-Id: X-Mailer: Apple Mail (2.552) Subject: Re: C++ code in a kernel module? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Sep 2003 16:08:26 -0000 On Tuesday, September 9, 2003, at 08:58 AM, John Giacomoni wrote: > > On Tuesday, Sep 9, 2003, at 00:29 America/Denver, Peter Jeremy wrote: > >> On Mon, Sep 08, 2003 at 11:12:59PM -0400, Alexander Kabaev wrote: >>> On Mon, 8 Sep 2003 23:02:33 -0400 >>> "Matthew Emmerton" wrote: >>> [snip] > simple, I have preexisting C++ code which we are currently > using in userland and wish to push down into the kernel. > > It would be ideal to keep the source bases the same without > a rewrite to C. Admitting of course the possibility of having > to modify to be compatible with both use modes. > > At present I am attempting to see what we can and cannot do > in the kernel with C++ FWIW, Darwin (the underpinnings for Mac OS X) uses C++ for its device drivers. This is done by hewing to a model roughly that of "Embedded C++", compiling statically, and having a separate library that differs from libstdc++ in significant ways. Getting this to work well was non-trivial, but it does work (sadly :-}). If you are trying to get user-mode code to work in the kernel, you are in for an enjoyable year... You can check Apple's Darwin site for available doc (http://developer.apple.com/darwin). The code is available under Apple's open source license (APSL 2.0). Regards, Justin -- /~\ The ASCII Justin C. Walker, Curmudgeon-at-Large \ / Ribbon Campaign X Help cure HTML Email / \