From owner-freebsd-questions@FreeBSD.ORG Thu Jul 21 08:52:29 2011 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DD7E4106564A for ; Thu, 21 Jul 2011 08:52:29 +0000 (UTC) (envelope-from cpghost@cordula.ws) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 9896F8FC12 for ; Thu, 21 Jul 2011 08:52:29 +0000 (UTC) Received: by vws18 with SMTP id 18so1024906vws.13 for ; Thu, 21 Jul 2011 01:52:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.96.193 with SMTP id du1mr8722130vdb.206.1311238348811; Thu, 21 Jul 2011 01:52:28 -0700 (PDT) Received: by 10.220.100.73 with HTTP; Thu, 21 Jul 2011 01:52:28 -0700 (PDT) X-Originating-IP: [93.221.186.21] In-Reply-To: <4e28160e.bVryeJCK1esNt615%perryh@pluto.rain.com> References: <24466_1311199850_4E27526A_24466_7987_1_D9B37353831173459FDAA836D3B43499C521866E@WADPMBXV0.waddell.com> <4e28160e.bVryeJCK1esNt615%perryh@pluto.rain.com> Date: Thu, 21 Jul 2011 10:52:28 +0200 Message-ID: From: "C. P. Ghost" To: perryh@pluto.rain.com Content-Type: text/plain; charset=ISO-8859-1 Cc: Ggatten@waddell.com, freebsd-questions@freebsd.org Subject: Re: 2020: Will BSD and Linux be relevant anymore? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2011 08:52:29 -0000 On Thu, Jul 21, 2011 at 2:05 PM, wrote: > Gary Gatten wrote: > >> ... can a HAL be developed that runs on BSD that "emulates" >> Winblow$ such that any driver written for Winblow$ will "work" >> on *BSD? >> ... >> Something in the back of my head says there was / is something >> along this line already available or in the works, but I can't >> recall for sure. > > I _think_ we may already have something along these lines for > NDIS (network) drivers, but I don't know how well it works. Not using it today, but it helped me in the past for some exotic NICs. Regarding the "Windowsulator", I'm wondering if such a compat layer would be possible. Don't Windows drivers all get created by some kind of DDK/WDK, against a stable kernel-ABI? I'm not familiar with Windows, but I don't think a typical windows driver as written by a hardware vendor would manipulate the windows kernel internals (data structures) directly, right? If that's correct, we "merely" need to catch the ABI up- and down-calls from and to the windows driver, and translate them into regular FreeBSD syscalls (maybe augmented by a compat helper library?). Since this is exactly the approach taken by the Linuxulator, I fail to see why a similar method hasn't been tried for those windows kernel driver (binary blobs). Maybe some artificial restrictions like, say, patents are standing in the way? Or a technical restriction like such binary blobs being encrypted with a public key, and only usable from Windows kernel with their own secret key? Only windows kernel hackers can tell. -cpghost. -- Cordula's Web. http://www.cordula.ws/