All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] coreboot table bus and framebuffer driver
@ 2018-01-25  1:41 Samuel Holland
  2018-01-25  1:41 ` [PATCH 1/5] firmware: coreboot: Expose the coreboot table as a bus Samuel Holland
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Samuel Holland @ 2018-01-25  1:41 UTC (permalink / raw)
  To: linux-kernel, Greg Kroah-Hartman
  Cc: coreboot, Thierry Escande, Wei-Ning Huang, Julius Werner,
	Dmitry Torokhov, Guenter Roeck, Samuel Holland

On many systems, coreboot[1] firmware can initialize graphics hardware
and set up a high-resolution linear framebuffer. It exports information
about this framebuffer, along with various other information, in a table
discoverable via ACPI or a device tree.

coreboot also supports booting Linux directly from flash as a "payload".
Projects such as Heads[2], u-root[3], and petitboot[4] provide a minimal
userland that can then be used to chainload (via kexec) into a full
Linux system loaded from disk or over the network.

Fitting even a minimal Linux system on an SPI flash chip is challenging.
Reusing the framebuffer setup from coreboot provides an enormous benefit
to these projects by allowing them to omit full graphics drivers from
their kernel builds. It also speeds up boot times by avoiding duplicated
effort, and because coreboot's graphics initialization is often much
faster than the Linux driver.

Patch 1 of this series expands coreboot table support into an enumerable
bus that devices can hang off of. Patches 2-3 convert the existing
drivers to use the new bus structure instead of ad-hoc platform devices,
and patch 4 removes the old coreboot_table_find function.

Finally, patch 5 adds a new driver for the coreboot-initialized
framebuffer. It improves on earlier work[5] by being architecture-
independent and not needing to scan through low memory.

This patchset has been tested on a Lenovo ThinkPad X220, and earlier
versions of these patches have been tested by various members of the
coreboot community on other hardware.

[1]: https://www.coreboot.org/Welcome_to_coreboot
[2]: https://github.com/osresearch/heads
[3]: https://github.com/u-root/u-root
[4]: https://www.kernel.org/pub/linux/kernel/people/geoff/petitboot/petitboot.html
[5]: https://mail.coreboot.org/pipermail/coreboot/2014-September/078551.html

Samuel Holland (5):
  firmware: coreboot: Expose the coreboot table as a bus
  firmware: memconsole: Probe via coreboot bus
  firmware: vpd: Probe via coreboot bus
  firmware: coreboot: Remove unused coreboot_table_find
  firmware: coreboot: Add coreboot framebuffer driver

 drivers/firmware/google/Kconfig                |   8 ++
 drivers/firmware/google/Makefile               |   1 +
 drivers/firmware/google/coreboot_table-acpi.c  |   2 +-
 drivers/firmware/google/coreboot_table-of.c    |   2 +-
 drivers/firmware/google/coreboot_table.c       | 130 ++++++++++++++++++-------
 drivers/firmware/google/coreboot_table.h       |  72 +++++++++++---
 drivers/firmware/google/framebuffer-coreboot.c | 115 ++++++++++++++++++++++
 drivers/firmware/google/memconsole-coreboot.c  |  49 ++++------
 drivers/firmware/google/vpd.c                  |  43 +++-----
 9 files changed, 313 insertions(+), 109 deletions(-)
 create mode 100644 drivers/firmware/google/framebuffer-coreboot.c

-- 
2.13.6

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

end of thread, other threads:[~2018-04-23 11:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-25  1:41 [PATCH 0/5] coreboot table bus and framebuffer driver Samuel Holland
2018-01-25  1:41 ` [PATCH 1/5] firmware: coreboot: Expose the coreboot table as a bus Samuel Holland
2018-01-25  1:41 ` [PATCH 2/5] firmware: memconsole: Probe via coreboot bus Samuel Holland
2018-01-25  1:41 ` [PATCH 3/5] firmware: vpd: " Samuel Holland
2018-01-25  1:41 ` [PATCH 4/5] firmware: coreboot: Remove unused coreboot_table_find Samuel Holland
2018-01-25  1:41 ` [PATCH 5/5] firmware: coreboot: Add coreboot framebuffer driver Samuel Holland
2018-03-14 18:08 ` [PATCH 0/5] coreboot table bus and " Greg Kroah-Hartman
2018-03-14 21:18   ` Julius Werner
2018-03-14 21:22     ` Julius Werner
2018-04-23 11:37       ` Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.