From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6695 invoked from network); 31 Dec 2022 22:38:42 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 31 Dec 2022 22:38:42 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 57945423F7; Sun, 1 Jan 2023 08:38:37 +1000 (AEST) Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by minnie.tuhs.org (Postfix) with ESMTPS id 467BC423F4 for ; Sun, 1 Jan 2023 08:38:29 +1000 (AEST) Received: from letrec.thunk.org (host-67-21-23-146.mtnsat.com [67.21.23.146] (may be forged)) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 2BVMcCE2002778 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 31 Dec 2022 17:38:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1672526303; bh=/F4eIMJusbK9v319mgUBfAzjGf0ymobW20MwQWy+ukc=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=VPqL5c2bHqg5UnQ7gvA5ezS5XAclVw8ZLK7ReNvBvOrH3Y6oyOosHkLOfkOxpcz5C HVp4TZiylmADv1XIFw7S9flLCDkd/6wCaKDuhPnv/87dNX5WXdzo1sEmRaZbnxuPog YQfRW+9CZefHTztLy4jUf9Tfp7a3OvGODCFBy0o3kbE+Jn1DKY+tetuik6Kdl33REQ G8CVr3l61Pg/8Ec/BbQgkJ5CgOWcKu3RInIrtNiC0DUjkfikxC7ekTVCZjGC+k44Ap 3C2aEq1oPbu7bl/bxwzeKOoJMLI12dcpSqTtQVOUWMBNIilvD3HPD+yCtQcuSCqDTA llMuJ1QxGNwtg== Received: by letrec.thunk.org (Postfix, from userid 15806) id 2F8DC8C03A8; Sat, 31 Dec 2022 17:38:09 -0500 (EST) Date: Sat, 31 Dec 2022 17:38:09 -0500 From: "Theodore Ts'o" To: Dan Cross Message-ID: References: <335F89A9-30C2-41A2-8E84-C2D761746634@planet.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Message-ID-Hash: NUQXTQAHDI3W2EPBV3MJ6YGWBE3RDTW7 X-Message-ID-Hash: NUQXTQAHDI3W2EPBV3MJ6YGWBE3RDTW7 X-MailFrom: tytso@mit.edu X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Paul Ruizendaal , The Eunuchs Hysterical Society X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Porting the SysIII kernel: boot, config & device drivers List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Sat, Dec 31, 2022 at 04:10:47PM -0500, Dan Cross wrote: > >> But in practice, no one has come > >> up with a particularly good set of interfaces yet. Ironically, > >> BSD-style autoconfig might have been the best yet. > > > > ??Maybe because it was OS types who knew what the OS needed to discover/report/deliver back from the HW. > > Perhaps this is what it is, but I think taking a step back and looking > at the problem more generally, it's because they're mutated into > solving the wrong problem. More generally, we need to make sure we're all on the same page with respect to requirements. What are we trying to do with respect to abstraction? Do we just want to inform the OS about Port and MMIO addresses, interrupts, etc, with the device driver living in the OS? Or are are we trying to move the entire device driver plus bus configuration/attachment probing into some kind of separate firmware layer which is decoupled from the rest of the OS? How important is portability? Does this hardware abstraction layer and/or firmware need to work with major legacy OS's such as Windows 95 (still in use by the US Government)? Windows 10? NetBSD? Linux? Or just only new research OS's? How important is performance? And does it need to support OS's that might want to support interesting features, such as say, confidential computing? IOMMU's? DMA from a storage device directly into memory which is accessable over RDMA via Infiniband or iWARP or to GPU memory? Or are we just trying to solve the problem of loading the OS, or maybe just initial bootstrap portion of the OS, where performance or support for more exotic memory use cases might not be as important? If we don't agree on exactly what problem that we are trying to solve with BSD-style autoconfig, vs UEFI vs ACPI vs the x86 BIOS vs CP/M's BIOS, etc. Otherwise, the risk that we'll end up talking past one another, or delivering a solution that we're happy with, but others are not, is quite high IMHO. - Ted