+2008-11-12 Robert Millan <rmh@aybabtu.com>
+
+ Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
+ split).
+
+ * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
+ (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 `<grub/machine/console.h>' with
+ `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
+ `<grub/i386/io.h>'.
+ * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
+ `<grub/i386/vga_common.h>'.
+
2008-11-12 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
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
#include <grub/types.h>
#include <grub/symbol.h>
#include <grub/term.h>
+#include <grub/i386/vga_common.h>
/* 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);
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);
--- /dev/null
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GRUB_VGA_COMMON_CPU_HEADER
+#define GRUB_VGA_COMMON_CPU_HEADER 1
+
+#include <grub/types.h>
+#include <grub/symbol.h>
+#include <grub/term.h>
+
+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 */
*/
#include <grub/dl.h>
-#include <grub/machine/console.h>
-#include <grub/cpu/io.h>
+#include <grub/i386/vga_common.h>
+#include <grub/i386/io.h>
#include <grub/types.h>
#define COLS 80
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <grub/machine/console.h>
+#include <grub/i386/vga_common.h>
#include <grub/term.h>
#include <grub/types.h>