]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
authorRobert Millan <rmh@aybabtu.com>
Wed, 20 Jan 2010 01:19:53 +0000 (01:19 +0000)
committerRobert Millan <rmh@aybabtu.com>
Wed, 20 Jan 2010 01:19:53 +0000 (01:19 +0000)
* kern/mips/yeeloong/init.c (grub_video_sm712_init)
(grub_video_video_init, grub_video_bitmap_init)
(grub_font_manager_init, grub_term_gfxterm_init)
(grub_at_keyboard_init): New extern declarations.
(grub_machine_init): Initialize gfxterm and at_keyboard.

* kern/main.c (grub_main): Revert grub_printf delay kludge.

* util/grub-install.in: Revert embed of `at_keyboard.mod' and
`gfxterm.mod' into core image.

* conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
(kernel_img_FORMAT): Copy to ...

* conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
(kernel_img_FORMAT): ... here, and ...

* conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
(kernel_img_FORMAT): ... here.

(kernel_img_SOURCES): Add files necessary for output (gfxterm)
and input (at_keyboard) terminals in kernel.
(kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.

(pkglib_MODULES): Remove `pci.mod'.
(pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
(sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
(at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
(at_keyboard_mod_LDFLAGS): Remove variables.

ChangeLog.mips
conf/mips-qemu-mips.rmk
conf/mips-yeeloong.rmk
conf/mips.rmk
kern/main.c
kern/mips/yeeloong/init.c
util/grub-install.in

index 1bbe1c273245d02d8e8d3b096002a816e09fe849..12797095d564dca5fb9f9315c426892bb417e6d3 100644 (file)
@@ -1,3 +1,38 @@
+2009-12-20  Robert Millan  <rmh.grub@aybabtu.com>
+
+       * kern/mips/yeeloong/init.c (grub_video_sm712_init)
+       (grub_video_video_init, grub_video_bitmap_init)
+       (grub_font_manager_init, grub_term_gfxterm_init)
+       (grub_at_keyboard_init): New extern declarations.
+       (grub_machine_init): Initialize gfxterm and at_keyboard.
+
+       * kern/main.c (grub_main): Revert grub_printf delay kludge.
+
+       * util/grub-install.in: Revert embed of `at_keyboard.mod' and
+       `gfxterm.mod' into core image.
+
+       * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
+       (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
+       (kernel_img_FORMAT): Copy to ...
+
+       * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
+       (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
+       (kernel_img_FORMAT): ... here, and ...
+
+       * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
+       (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
+       (kernel_img_FORMAT): ... here.
+
+       (kernel_img_SOURCES): Add files necessary for output (gfxterm)
+       and input (at_keyboard) terminals in kernel.
+       (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
+
+       (pkglib_MODULES): Remove `pci.mod'.
+       (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
+       (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
+       (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
+       (at_keyboard_mod_LDFLAGS): Remove variables.
+
 2010-01-11  Felix Zielcke <fzielcke@z-51.de>
 
        * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
index d5a985a13fa47794eb64e3b4e24c0acc23704070..e0637012214e212c0363b8dcdca1324041d40876 100644 (file)
@@ -4,3 +4,20 @@ target_machine=qemu-mips
 COMMON_CFLAGS += -march=mips3
 COMMON_ASFLAGS += -march=mips3
 include $(srcdir)/conf/mips.mk
+
+pkglib_IMAGES = kernel.img
+kernel_img_SOURCES = kern/$(target_cpu)/startup.S \
+       kern/main.c kern/device.c kern/$(target_cpu)/init.c \
+       kern/$(target_cpu)/$(target_machine)/init.c             \
+       kern/disk.c kern/dl.c kern/err.c kern/file.c kern/fs.c          \
+       kern/misc.c kern/mm.c kern/term.c       \
+       kern/rescue_parser.c kern/rescue_reader.c \
+       kern/list.c kern/handler.c kern/command.c kern/corecmd.c        \
+       kern/parser.c kern/partition.c kern/env.c kern/$(target_cpu)/dl.c       \
+       kern/generic/millisleep.c kern/generic/rtc_get_time_ms.c kern/time.c    \
+       symlist.c kern/$(target_cpu)/cache.S
+kernel_img_CFLAGS = $(COMMON_CFLAGS)
+kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
+kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -static-libgcc -lgcc \
+       -Wl,-N,-S,-Ttext,$(LINK_BASE),-Bstatic
+kernel_img_FORMAT = binary
index 4257bba74d1ff3bf4dcf92dbdc2253b362fbb7e4..964f2938402aff12b00e93a5a895dcd9523d74b2 100644 (file)
@@ -5,11 +5,30 @@ COMMON_CFLAGS += -march=mips3
 COMMON_ASFLAGS += -march=mips3
 include $(srcdir)/conf/mips.mk
 
-# For pci.mod.
-pkglib_MODULES += pci.mod
-pci_mod_SOURCES = bus/pci.c bus/bonito.c
-pci_mod_CFLAGS = $(COMMON_CFLAGS)
-pci_mod_LDFLAGS = $(COMMON_LDFLAGS)
+pkglib_IMAGES = kernel.img
+kernel_img_SOURCES = kern/$(target_cpu)/startup.S \
+       kern/main.c kern/device.c kern/$(target_cpu)/init.c \
+       kern/$(target_cpu)/$(target_machine)/init.c             \
+       kern/disk.c kern/dl.c kern/err.c kern/file.c kern/fs.c          \
+       kern/misc.c kern/mm.c kern/term.c       \
+       kern/rescue_parser.c kern/rescue_reader.c \
+       kern/list.c kern/handler.c kern/command.c kern/corecmd.c        \
+       kern/parser.c kern/partition.c kern/env.c kern/$(target_cpu)/dl.c       \
+       kern/generic/millisleep.c kern/generic/rtc_get_time_ms.c kern/time.c    \
+       kern/$(target_cpu)/cache.S \
+       \
+       term/at_keyboard.c \
+       font/font_cmd.c font/font.c io/bufio.c \
+       video/video.c video/fb/video_fb.c video/fb/fbblit.c \
+       video/fb/fbfill.c video/fb/fbutil.c video/bitmap.c \
+       video/sm712.c bus/pci.c bus/bonito.c \
+       term/gfxterm.c commands/extcmd.c lib/arg.c \
+       symlist.c
+kernel_img_CFLAGS = $(COMMON_CFLAGS) -DUSE_ASCII_FAILBACK
+kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
+kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -static-libgcc -lgcc \
+       -Wl,-N,-S,-Ttext,$(LINK_BASE),-Bstatic
+kernel_img_FORMAT = binary
 
 # For ata.mod.
 pkglib_MODULES += ata.mod
@@ -17,24 +36,12 @@ ata_mod_SOURCES = disk/ata.c
 ata_mod_CFLAGS = $(COMMON_CFLAGS)
 ata_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
-# For pci.mod.
-pkglib_MODULES += sm712.mod
-sm712_mod_SOURCES = video/sm712.c 
-sm712_mod_CFLAGS = $(COMMON_CFLAGS)
-sm712_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
 # For lspci.mod
 pkglib_MODULES += lspci.mod
 lspci_mod_SOURCES = commands/lspci.c
 lspci_mod_CFLAGS = $(COMMON_CFLAGS)
 lspci_mod_LDFLAGS = $(COMMON_LDFLAGS)
 
-# For at_keyboard.mod.
-pkglib_MODULES += at_keyboard.mod
-at_keyboard_mod_SOURCES = term/at_keyboard.c
-at_keyboard_mod_CFLAGS = $(COMMON_CFLAGS)
-at_keyboard_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
 # For ata_pthru.mod.
 pkglib_MODULES += ata_pthru.mod
 ata_pthru_mod_SOURCES = disk/ata_pthru.c
index 55fd83d73069896788b8be5ab816014eceae76d9..fedfb4c546a546532c89d197b0afbe41985c5034 100644 (file)
@@ -25,24 +25,6 @@ symlist.c: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h gensymlist.
 kernel_syms.lst: $(addprefix include/grub/,$(kernel_img_HEADERS)) config.h genkernsyms.sh
        /bin/sh genkernsyms.sh $(filter %.h,$^) > $@ || (rm -f $@; exit 1)
 
-# Programs
-pkglib_IMAGES = kernel.img
-kernel_img_SOURCES = kern/$(target_cpu)/startup.S \
-       kern/main.c kern/device.c kern/$(target_cpu)/init.c \
-       kern/$(target_cpu)/$(target_machine)/init.c             \
-       kern/disk.c kern/dl.c kern/err.c kern/file.c kern/fs.c          \
-       kern/misc.c kern/mm.c kern/term.c       \
-       kern/rescue_parser.c kern/rescue_reader.c \
-       kern/list.c kern/handler.c kern/command.c kern/corecmd.c        \
-       kern/parser.c kern/partition.c kern/env.c kern/$(target_cpu)/dl.c       \
-       kern/generic/millisleep.c kern/generic/rtc_get_time_ms.c kern/time.c    \
-       symlist.c kern/$(target_cpu)/cache.S
-kernel_img_CFLAGS = $(COMMON_CFLAGS)
-kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
-kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -static-libgcc -lgcc \
-       -Wl,-N,-S,-Ttext,$(LINK_BASE),-Bstatic
-kernel_img_FORMAT = binary
-
 # Scripts.
 sbin_SCRIPTS = 
 bin_SCRIPTS = 
index ae32d47f68dda933bd00490cc77923477604e87c..57a0f4a3d7c2dacc94ffbcd0f8a1618dad0841ef 100644 (file)
@@ -152,6 +152,12 @@ grub_main (void)
   /* First of all, initialize the machine.  */
   grub_machine_init ();
 
+  /* Hello.  */
+  grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT);
+  grub_printf ("Welcome to GRUB!\n\n");
+  grub_refresh ();
+  grub_setcolorstate (GRUB_TERM_COLOR_STANDARD);
+
   /* Load pre-loaded modules and free the space.  */
   grub_register_exported_symbols ();
 #ifdef GRUB_LINKER_HAVE_INIT
@@ -159,12 +165,6 @@ grub_main (void)
 #endif  
   grub_load_modules ();
 
-  /* Hello.  */
-  grub_setcolorstate (GRUB_TERM_COLOR_HIGHLIGHT);
-  grub_printf ("Welcome to GRUB!\n\n");
-  grub_refresh ();
-  grub_setcolorstate (GRUB_TERM_COLOR_STANDARD);
-
   /* It is better to set the root device as soon as possible,
      for convenience.  */
   grub_machine_set_prefix ();
index 8b93ac18f485baf2bde23fc695d11483ce321a9d..14e8a39a241721f03b62a5b7a750ee273e07f2e6 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  GRUB  --  GRand Unified Bootloader
- *  Copyright (C) 2009  Free Software Foundation, Inc.
+ *  Copyright (C) 2009,2010  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
 #include <grub/machine/memory.h>
 #include <grub/cpu/kernel.h>
 
+extern void grub_video_sm712_init (void);
+extern void grub_video_video_init (void);
+extern void grub_video_bitmap_init (void);
+extern void grub_font_manager_init (void);
+extern void grub_term_gfxterm_init (void);
+extern void grub_at_keyboard_init (void);
+
 /* FIXME: use interrupt to count high.  */
 grub_uint64_t
 grub_get_rtc (void)
@@ -87,6 +94,16 @@ grub_machine_init (void)
                       - (((grub_addr_t) modend) - GRUB_ARCH_LOWMEMVSTART));
   /* FIXME: use upper memory as well.  */
   grub_install_get_time_ms (grub_rtc_get_time_ms);
+
+  /* Initialize output terminal (can't be done earlier, as gfxterm
+     relies on a working heap.  */
+  grub_video_sm712_init ();
+  grub_video_video_init ();
+  grub_video_bitmap_init ();
+  grub_font_manager_init ();
+  grub_term_gfxterm_init ();
+
+  grub_at_keyboard_init ();
 }
 
 void
index 509593d634b8389f8e52e6166ba3d11d2c7ac4a6..bb323d7062e9e34233d389df34a654889f117095 100644 (file)
@@ -292,10 +292,6 @@ partmap_module=`$grub_probe --target=partmap --device ${grub_device} 2> /dev/nul
 # Device abstraction module, if any (lvm, raid).
 devabstraction_module=`$grub_probe --target=abstraction --device ${grub_device}`
 
-if [ "${target_cpu}-${platform}" = "mips-yeeloong" ] ; then
-    modules="sm712 gfxterm at_keyboard $modules"
-fi
-
 # The order in this list is critical.  Be careful when modifying it.
 modules="$modules $disk_module"
 modules="$modules $fs_module $partmap_module $devabstraction_module"