public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/12] google firmware support
@ 2011-03-12  1:42 Mike Waychison
  2011-03-12  1:43 ` [PATCH v2 01/12] efivars: move efivars globals into struct efivars Mike Waychison
                   ` (12 more replies)
  0 siblings, 13 replies; 35+ messages in thread
From: Mike Waychison @ 2011-03-12  1:42 UTC (permalink / raw)
  To: Greg KH, Matt Domsch, Alan Cox
  Cc: Duncan Laurie, Aaron Durbin, x86, linux-kernel, Tim Hockin,
	San Mehat

This patchset applies to v2.6.38-rc8.

The following series implements some support for interfaces exposed by
google's servers' firmware.  Unlike the previous send-out, it only
includes two of the three drivers as I'm not yet finished fixing the
"bootlog" driver from the last send-out (and I've discovered more
"undocumented" firmware functionality that I'd rather unravel before
sending out again).

In order to address various concerns had with the previous patchset,
I've changed the user ABI significantly:

Instead of messing with the dmesg log_buf ring-buffer, we now expose
firmware logs via /sys/firmware/log.

As well, instead of using a ioctl interface the gsmi driver, I've
changed it completely to use sysfs instead (rooted at
/sys/firmware/gsmi).  gsmi provides access to EFI variables through a
means other than through the EFI runtime services page, so I've reused
the bulk of the code exposed by the efivars driver.  To make this work,
I had to refactor a bit of the efivars driver.  The only user-visible
change here is that the module will successfully load now even if you
aren't on an EFI system (which is much more consistent with other
drivers anyway).

I'd like to have these small drivers included as they are required for
proper use of the kernel in our infrastructure.  They may not seem like
much, but a lot of our health automation as well as our human debugging
efforts are dependent on the functionality herein.  Getting these in the
public Linux tree would bring us closer to being able to easily test
kernels as they are released.

Thanks,

Patchset summary
================

Patches [1 through 6] refactor the 'efivars' module to let the "gsmi"
driver in patch [11] re-use the variable functionality.

Patch [7] documents existing 'efivars' functionality that has been
present in the tree since 2004.

Patches [8] and [9] add sanity checking for accessing the EBDA.

Patch [10] introduces CONFIG_GOOGLE_FIRMWARE that is disabled by
default and which gates Google-specific drivers.

Patch [11] adds the "gsmi" driver that we use to make calls into our
firmware.

Patch [12] adds the "memconsole" driver that finds the firmware's logs
and exposes them on /sys/firmware/log.

Diffstat
========
 Documentation/ABI/stable/sysfs-firmware-efi-vars |   75 +
 Documentation/ABI/testing/sysfs-firmware-gsmi    |   58 +
 Documentation/ABI/testing/sysfs-firmware-log     |    7 
 arch/x86/include/asm/bios_ebda.h                 |   28 
 drivers/firmware/Kconfig                         |    2 
 drivers/firmware/Makefile                        |    2 
 drivers/firmware/efivars.c                       |  343 +++++---
 drivers/firmware/google/Kconfig                  |   33 
 drivers/firmware/google/Makefile                 |    3 
 drivers/firmware/google/gsmi.c                   |  927 +++++++++++++++++++++++
 drivers/firmware/google/memconsole.c             |  151 +++
 include/linux/efi.h                              |   37 
 12 files changed, 1526 insertions(+), 140 deletions(-)

ChangeLog:
==========
- v2
   - Efivars can now be used by other drivers.
   - Documentation added for /sys/firmware/efi/vars
   - Memory console no longer touches log_buf ring buffer.
   - The firmware log is exported to userland as /sys/firmware/log
   - Ioctls for accessing nvram variables in gsmi driver replaced with
     efivars at /sys/firmware/gsmi/vars.
   - die_notifier is used instead of adding new notifer_lists.
   - EBDA scrubbing for memconsole now checks that we aren't walking
     into 0xA0000.
   - Documentation added for /sys/firmware/log
   - Documentation added for /sys/firmware/gsmi
   - Use kernel fixed width types instead of C99 types.
- v1
   - Initial public send-out.

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2011-03-14 23:08 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-12  1:42 [PATCH v2 00/12] google firmware support Mike Waychison
2011-03-12  1:43 ` [PATCH v2 01/12] efivars: move efivars globals into struct efivars Mike Waychison
2011-03-12  1:43 ` [PATCH v2 02/12] efivars: Make efivars bin_attributes dynamic Mike Waychison
2011-03-12  1:43 ` [PATCH v2 03/12] efivars: parameterize efivars Mike Waychison
2011-03-12  1:43 ` [PATCH v2 04/12] efivars: Split out variable registration Mike Waychison
2011-03-12  1:43 ` [PATCH v2 05/12] efivars: Parameterize operations Mike Waychison
2011-03-12  1:43 ` [PATCH v2 06/12] efivars: Expose efivars functionality to external drivers Mike Waychison
2011-03-12  1:43 ` [PATCH v2 07/12] efivars: Add Documentation Mike Waychison
2011-03-12  1:43 ` [PATCH v2 08/12] x86: get_bios_ebda_length() Mike Waychison
2011-03-14 15:43   ` Greg KH
2011-03-12  1:43 ` [PATCH v2 09/12] x86: Better comments for get_bios_ebda() Mike Waychison
2011-03-14 15:43   ` Greg KH
2011-03-12  1:43 ` [PATCH v2 10/12] Introduce CONFIG_GOOGLE_FIRMWARE Mike Waychison
2011-03-14 15:45   ` Greg KH
2011-03-14 19:49     ` Mike Waychison
2011-03-14 19:59       ` Greg KH
2011-03-14 20:06         ` Mike Waychison
2011-03-12  1:43 ` [PATCH v2 11/12] driver: Google EFI SMI Mike Waychison
2011-03-14 15:47   ` Greg KH
2011-03-14 20:01     ` Mike Waychison
2011-03-14 20:13       ` Greg KH
2011-03-14 21:09         ` Mike Waychison
2011-03-14 23:05         ` Alan Cox
2011-03-12  1:43 ` [PATCH v2 12/12] driver: Google Memory Console Mike Waychison
2011-03-14  4:54   ` H. Peter Anvin
2011-03-14  4:58     ` Tim Hockin
2011-03-14  5:02       ` H. Peter Anvin
2011-03-14  9:22         ` Ingo Molnar
2011-03-14 14:01           ` Tim Hockin
2011-03-14 14:23             ` Ingo Molnar
2011-03-14 15:47               ` Greg KH
2011-03-14 20:03     ` Mike Waychison
2011-03-14 22:46       ` H. Peter Anvin
2011-03-12  3:54 ` [PATCH v2 00/12] google firmware support Matt Domsch
2011-03-14 15:42   ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox