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>'.
This commit is contained in:
robertmh 2008-11-12 17:43:39 +00:00
parent 76679cd3a4
commit 976b07d044
6 changed files with 63 additions and 13 deletions

View File

@ -1,3 +1,21 @@
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'.

View File

@ -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

View File

@ -37,10 +37,9 @@
#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);
@ -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);

View File

@ -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 <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 */

View File

@ -17,8 +17,8 @@
*/
#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

View File

@ -16,7 +16,7 @@
* 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>