From: Matthew Garrett <mjg59@srcf.ucam.org>
To: Len Brown <lenb@kernel.org>
Cc: sfi-devel@simplefirmware.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC/PATCH 2.6.32] Simple Firmware Interface (SFI): initial support
Date: Tue, 23 Jun 2009 23:56:51 +0100 [thread overview]
Message-ID: <20090623225651.GA18736@srcf.ucam.org> (raw)
In-Reply-To: <alpine.LFD.2.00.0906231734170.32098@localhost.localdomain>
On Tue, Jun 23, 2009 at 06:20:11PM -0400, Len Brown wrote:
> On Tue, 23 Jun 2009, Matthew Garrett wrote:
>
> > I think I've got a clearer understanding of my objections to this now.
> > The first is that SFI is designed to support the subset of information
> > that's in ACPI and which can't be intuited by the OS. However, that
> > subset is predicated on the system looking like Moorestown. A system
> > that wants to provide any information beyond that subset can't use SFI
> > unless it defines additional tables.
>
> Correct.
>
> Per my previous message...
>
> Should a platform require them, any and all of the ACPI
> defined/reserved tables can be accessed on an SFI system
> if needed. Today, the PCI MCFG is the only ACPI table implemented
> in the known universe of SFI systems.
Right. But you've already got a potential conflict when it comes to
wrapping the MADT - if someone wants a greater set of APIC information
than you can provide via the SFI APIC table they're going to hit
interesting problems.
> WRT to native SFI table names...
>
> int sfi_table_parse(char *signature, char *oem_id, char *oem_table_id,
> uint flag, sfi_table_handler handler);
>
> While the invocations in the tree today have NULL oem_id
> and NULL oem_table_id, it is possible for a vendor to
> stick their own name in there with their own table_id
> and get the OS or a driver to find their home-brewed table
> without reserving a table signature to the SFI spec.
Ok, that looks plausible. Can this be added to the spec as a best
practice?
> However, should overwhemling demand for table signatures materialize,
> I'm sure that a process can be put in place to manage collisions...
Given the potential for vendors to ship customised Linux kernels, I
think it'd be beneficial to have that in place before any hardware's
shipped. The moment we have a collision we have a support nightmare.
> > And that brings me onto my second issue. ACPI is sufficiently
> > generalised that there's little need for vendors to add additional
> > tables. SFI isn't, and so vendor adoption is going to require
> > vendor-specific tables. This potentially results in SFI bloating out to
> > cover much of the functionality of ACPI, while at the same time turning
> > into a namespacing nightmare. Without a formal process for adding new
> > tables and without any kind of certification requirements before
> > claiming SFI compatibility, we're looking at a real risk of collisions.
>
> The SFI table signatures are totally independent of the ACPI table
> signatures -- they can not collide. The only overlap is the XSDT
> itself, which exists in SFI explicitly to separate the ACPI namespace
> from the SFI namespace.
My concern is collisions within the SFI namespace, not collisions
between ACPI and SFI.
> > SFI appears to be presented as a generic firmware interface, but in
> > reality it's currently tightly wed to Moorestown and I don't see any way
> > that that can be fixed without reinventing chunks of ACPI. I'm certainly
> > not enthusiastic about seeing this presented as a fait accompli in
> > generic driver code, rather than under arch/x86/moorestown.
>
> SFI was invented with the goal to help a somewhat generic
> distro-supported kernel to boot and run optimally
> on the Moorestown platform. If SFI helps enable Moorestown
> to participate in even just a small part of the vibrant
> x86 open source development community, than it has been successful.
>
> Yes, SFI is written to be "generic enough" so that it can be
> used by more than Moorestown. It is not trying to displace ACPI
> on systems that are willing and able to support ACPI, but it
> is freely available for those platforms that can't.
If SFI's intended to support non-Moorestown platforms then I think we
need to spend some more time determining what a non-Moorestown SFI
implementation would look like, what changes would be required in the
kernel to support that and how to ensure that vendors do this in a
manner that doesn't make it likely that we'll have incompatible
impleentations. If it's not then I think the Kconfig and documentation
need to make that clearer.
--
Matthew Garrett | mjg59@srcf.ucam.org
next prev parent reply other threads:[~2009-06-23 22:57 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-23 7:13 [RFC/PATCH 2.6.32] Simple Firmware Interface (SFI): initial support Len Brown
2009-06-23 7:13 ` [PATCH 1/8] SFI: Simple Firmware Interface - new Linux sub-system Len Brown
2009-06-23 7:14 ` [PATCH 2/8] SFI: include/linux/sfi.h Len Brown
2009-06-23 7:28 ` Ingo Molnar
2009-06-23 7:47 ` Feng Tang
2009-06-23 8:00 ` Ingo Molnar
2009-06-23 8:02 ` Feng Tang
2009-06-23 8:09 ` Ingo Molnar
2009-06-23 15:14 ` H. Peter Anvin
2009-06-30 21:57 ` Andrew Morton
2009-06-30 21:59 ` Ingo Molnar
2009-06-23 9:06 ` Sam Ravnborg
2009-06-23 15:52 ` Feng Tang
2009-06-23 19:26 ` Sam Ravnborg
2009-06-23 7:14 ` [PATCH 3/8] SFI: core support Len Brown
2009-06-23 7:56 ` Ingo Molnar
2009-06-23 8:32 ` Feng Tang
2009-06-23 9:03 ` Ingo Molnar
2009-06-23 9:15 ` Feng Tang
2009-06-23 17:20 ` Len Brown
2009-06-23 19:20 ` Ingo Molnar
2009-06-23 12:32 ` Andi Kleen
2009-06-23 16:57 ` Len Brown
2009-06-24 3:34 ` Feng Tang
2009-06-24 7:12 ` Andi Kleen
2009-06-24 7:40 ` Feng Tang
2009-06-24 7:55 ` Andi Kleen
2009-06-23 7:14 ` [PATCH 4/8] SFI: Hook boot-time initialization Len Brown
2009-06-23 7:14 ` [PATCH 5/8] SFI: Hook e820 memory map initialization Len Brown
2009-06-23 7:14 ` [PATCH 6/8] SFI: add ACPI extensions Len Brown
2009-06-23 12:18 ` Andi Kleen
2009-06-23 16:51 ` Len Brown
2009-06-23 7:14 ` [PATCH 7/8] SFI, PCI: Hook MMCONFIG Len Brown
2009-06-23 7:14 ` [PATCH 8/8] SFI: expose IO-APIC routines to SFI, not just ACPI Len Brown
2009-06-23 7:58 ` Ingo Molnar
2009-06-23 7:23 ` [PATCH 1/8] SFI: Simple Firmware Interface - new Linux sub-system Ingo Molnar
2009-06-23 18:31 ` [RFC/PATCH 2.6.32] Simple Firmware Interface (SFI): initial support Matthew Garrett
2009-06-23 18:41 ` Len Brown
2009-06-22 19:43 ` Pavel Machek
2009-06-24 21:13 ` Len Brown
2009-07-11 22:02 ` Pavel Machek
2009-07-13 3:25 ` [SFI-devel] " Peter Stuge
2009-06-23 18:51 ` Matthew Garrett
2009-06-23 20:00 ` Len Brown
2009-06-23 20:23 ` Matthew Garrett
2009-06-23 20:45 ` Matthew Garrett
2009-06-23 21:23 ` Alan Cox
2009-06-23 22:34 ` Len Brown
2009-06-23 22:20 ` Len Brown
2009-06-23 22:56 ` Matthew Garrett [this message]
2009-06-23 23:00 ` [SFI-devel] " Justen, Jordan L
2009-06-24 0:35 ` Len Brown
2009-06-23 21:33 ` Len Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090623225651.GA18736@srcf.ucam.org \
--to=mjg59@srcf.ucam.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sfi-devel@simplefirmware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox