coreboot-kgpe-d16/payloads/libpayload
Anton Kochkov ac6e3172ff libpayload: OHCI driver correct PCI BAR reading
Correct registers base (PCI BAR) reading to be
more specification friendly. Registers base
only in [31-12] bits, all other proposed to be 0
but that not true for some motherboards. So
adding mask to use only valid bits.

Change-Id: I2e9a4997e016dab812ccfe654e966bc91d42a625
Signed-off-by: Anton Kochkov <anton.kochkov@gmail.com>
Reviewed-on: http://review.coreboot.org/1143
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2012-06-29 22:13:57 +02:00
..
arch Make libpayload parse the coreboot tables before setting up the consoles 2012-03-31 12:10:07 +02:00
bin
configs
crypto
curses
drivers libpayload: OHCI driver correct PCI BAR reading 2012-06-29 22:13:57 +02:00
include libpayload: Shutdown reasonably if we can't init usb msc device 2012-06-22 08:55:22 +02:00
lib tint requires more heap space for PDCurses. 2012-02-29 20:08:41 +01:00
libc libpayload: avoid excessive casts in printf.c 2012-04-04 00:41:57 +02:00
libcbfs libpayload: Allow using CBFS functions on images in RAM 2012-01-26 12:27:24 +01:00
liblzma
libpci libpayload: minor cleanups 2012-04-04 00:40:31 +02:00
sample
util
Config.in
Doxyfile
LICENSES
Makefile
Makefile.inc
README

-------------------------------------------------------------------------------
libpayload README
-------------------------------------------------------------------------------

libpayload is a minimal library to support standalone payloads
that can be booted with firmware like coreboot. It handles the setup
code, and provides common C library symbols such as malloc() and printf().

Note: This is _not_ a standard library for use with an operating system,
rather it's only useful for coreboot payload development!
See http://coreboot.org for details on coreboot.


Installation
------------

 $ svn co svn://coreboot.org/coreboot/trunk/payloads/libpayload

 $ cd libpayload

 $ make menuconfig

 $ make

 $ sudo make install (optional, will install into /opt per default)

As libpayload is for 32bit x86 systems only, you might have to install the
32bit libgcc version, otherwise your payloads will fail to compile.
On Debian systems you'd do 'apt-get install gcc-multilib' for example.


Usage
-----

Here's an example of a very simple payload (hello.c) and how to build it:

 #include <libpayload.h>

 int main(void)
 {
     printf("Hello, world!\n");
     return 0;
 }

Building the payload using the 'lpgcc' compiler wrapper:

 $ lpgcc -o hello.elf hello.c

Please see the sample/ directory for details.


Website and Mailing List
------------------------

The main website is http://www.coreboot.org/Libpayload.

For additional information, patches, and discussions, please join the
coreboot mailing list at http://coreboot.org/Mailinglist, where most
libpayload developers are subscribed.


Copyright and License
---------------------

See LICENSES.