diff --git a/ChangeLog b/ChangeLog index 1b41d7e6a..1f92fa62f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2008-11-12 Robert Millan + + Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text + split). + + * include/grub/i386/pc/console.h: Include `'. + (grub_console_cur_color, grub_console_real_putchar) + (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh) + (grub_console_setcolorstate, grub_console_setcolor) + (grub_console_getcolor): Move from here ... + * include/grub/i386/vga_common.h: ... to here (new file). + + * term/i386/pc/vga_text.c: Replace `' with + `' and `' with + `'. + * term/i386/vga_common.c: Replace `' with + `'. + 2008-11-12 Robert Millan * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'. diff --git a/DISTLIST b/DISTLIST index 87ab7ad8c..a283043bb 100644 --- a/DISTLIST +++ b/DISTLIST @@ -199,6 +199,7 @@ include/grub/i386/setjmp.h include/grub/i386/time.h include/grub/i386/tsc.h include/grub/i386/types.h +include/grub/i386/vga_common.h include/grub/i386/coreboot/boot.h include/grub/i386/coreboot/console.h include/grub/i386/coreboot/init.h diff --git a/include/grub/i386/pc/console.h b/include/grub/i386/pc/console.h index 480c21c42..2a74d152c 100644 --- a/include/grub/i386/pc/console.h +++ b/include/grub/i386/pc/console.h @@ -37,10 +37,9 @@ #include #include #include +#include /* These are global to share code between C and asm. */ -extern grub_uint8_t grub_console_cur_color; -void grub_console_real_putchar (int c); int grub_console_checkkey (void); int grub_console_getkey (void); grub_uint16_t grub_console_getxy (void); @@ -48,14 +47,6 @@ void grub_console_gotoxy (grub_uint8_t x, grub_uint8_t y); void grub_console_cls (void); void grub_console_setcursor (int on); -/* Provided by vga_common.c. */ -void grub_console_putchar (grub_uint32_t c); -grub_ssize_t grub_console_getcharwidth (grub_uint32_t c); -grub_uint16_t grub_console_getwh (void); -void grub_console_setcolorstate (grub_term_color_state state); -void grub_console_setcolor (grub_uint8_t normal_color, grub_uint8_t highlight_color); -void grub_console_getcolor (grub_uint8_t *normal_color, grub_uint8_t *highlight_color); - /* Initialize the console system. */ void grub_console_init (void); diff --git a/include/grub/i386/vga_common.h b/include/grub/i386/vga_common.h new file mode 100644 index 000000000..f17fc018a --- /dev/null +++ b/include/grub/i386/vga_common.h @@ -0,0 +1,40 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2002,2005,2007,2008 Free Software Foundation, Inc. + * + * GRUB is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GRUB is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GRUB. If not, see . + */ + +#ifndef GRUB_VGA_COMMON_CPU_HEADER +#define GRUB_VGA_COMMON_CPU_HEADER 1 + +#include +#include +#include + +extern grub_uint8_t grub_console_cur_color; + +void grub_console_putchar (grub_uint32_t c); +grub_ssize_t grub_console_getcharwidth (grub_uint32_t c); +grub_uint16_t grub_console_getwh (void); +void grub_console_setcolorstate (grub_term_color_state state); +void grub_console_setcolor (grub_uint8_t normal_color, grub_uint8_t highlight_color); +void grub_console_getcolor (grub_uint8_t *normal_color, grub_uint8_t *highlight_color); + +/* Implemented in both kern/i386/pc/startup.S and vga_text.c; this symbol + is not exported, so there's no collision, but vga_common.c expects this + prototype to be the same. */ +void grub_console_real_putchar (int c); + +#endif /* ! GRUB_VGA_COMMON_CPU_HEADER */ diff --git a/term/i386/pc/vga_text.c b/term/i386/pc/vga_text.c index 5ffdde661..8b8aecb30 100644 --- a/term/i386/pc/vga_text.c +++ b/term/i386/pc/vga_text.c @@ -17,8 +17,8 @@ */ #include -#include -#include +#include +#include #include #define COLS 80 diff --git a/term/i386/vga_common.c b/term/i386/vga_common.c index 5c862396b..131b43ab6 100644 --- a/term/i386/vga_common.c +++ b/term/i386/vga_common.c @@ -16,7 +16,7 @@ * along with GRUB. If not, see . */ -#include +#include #include #include