The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Len Brown <lenb@kernel.org>
To: Matthew Garrett <mjg59@srcf.ucam.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 18:20:11 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LFD.2.00.0906231734170.32098@localhost.localdomain> (raw)
In-Reply-To: <20090623204524.GA15891@srcf.ucam.org>

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.

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.

However, should overwhemling demand for table signatures materialize,
I'm sure that a process can be put in place to manage collisions...

> 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.

> 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.

cheers,
-Len Brown, Intel Open Source Technology Center


  parent reply	other threads:[~2009-06-23 22:20 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 [this message]
2009-06-23 22:56               ` Matthew Garrett
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=alpine.LFD.2.00.0906231734170.32098@localhost.localdomain \
    --to=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.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