2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>

* commands/blocklist.c: New file.

        * DISTLIST: Added commands/blocklist.c.

        * term/efi/console.c (grub_console_highlight_color): Use a lighter
        color for the background, and a daker color for the foreground.
        (grub_console_checkkey): Return READ_KEY.
        (grub_console_cls): Set the background to
        GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.

        * kern/efi/efi.c (grub_efi_exit_boot_services): New function.

        * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
        the size of "padding5", "hd0_drive_info" and "hd1_drive_info".

        * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
        prototype.

        * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
        BG. The spec is wrong again.

        * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
        prototype.
        [GRUB_UTIL] (grub_blocklist_fini): Likewise.

        * conf/i386-pc.rmk (grub_emu_SOURCES): Added
        commands/blocklist.c.
        * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.

        * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
        (blocklist_mod_SOURCES): New variable.
        (blocklist_mod_CFLAGS): Likewise.
        (blocklist_mod_LDFLAGS): Likewise.
This commit is contained in:
okuji 2006-05-27 21:09:25 +00:00
parent 75c8f25836
commit 89a7d726f9
15 changed files with 264 additions and 21 deletions

View file

@ -1002,7 +1002,7 @@ typedef struct grub_efi_simple_text_output_interface grub_efi_simple_text_output
#define GRUB_EFI_BACKGROUND_BROWN 0x60
#define GRUB_EFI_BACKGROUND_LIGHTGRAY 0x70
#define GRUB_EFI_TEXT_ATTR(fg, bg) ((fg) | ((bg) << 4))
#define GRUB_EFI_TEXT_ATTR(fg, bg) ((fg) | ((bg)))
struct grub_efi_system_table
{

View file

@ -54,6 +54,7 @@ void EXPORT_FUNC(grub_efi_print_device_path) (grub_efi_device_path_t *dp);
char *EXPORT_FUNC(grub_efi_get_filename) (grub_efi_device_path_t *dp);
grub_efi_device_path_t *
EXPORT_FUNC(grub_efi_get_device_path) (grub_efi_handle_t handle);
int EXPORT_FUNC(grub_efi_exit_boot_services) (grub_efi_uintn_t map_key);
void grub_efi_mm_init (void);
void grub_efi_mm_fini (void);

View file

@ -147,12 +147,12 @@ struct linux_kernel_params
grub_uint32_t ist_signature; /* 60 */
grub_uint32_t ist_command; /* 64 */
grub_uint32_t ist_event; /* 68 */
grub_uint32_t ist_perf_level; /* 6a */
grub_uint32_t ist_perf_level; /* 6c */
grub_uint8_t padding5[0x80 - 0x6e];
grub_uint8_t padding5[0x80 - 0x70];
grub_uint8_t hd0_drive_info[10]; /* 80 */
grub_uint8_t hd1_drive_info[10]; /* 90 */
grub_uint8_t hd0_drive_info[0x10]; /* 80 */
grub_uint8_t hd1_drive_info[0x10]; /* 90 */
grub_uint16_t rom_config_len; /* a0 */
grub_uint8_t padding6[0x1c0 - 0xa2];
@ -176,7 +176,6 @@ struct linux_kernel_params
grub_uint8_t ps_mouse; /* 1ff */
} __attribute__ ((packed));
#endif /* ! ASM_FILE */
#endif /* ! GRUB_LINUX_MACHINE_HEADER */

View file

@ -186,6 +186,8 @@ void grub_search_init (void);
void grub_search_fini (void);
void grub_test_init (void);
void grub_test_fini (void);
void grub_blocklist_init (void);
void grub_blocklist_fini (void);
#endif
#endif /* ! GRUB_NORMAL_HEADER */