coreboot-kgpe-d16/payloads/libpayload/include
Nico Huber 1f6bd94fa8 libpayload: New AHCI, ATA and ATAPI drivers
This adds a new interface for storage devices. A driver for ATA and
ATAPI drives on AHCI host controllers comes along.

The interface is very simple and was designed to match FILO's needs.
It consists of three functions:

  void storage_initialize(void);
  Initializes controllers. Should be called once at startup.

  storage_poll_t storage_probe(size_t dev_num);
     with typedef enum {
            POLL_NO_DEVICE      = -2,
            POLL_ERROR          = -1,
            POLL_NO_MEDIUM      =  0,
            POLL_MEDIUM_PRESENT =  1,
          } storage_poll_t;
  Looks for a drive with number dev_num (drives are counted from
  zero) and polls for a medium in the drive if appropriate.

  int storage_read_blocks512(size_t dev_num,
                             u64 start, size_t count,
                             unsigned char *buf);
  Reads count blocks of 512 bytes from block start of drive dev_num
  into buf.

Change-Id: I1c85796b7f8e379ff3817a61b1837636b57e182b
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1622
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Peter Stuge <peter@stuge.se>
2012-10-27 02:52:58 +02:00
..
arpa Some more POSIX compatibility 2011-02-14 19:23:33 +00:00
i386/arch Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
pci libpayload: remove trailing whitespace and run dos2unix 2011-11-01 19:08:23 +01:00
powerpc/arch libpayload update 2010-03-25 22:15:19 +00:00
storage libpayload: New AHCI, ATA and ATAPI drivers 2012-10-27 02:52:58 +02:00
sys libpayload: Some more compatibility (for flashrom) 2011-08-17 16:26:20 +02:00
usb libpayload: add controller type in usbdev_hc 2012-08-23 07:05:02 +02:00
assert.h Use fprintf(stderr, ...) in library 2011-02-14 19:26:22 +00:00
cbfs.h libpayload: Allow using CBFS functions on images in RAM 2012-01-26 12:27:24 +01:00
cbfs_core.h libpayload: export get_cbfs_header() 2011-08-18 22:02:53 +02:00
coreboot_tables.h Cleanup access to vendor/part # info 2012-01-07 11:49:57 +01:00
ctype.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
errno.h Attached patch moves functions out of the huge libpayload.h into headers 2010-06-24 11:16:10 +00:00
getopt.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
inttypes.h libpayload: Some more compatibility (for flashrom) 2011-08-17 16:26:20 +02:00
lar.h
libpayload.h libpayload: New AHCI, ATA and ATAPI drivers 2012-10-27 02:52:58 +02:00
limits.h libpayload: Improve compatibility 2011-07-16 11:09:28 +02:00
lzma.h libpayload: remove trailing whitespace and run dos2unix 2011-11-01 19:08:23 +01:00
malloc.h libpayload: Provide atol(), malloc.h 2011-07-07 22:29:53 +02:00
multiboot_tables.h
panel.h libpayload: Add PDCurses and ncurses' libform/libmenu 2011-08-04 08:10:41 +02:00
pci.h libpayload: Add more libpci-compatibility (#defines) 2011-03-01 07:26:00 +00:00
stdarg.h libpayload: Improve compatibility 2011-07-16 11:09:28 +02:00
stdint.h Some more standard types and defines (libpayload) 2011-03-01 07:13:10 +00:00
stdio.h libpayload: Improve compatibility 2011-07-16 11:09:28 +02:00
stdlib.h libpayload: Some more compatibility (for flashrom) 2011-08-17 16:26:20 +02:00
string.h libpayload: Implement strlcpy 2011-07-07 22:29:35 +02:00
strings.h libpayload: Implement ffs() 2011-03-01 07:23:49 +00:00
sysinfo.h Cleanup access to vendor/part # info 2012-01-07 11:49:57 +01:00
term.h libpayload: remove trailing whitespace and run dos2unix 2011-11-01 19:08:23 +01:00
unistd.h libpayload: New AHCI, ATA and ATAPI drivers 2012-10-27 02:52:58 +02:00
video_console.h Add coreboot framebuffer support to libpayload 2010-03-25 18:56:26 +00:00