* disk/ata.c (grub_ata_regget): Change return type to `grub_uint8_t'. (grub_ata_regget2): Likewise. (grub_ata_wait_status): New function. (grub_ata_wait_busy): Removed function, updated all users to use `grub_ata_wait_status'. (grub_ata_wait_drq): Likewise. (grub_ata_cmd): New function. (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add error handling. (grub_ata_pio_write): Add error handling. (grub_atapi_identify): Likewise. (grub_atapi_packet): Use `grub_ata_cmd' and improve error handling. (grub_ata_identify): Use `grub_ata_cmd' and improve error handling. Actually use the detected registers. Reorder the detection logic such that it is easier to read. (grub_ata_pciinit): Do not assign the same ID to each controller. (grub_ata_setaddress): Use `grub_ata_cmd' and improve error handling. (grub_atapi_readsector): Check the result of `grub_ata_pio_read'. * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
This is GRUB 2, the second version of the GRand Unified Bootloader. GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more robust, more powerful, and more portable. See the file NEWS for a description of recent changes to GRUB 2. See the file INSTALL for instructions on how to build and install the GRUB 2 data and program files. Please visit the official web page of GRUB 2, for more information. The URL is <http://www.gnu.org/software/grub/grub.html>. For now, there is not much documentation yet. Please look at the GRUB Wiki <http://grub.enbug.org> for testing procedures.
Description
Languages
C
82.5%
Assembly
13.6%
M4
1.4%
Shell
1.3%
Makefile
0.5%
Other
0.5%