[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[1781] 2008-08-06 Robert Millan <address@hidden>
From: |
Robert Millan |
Subject: |
[1781] 2008-08-06 Robert Millan <address@hidden> |
Date: |
Wed, 06 Aug 2008 00:20:06 +0000 |
Revision: 1781
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1781
Author: robertmh
Date: 2008-08-06 00:20:04 +0000 (Wed, 06 Aug 2008)
Log Message:
-----------
2008-08-06 Robert Millan <address@hidden>
* conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
`halt.mod'.
(reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
(halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
* kern/i386/halt.c: New file.
* kern/i386/reboot.c: Likewise.
* include/grub/i386/reboot.h: Likewise.
* include/grub/i386/halt.h: Likewise.
* commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
Include `<grub/cpu/halt.h>'.
* commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
[! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
* term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
(SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
(KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
(KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
(KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
(KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
from here ...
* include/grub/i386/at_keyboard.h: ... to here.
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/DISTLIST
trunk/grub2/commands/halt.c
trunk/grub2/commands/reboot.c
trunk/grub2/conf/i386-coreboot.mk
trunk/grub2/conf/i386-coreboot.rmk
trunk/grub2/conf/i386-efi.mk
trunk/grub2/conf/i386-pc.mk
trunk/grub2/term/i386/pc/at_keyboard.c
Added Paths:
-----------
trunk/grub2/include/grub/i386/at_keyboard.h
trunk/grub2/include/grub/i386/halt.h
trunk/grub2/include/grub/i386/reboot.h
trunk/grub2/kern/i386/halt.c
trunk/grub2/kern/i386/reboot.c
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/ChangeLog 2008-08-06 00:20:04 UTC (rev 1781)
@@ -1,3 +1,29 @@
+2008-08-06 Robert Millan <address@hidden>
+
+ * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
+ `halt.mod'.
+ (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
+ (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
+
+ * kern/i386/halt.c: New file.
+ * kern/i386/reboot.c: Likewise.
+ * include/grub/i386/reboot.h: Likewise.
+ * include/grub/i386/halt.h: Likewise.
+
+ * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
+ Include `<grub/cpu/halt.h>'.
+ * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
+ [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
+
+ * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
+ (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
+ (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
+ (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
+ (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
+ (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
+ from here ...
+ * include/grub/i386/at_keyboard.h: ... to here.
+
2008-08-05 Robert Millan <address@hidden>
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
Modified: trunk/grub2/DISTLIST
===================================================================
--- trunk/grub2/DISTLIST 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/DISTLIST 2008-08-06 00:20:04 UTC (rev 1781)
@@ -124,6 +124,7 @@
include/grub/gzio.h
include/grub/hexdump.h
include/grub/hfs.h
+include/grub/i386/at_keyboard.h
include/grub/i386/coreboot/boot.h
include/grub/i386/coreboot/console.h
include/grub/i386/coreboot/init.h
@@ -135,6 +136,7 @@
include/grub/i386/efi/kernel.h
include/grub/i386/efi/loader.h
include/grub/i386/efi/time.h
+include/grub/i386/halt.h
include/grub/i386/ieee1275/loader.h
include/grub/i386/ieee1275/machine.h
include/grub/i386/ieee1275/memory.h
@@ -160,6 +162,7 @@
include/grub/i386/pc/vbeutil.h
include/grub/i386/pc/vga.h
include/grub/i386/pit.h
+include/grub/i386/reboot.h
include/grub/i386/setjmp.h
include/grub/i386/time.h
include/grub/i386/types.h
@@ -234,6 +237,7 @@
kern/i386/dl.c
kern/i386/efi/init.c
kern/i386/efi/startup.S
+kern/i386/halt.c
kern/i386/linuxbios/init.c
kern/i386/linuxbios/startup.S
kern/i386/linuxbios/table.c
@@ -243,6 +247,7 @@
kern/i386/pc/startup.S
kern/i386/pit.c
kern/i386/realmode.S
+kern/i386/reboot.c
kern/ieee1275/cmain.c
kern/ieee1275/ieee1275.c
kern/ieee1275/init.c
Modified: trunk/grub2/commands/halt.c
===================================================================
--- trunk/grub2/commands/halt.c 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/commands/halt.c 2008-08-06 00:20:04 UTC (rev 1781)
@@ -25,6 +25,9 @@
#include <grub/machine/kernel.h>
#elif defined(GRUB_MACHINE_EFI)
#include <grub/efi/efi.h>
+#else
+/* Platforms shipping standalone halt, such as coreboot. */
+#include <grub/cpu/halt.h>
#endif
static grub_err_t
Modified: trunk/grub2/commands/reboot.c
===================================================================
--- trunk/grub2/commands/reboot.c 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/commands/reboot.c 2008-08-06 00:20:04 UTC (rev 1781)
@@ -27,6 +27,9 @@
#include <grub/efi/efi.h>
#elif defined(GRUB_MACHINE_PCBIOS)
#include <grub/machine/init.h>
+#else
+/* Platforms shipping standalone reboot, such as coreboot. */
+#include <grub/cpu/reboot.h>
#endif
Modified: trunk/grub2/conf/i386-coreboot.mk
===================================================================
--- trunk/grub2/conf/i386-coreboot.mk 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/conf/i386-coreboot.mk 2008-08-06 00:20:04 UTC (rev 1781)
@@ -19,15 +19,18 @@
kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
kern/time.c \
kern/i386/dl.c kern/parser.c kern/partition.c \
+ kern/i386/tsc.c kern/i386/pit.c \
+ kern/generic/rtc_get_time_ms.c \
+ kern/generic/millisleep.c \
kern/env.c \
term/i386/pc/console.c \
term/i386/pc/at_keyboard.c term/i386/pc/vga_text.c \
symlist.c
-CLEANFILES += kernel.elf kernel_elf-kern_i386_linuxbios_startup.o
kernel_elf-kern_i386_linuxbios_init.o kernel_elf-kern_i386_linuxbios_table.o
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o
kernel_elf-kern_dl.o kernel_elf-kern_file.o kernel_elf-kern_fs.o
kernel_elf-kern_err.o kernel_elf-kern_misc.o kernel_elf-kern_mm.o
kernel_elf-kern_loader.o kernel_elf-kern_rescue.o kernel_elf-kern_term.o
kernel_elf-kern_time.o kernel_elf-kern_i386_dl.o kernel_elf-kern_parser.o
kernel_elf-kern_partition.o kernel_elf-kern_env.o
kernel_elf-term_i386_pc_console.o kernel_elf-term_i386_pc_at_keyboard.o
kernel_elf-term_i386_pc_vga_text.o kernel_elf-symlist.o
-MOSTLYCLEANFILES += kernel_elf-kern_i386_linuxbios_startup.d
kernel_elf-kern_i386_linuxbios_init.d kernel_elf-kern_i386_linuxbios_table.d
kernel_elf-kern_main.d kernel_elf-kern_device.d kernel_elf-kern_disk.d
kernel_elf-kern_dl.d kernel_elf-kern_file.d kernel_elf-kern_fs.d
kernel_elf-kern_err.d kernel_elf-kern_misc.d kernel_elf-kern_mm.d
kernel_elf-kern_loader.d kernel_elf-kern_rescue.d kernel_elf-kern_term.d
kernel_elf-kern_time.d kernel_elf-kern_i386_dl.d kernel_elf-kern_parser.d
kernel_elf-kern_partition.d kernel_elf-kern_env.d
kernel_elf-term_i386_pc_console.d kernel_elf-term_i386_pc_at_keyboard.d
kernel_elf-term_i386_pc_vga_text.d kernel_elf-symlist.d
+CLEANFILES += kernel.elf kernel_elf-kern_i386_linuxbios_startup.o
kernel_elf-kern_i386_linuxbios_init.o kernel_elf-kern_i386_linuxbios_table.o
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o
kernel_elf-kern_dl.o kernel_elf-kern_file.o kernel_elf-kern_fs.o
kernel_elf-kern_err.o kernel_elf-kern_misc.o kernel_elf-kern_mm.o
kernel_elf-kern_loader.o kernel_elf-kern_rescue.o kernel_elf-kern_term.o
kernel_elf-kern_time.o kernel_elf-kern_i386_dl.o kernel_elf-kern_parser.o
kernel_elf-kern_partition.o kernel_elf-kern_i386_tsc.o
kernel_elf-kern_i386_pit.o kernel_elf-kern_generic_rtc_get_time_ms.o
kernel_elf-kern_generic_millisleep.o kernel_elf-kern_env.o
kernel_elf-term_i386_pc_console.o kernel_elf-term_i386_pc_at_keyboard.o
kernel_elf-term_i386_pc_vga_text.o kernel_elf-symlist.o
+MOSTLYCLEANFILES += kernel_elf-kern_i386_linuxbios_startup.d
kernel_elf-kern_i386_linuxbios_init.d kernel_elf-kern_i386_linuxbios_table.d
kernel_elf-kern_main.d kernel_elf-kern_device.d kernel_elf-kern_disk.d
kernel_elf-kern_dl.d kernel_elf-kern_file.d kernel_elf-kern_fs.d
kernel_elf-kern_err.d kernel_elf-kern_misc.d kernel_elf-kern_mm.d
kernel_elf-kern_loader.d kernel_elf-kern_rescue.d kernel_elf-kern_term.d
kernel_elf-kern_time.d kernel_elf-kern_i386_dl.d kernel_elf-kern_parser.d
kernel_elf-kern_partition.d kernel_elf-kern_i386_tsc.d
kernel_elf-kern_i386_pit.d kernel_elf-kern_generic_rtc_get_time_ms.d
kernel_elf-kern_generic_millisleep.d kernel_elf-kern_env.d
kernel_elf-term_i386_pc_console.d kernel_elf-term_i386_pc_at_keyboard.d
kernel_elf-term_i386_pc_vga_text.d kernel_elf-symlist.d
-kernel.elf: $(kernel_elf_DEPENDENCIES)
kernel_elf-kern_i386_linuxbios_startup.o kernel_elf-kern_i386_linuxbios_init.o
kernel_elf-kern_i386_linuxbios_table.o kernel_elf-kern_main.o
kernel_elf-kern_device.o kernel_elf-kern_disk.o kernel_elf-kern_dl.o
kernel_elf-kern_file.o kernel_elf-kern_fs.o kernel_elf-kern_err.o
kernel_elf-kern_misc.o kernel_elf-kern_mm.o kernel_elf-kern_loader.o
kernel_elf-kern_rescue.o kernel_elf-kern_term.o kernel_elf-kern_time.o
kernel_elf-kern_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o
kernel_elf-kern_env.o kernel_elf-term_i386_pc_console.o
kernel_elf-term_i386_pc_at_keyboard.o kernel_elf-term_i386_pc_vga_text.o
kernel_elf-symlist.o
- $(TARGET_CC) -o $@ kernel_elf-kern_i386_linuxbios_startup.o
kernel_elf-kern_i386_linuxbios_init.o kernel_elf-kern_i386_linuxbios_table.o
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o
kernel_elf-kern_dl.o kernel_elf-kern_file.o kernel_elf-kern_fs.o
kernel_elf-kern_err.o kernel_elf-kern_misc.o kernel_elf-kern_mm.o
kernel_elf-kern_loader.o kernel_elf-kern_rescue.o kernel_elf-kern_term.o
kernel_elf-kern_time.o kernel_elf-kern_i386_dl.o kernel_elf-kern_parser.o
kernel_elf-kern_partition.o kernel_elf-kern_env.o
kernel_elf-term_i386_pc_console.o kernel_elf-term_i386_pc_at_keyboard.o
kernel_elf-term_i386_pc_vga_text.o kernel_elf-symlist.o $(TARGET_LDFLAGS)
$(kernel_elf_LDFLAGS)
+kernel.elf: $(kernel_elf_DEPENDENCIES)
kernel_elf-kern_i386_linuxbios_startup.o kernel_elf-kern_i386_linuxbios_init.o
kernel_elf-kern_i386_linuxbios_table.o kernel_elf-kern_main.o
kernel_elf-kern_device.o kernel_elf-kern_disk.o kernel_elf-kern_dl.o
kernel_elf-kern_file.o kernel_elf-kern_fs.o kernel_elf-kern_err.o
kernel_elf-kern_misc.o kernel_elf-kern_mm.o kernel_elf-kern_loader.o
kernel_elf-kern_rescue.o kernel_elf-kern_term.o kernel_elf-kern_time.o
kernel_elf-kern_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o
kernel_elf-kern_i386_tsc.o kernel_elf-kern_i386_pit.o
kernel_elf-kern_generic_rtc_get_time_ms.o kernel_elf-kern_generic_millisleep.o
kernel_elf-kern_env.o kernel_elf-term_i386_pc_console.o
kernel_elf-term_i386_pc_at_keyboard.o kernel_elf-term_i386_pc_vga_text.o
kernel_elf-symlist.o
+ $(TARGET_CC) -o $@ kernel_elf-kern_i386_linuxbios_startup.o
kernel_elf-kern_i386_linuxbios_init.o kernel_elf-kern_i386_linuxbios_table.o
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o
kernel_elf-kern_dl.o kernel_elf-kern_file.o kernel_elf-kern_fs.o
kernel_elf-kern_err.o kernel_elf-kern_misc.o kernel_elf-kern_mm.o
kernel_elf-kern_loader.o kernel_elf-kern_rescue.o kernel_elf-kern_term.o
kernel_elf-kern_time.o kernel_elf-kern_i386_dl.o kernel_elf-kern_parser.o
kernel_elf-kern_partition.o kernel_elf-kern_i386_tsc.o
kernel_elf-kern_i386_pit.o kernel_elf-kern_generic_rtc_get_time_ms.o
kernel_elf-kern_generic_millisleep.o kernel_elf-kern_env.o
kernel_elf-term_i386_pc_console.o kernel_elf-term_i386_pc_at_keyboard.o
kernel_elf-term_i386_pc_vga_text.o kernel_elf-symlist.o $(TARGET_LDFLAGS)
$(kernel_elf_LDFLAGS)
kernel_elf-kern_i386_linuxbios_startup.o: kern/i386/linuxbios/startup.S
$(kern/i386/linuxbios/startup.S_DEPENDENCIES)
$(TARGET_CC) -Ikern/i386/linuxbios -I$(srcdir)/kern/i386/linuxbios
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
@@ -105,6 +108,22 @@
$(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
-include kernel_elf-kern_partition.d
+kernel_elf-kern_i386_tsc.o: kern/i386/tsc.c $(kern/i386/tsc.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
+-include kernel_elf-kern_i386_tsc.d
+
+kernel_elf-kern_i386_pit.o: kern/i386/pit.c $(kern/i386/pit.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
+-include kernel_elf-kern_i386_pit.d
+
+kernel_elf-kern_generic_rtc_get_time_ms.o: kern/generic/rtc_get_time_ms.c
$(kern/generic/rtc_get_time_ms.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
+-include kernel_elf-kern_generic_rtc_get_time_ms.d
+
+kernel_elf-kern_generic_millisleep.o: kern/generic/millisleep.c
$(kern/generic/millisleep.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
+-include kernel_elf-kern_generic_millisleep.d
+
kernel_elf-kern_env.o: kern/env.c $(kern/env.c_DEPENDENCIES)
$(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
-include kernel_elf-kern_env.d
@@ -561,7 +580,8 @@
pkglib_MODULES = _linux.mod linux.mod normal.mod \
_multiboot.mod multiboot.mod aout.mod \
play.mod cpuid.mod serial.mod ata.mod \
- memdisk.mod pci.mod lspci.mod
+ memdisk.mod pci.mod lspci.mod reboot.mod \
+ halt.mod
# For _linux.mod.
_linux_mod_SOURCES = loader/i386/pc/linux.c
@@ -1005,6 +1025,158 @@
normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
+# For reboot.mod.
+reboot_mod_SOURCES = commands/reboot.c kern/i386/reboot.c
+CLEANFILES += reboot.mod mod-reboot.o mod-reboot.c pre-reboot.o
reboot_mod-commands_reboot.o reboot_mod-kern_i386_reboot.o und-reboot.lst
+ifneq ($(reboot_mod_EXPORTS),no)
+CLEANFILES += def-reboot.lst
+DEFSYMFILES += def-reboot.lst
+endif
+MOSTLYCLEANFILES += reboot_mod-commands_reboot.d reboot_mod-kern_i386_reboot.d
+UNDSYMFILES += und-reboot.lst
+
+reboot.mod: pre-reboot.o mod-reboot.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(reboot_mod_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS)
-Wl,-r,-d -o $@ pre-reboot.o mod-reboot.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-reboot.o: $(reboot_mod_DEPENDENCIES) reboot_mod-commands_reboot.o
reboot_mod-kern_i386_reboot.o
+ -rm -f $@
+ $(TARGET_CC) $(reboot_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
reboot_mod-commands_reboot.o reboot_mod-kern_i386_reboot.o
+
+mod-reboot.o: mod-reboot.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(reboot_mod_CFLAGS)
-c -o $@ $<
+
+mod-reboot.c: moddep.lst genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'reboot' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(reboot_mod_EXPORTS),no)
+def-reboot.lst: pre-reboot.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 reboot/' > $@
+endif
+
+und-reboot.lst: pre-reboot.o
+ echo 'reboot' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+reboot_mod-commands_reboot.o: commands/reboot.c
$(commands/reboot.c_DEPENDENCIES)
+ $(TARGET_CC) -Icommands -I$(srcdir)/commands $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -MD -c -o $@ $<
+-include reboot_mod-commands_reboot.d
+
+CLEANFILES += cmd-reboot_mod-commands_reboot.lst
fs-reboot_mod-commands_reboot.lst partmap-reboot_mod-commands_reboot.lst
+COMMANDFILES += cmd-reboot_mod-commands_reboot.lst
+FSFILES += fs-reboot_mod-commands_reboot.lst
+PARTMAPFILES += partmap-reboot_mod-commands_reboot.lst
+
+cmd-reboot_mod-commands_reboot.lst: commands/reboot.c
$(commands/reboot.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh reboot > $@ || (rm -f $@; exit 1)
+
+fs-reboot_mod-commands_reboot.lst: commands/reboot.c
$(commands/reboot.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh reboot > $@ || (rm -f $@; exit 1)
+
+partmap-reboot_mod-commands_reboot.lst: commands/reboot.c
$(commands/reboot.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh reboot > $@ || (rm -f $@; exit 1)
+
+
+reboot_mod-kern_i386_reboot.o: kern/i386/reboot.c
$(kern/i386/reboot.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -MD -c -o $@ $<
+-include reboot_mod-kern_i386_reboot.d
+
+CLEANFILES += cmd-reboot_mod-kern_i386_reboot.lst
fs-reboot_mod-kern_i386_reboot.lst partmap-reboot_mod-kern_i386_reboot.lst
+COMMANDFILES += cmd-reboot_mod-kern_i386_reboot.lst
+FSFILES += fs-reboot_mod-kern_i386_reboot.lst
+PARTMAPFILES += partmap-reboot_mod-kern_i386_reboot.lst
+
+cmd-reboot_mod-kern_i386_reboot.lst: kern/i386/reboot.c
$(kern/i386/reboot.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh reboot > $@ || (rm -f $@; exit 1)
+
+fs-reboot_mod-kern_i386_reboot.lst: kern/i386/reboot.c
$(kern/i386/reboot.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh reboot > $@ || (rm -f $@; exit 1)
+
+partmap-reboot_mod-kern_i386_reboot.lst: kern/i386/reboot.c
$(kern/i386/reboot.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(reboot_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh reboot > $@ || (rm -f $@; exit 1)
+
+
+reboot_mod_CFLAGS = $(COMMON_CFLAGS)
+reboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For halt.mod.
+halt_mod_SOURCES = commands/halt.c kern/i386/halt.c
+CLEANFILES += halt.mod mod-halt.o mod-halt.c pre-halt.o
halt_mod-commands_halt.o halt_mod-kern_i386_halt.o und-halt.lst
+ifneq ($(halt_mod_EXPORTS),no)
+CLEANFILES += def-halt.lst
+DEFSYMFILES += def-halt.lst
+endif
+MOSTLYCLEANFILES += halt_mod-commands_halt.d halt_mod-kern_i386_halt.d
+UNDSYMFILES += und-halt.lst
+
+halt.mod: pre-halt.o mod-halt.o $(TARGET_OBJ2ELF)
+ -rm -f $@
+ $(TARGET_CC) $(halt_mod_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS)
-Wl,-r,-d -o $@ pre-halt.o mod-halt.o
+ if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
+ $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
+
+pre-halt.o: $(halt_mod_DEPENDENCIES) halt_mod-commands_halt.o
halt_mod-kern_i386_halt.o
+ -rm -f $@
+ $(TARGET_CC) $(halt_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
halt_mod-commands_halt.o halt_mod-kern_i386_halt.o
+
+mod-halt.o: mod-halt.c
+ $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(halt_mod_CFLAGS) -c
-o $@ $<
+
+mod-halt.c: moddep.lst genmodsrc.sh
+ sh $(srcdir)/genmodsrc.sh 'halt' $< > $@ || (rm -f $@; exit 1)
+
+ifneq ($(halt_mod_EXPORTS),no)
+def-halt.lst: pre-halt.o
+ $(NM) -g --defined-only -P -p $< | sed 's/^\([^ ]*\).*/\1 halt/' > $@
+endif
+
+und-halt.lst: pre-halt.o
+ echo 'halt' > $@
+ $(NM) -u -P -p $< | cut -f1 -d' ' >> $@
+
+halt_mod-commands_halt.o: commands/halt.c $(commands/halt.c_DEPENDENCIES)
+ $(TARGET_CC) -Icommands -I$(srcdir)/commands $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(halt_mod_CFLAGS) -MD -c -o $@ $<
+-include halt_mod-commands_halt.d
+
+CLEANFILES += cmd-halt_mod-commands_halt.lst fs-halt_mod-commands_halt.lst
partmap-halt_mod-commands_halt.lst
+COMMANDFILES += cmd-halt_mod-commands_halt.lst
+FSFILES += fs-halt_mod-commands_halt.lst
+PARTMAPFILES += partmap-halt_mod-commands_halt.lst
+
+cmd-halt_mod-commands_halt.lst: commands/halt.c
$(commands/halt.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(halt_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh halt > $@ || (rm -f $@; exit 1)
+
+fs-halt_mod-commands_halt.lst: commands/halt.c $(commands/halt.c_DEPENDENCIES)
genfslist.sh
+ set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(halt_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh halt > $@ || (rm -f $@; exit 1)
+
+partmap-halt_mod-commands_halt.lst: commands/halt.c
$(commands/halt.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Icommands -I$(srcdir)/commands
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(halt_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh halt > $@ || (rm -f $@; exit 1)
+
+
+halt_mod-kern_i386_halt.o: kern/i386/halt.c $(kern/i386/halt.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(halt_mod_CFLAGS) -MD -c -o $@ $<
+-include halt_mod-kern_i386_halt.d
+
+CLEANFILES += cmd-halt_mod-kern_i386_halt.lst fs-halt_mod-kern_i386_halt.lst
partmap-halt_mod-kern_i386_halt.lst
+COMMANDFILES += cmd-halt_mod-kern_i386_halt.lst
+FSFILES += fs-halt_mod-kern_i386_halt.lst
+PARTMAPFILES += partmap-halt_mod-kern_i386_halt.lst
+
+cmd-halt_mod-kern_i386_halt.lst: kern/i386/halt.c
$(kern/i386/halt.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(halt_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh halt > $@ || (rm -f $@; exit 1)
+
+fs-halt_mod-kern_i386_halt.lst: kern/i386/halt.c
$(kern/i386/halt.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(halt_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh halt > $@ || (rm -f $@; exit 1)
+
+partmap-halt_mod-kern_i386_halt.lst: kern/i386/halt.c
$(kern/i386/halt.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(halt_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh halt > $@ || (rm -f $@; exit 1)
+
+
+halt_mod_CFLAGS = $(COMMON_CFLAGS)
+halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
# For serial.mod.
serial_mod_SOURCES = term/i386/pc/serial.c
CLEANFILES += serial.mod mod-serial.o mod-serial.c pre-serial.o
serial_mod-term_i386_pc_serial.o und-serial.lst
Modified: trunk/grub2/conf/i386-coreboot.rmk
===================================================================
--- trunk/grub2/conf/i386-coreboot.rmk 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/conf/i386-coreboot.rmk 2008-08-06 00:20:04 UTC (rev 1781)
@@ -99,7 +99,8 @@
pkglib_MODULES = _linux.mod linux.mod normal.mod \
_multiboot.mod multiboot.mod aout.mod \
play.mod cpuid.mod serial.mod ata.mod \
- memdisk.mod pci.mod lspci.mod
+ memdisk.mod pci.mod lspci.mod reboot.mod \
+ halt.mod
# For _linux.mod.
_linux_mod_SOURCES = loader/i386/pc/linux.c
@@ -121,6 +122,16 @@
normal_mod_ASFLAGS = $(COMMON_ASFLAGS)
normal_mod_LDFLAGS = $(COMMON_LDFLAGS)
+# For reboot.mod.
+reboot_mod_SOURCES = commands/reboot.c kern/i386/reboot.c
+reboot_mod_CFLAGS = $(COMMON_CFLAGS)
+reboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
+# For halt.mod.
+halt_mod_SOURCES = commands/halt.c kern/i386/halt.c
+halt_mod_CFLAGS = $(COMMON_CFLAGS)
+halt_mod_LDFLAGS = $(COMMON_LDFLAGS)
+
# For serial.mod.
serial_mod_SOURCES = term/i386/pc/serial.c
serial_mod_CFLAGS = $(COMMON_CFLAGS)
Modified: trunk/grub2/conf/i386-efi.mk
===================================================================
--- trunk/grub2/conf/i386-efi.mk 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/conf/i386-efi.mk 2008-08-06 00:20:04 UTC (rev 1781)
@@ -128,15 +128,15 @@
kern/i386/dl.c kern/i386/efi/init.c kern/parser.c kern/partition.c \
kern/env.c symlist.c kern/efi/efi.c kern/efi/init.c kern/efi/mm.c \
term/efi/console.c disk/efi/efidisk.c \
- kern/i386/tsc.c \
+ kern/i386/tsc.c kern/i386/pit.c \
kern/generic/rtc_get_time_ms.c \
kern/generic/millisleep.c
-CLEANFILES += kernel.mod mod-kernel.o mod-kernel.c pre-kernel.o
kernel_mod-kern_i386_efi_startup.o kernel_mod-kern_main.o
kernel_mod-kern_device.o kernel_mod-kern_disk.o kernel_mod-kern_dl.o
kernel_mod-kern_file.o kernel_mod-kern_fs.o kernel_mod-kern_err.o
kernel_mod-kern_misc.o kernel_mod-kern_mm.o kernel_mod-kern_loader.o
kernel_mod-kern_rescue.o kernel_mod-kern_term.o kernel_mod-kern_i386_dl.o
kernel_mod-kern_i386_efi_init.o kernel_mod-kern_parser.o
kernel_mod-kern_partition.o kernel_mod-kern_env.o kernel_mod-symlist.o
kernel_mod-kern_efi_efi.o kernel_mod-kern_efi_init.o kernel_mod-kern_efi_mm.o
kernel_mod-term_efi_console.o kernel_mod-disk_efi_efidisk.o
kernel_mod-kern_i386_tsc.o kernel_mod-kern_generic_rtc_get_time_ms.o
kernel_mod-kern_generic_millisleep.o und-kernel.lst
+CLEANFILES += kernel.mod mod-kernel.o mod-kernel.c pre-kernel.o
kernel_mod-kern_i386_efi_startup.o kernel_mod-kern_main.o
kernel_mod-kern_device.o kernel_mod-kern_disk.o kernel_mod-kern_dl.o
kernel_mod-kern_file.o kernel_mod-kern_fs.o kernel_mod-kern_err.o
kernel_mod-kern_misc.o kernel_mod-kern_mm.o kernel_mod-kern_loader.o
kernel_mod-kern_rescue.o kernel_mod-kern_term.o kernel_mod-kern_i386_dl.o
kernel_mod-kern_i386_efi_init.o kernel_mod-kern_parser.o
kernel_mod-kern_partition.o kernel_mod-kern_env.o kernel_mod-symlist.o
kernel_mod-kern_efi_efi.o kernel_mod-kern_efi_init.o kernel_mod-kern_efi_mm.o
kernel_mod-term_efi_console.o kernel_mod-disk_efi_efidisk.o
kernel_mod-kern_i386_tsc.o kernel_mod-kern_i386_pit.o
kernel_mod-kern_generic_rtc_get_time_ms.o kernel_mod-kern_generic_millisleep.o
und-kernel.lst
ifneq ($(kernel_mod_EXPORTS),no)
CLEANFILES += def-kernel.lst
DEFSYMFILES += def-kernel.lst
endif
-MOSTLYCLEANFILES += kernel_mod-kern_i386_efi_startup.d kernel_mod-kern_main.d
kernel_mod-kern_device.d kernel_mod-kern_disk.d kernel_mod-kern_dl.d
kernel_mod-kern_file.d kernel_mod-kern_fs.d kernel_mod-kern_err.d
kernel_mod-kern_misc.d kernel_mod-kern_mm.d kernel_mod-kern_loader.d
kernel_mod-kern_rescue.d kernel_mod-kern_term.d kernel_mod-kern_i386_dl.d
kernel_mod-kern_i386_efi_init.d kernel_mod-kern_parser.d
kernel_mod-kern_partition.d kernel_mod-kern_env.d kernel_mod-symlist.d
kernel_mod-kern_efi_efi.d kernel_mod-kern_efi_init.d kernel_mod-kern_efi_mm.d
kernel_mod-term_efi_console.d kernel_mod-disk_efi_efidisk.d
kernel_mod-kern_i386_tsc.d kernel_mod-kern_generic_rtc_get_time_ms.d
kernel_mod-kern_generic_millisleep.d
+MOSTLYCLEANFILES += kernel_mod-kern_i386_efi_startup.d kernel_mod-kern_main.d
kernel_mod-kern_device.d kernel_mod-kern_disk.d kernel_mod-kern_dl.d
kernel_mod-kern_file.d kernel_mod-kern_fs.d kernel_mod-kern_err.d
kernel_mod-kern_misc.d kernel_mod-kern_mm.d kernel_mod-kern_loader.d
kernel_mod-kern_rescue.d kernel_mod-kern_term.d kernel_mod-kern_i386_dl.d
kernel_mod-kern_i386_efi_init.d kernel_mod-kern_parser.d
kernel_mod-kern_partition.d kernel_mod-kern_env.d kernel_mod-symlist.d
kernel_mod-kern_efi_efi.d kernel_mod-kern_efi_init.d kernel_mod-kern_efi_mm.d
kernel_mod-term_efi_console.d kernel_mod-disk_efi_efidisk.d
kernel_mod-kern_i386_tsc.d kernel_mod-kern_i386_pit.d
kernel_mod-kern_generic_rtc_get_time_ms.d kernel_mod-kern_generic_millisleep.d
UNDSYMFILES += und-kernel.lst
kernel.mod: pre-kernel.o mod-kernel.o $(TARGET_OBJ2ELF)
@@ -145,9 +145,9 @@
if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f
$@; exit 1); fi
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K
_grub_mod_init -K _grub_mod_fini -R .note -R .comment $@
-pre-kernel.o: $(kernel_mod_DEPENDENCIES) kernel_mod-kern_i386_efi_startup.o
kernel_mod-kern_main.o kernel_mod-kern_device.o kernel_mod-kern_disk.o
kernel_mod-kern_dl.o kernel_mod-kern_file.o kernel_mod-kern_fs.o
kernel_mod-kern_err.o kernel_mod-kern_misc.o kernel_mod-kern_mm.o
kernel_mod-kern_loader.o kernel_mod-kern_rescue.o kernel_mod-kern_term.o
kernel_mod-kern_i386_dl.o kernel_mod-kern_i386_efi_init.o
kernel_mod-kern_parser.o kernel_mod-kern_partition.o kernel_mod-kern_env.o
kernel_mod-symlist.o kernel_mod-kern_efi_efi.o kernel_mod-kern_efi_init.o
kernel_mod-kern_efi_mm.o kernel_mod-term_efi_console.o
kernel_mod-disk_efi_efidisk.o kernel_mod-kern_i386_tsc.o
kernel_mod-kern_generic_rtc_get_time_ms.o kernel_mod-kern_generic_millisleep.o
+pre-kernel.o: $(kernel_mod_DEPENDENCIES) kernel_mod-kern_i386_efi_startup.o
kernel_mod-kern_main.o kernel_mod-kern_device.o kernel_mod-kern_disk.o
kernel_mod-kern_dl.o kernel_mod-kern_file.o kernel_mod-kern_fs.o
kernel_mod-kern_err.o kernel_mod-kern_misc.o kernel_mod-kern_mm.o
kernel_mod-kern_loader.o kernel_mod-kern_rescue.o kernel_mod-kern_term.o
kernel_mod-kern_i386_dl.o kernel_mod-kern_i386_efi_init.o
kernel_mod-kern_parser.o kernel_mod-kern_partition.o kernel_mod-kern_env.o
kernel_mod-symlist.o kernel_mod-kern_efi_efi.o kernel_mod-kern_efi_init.o
kernel_mod-kern_efi_mm.o kernel_mod-term_efi_console.o
kernel_mod-disk_efi_efidisk.o kernel_mod-kern_i386_tsc.o
kernel_mod-kern_i386_pit.o kernel_mod-kern_generic_rtc_get_time_ms.o
kernel_mod-kern_generic_millisleep.o
-rm -f $@
- $(TARGET_CC) $(kernel_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
kernel_mod-kern_i386_efi_startup.o kernel_mod-kern_main.o
kernel_mod-kern_device.o kernel_mod-kern_disk.o kernel_mod-kern_dl.o
kernel_mod-kern_file.o kernel_mod-kern_fs.o kernel_mod-kern_err.o
kernel_mod-kern_misc.o kernel_mod-kern_mm.o kernel_mod-kern_loader.o
kernel_mod-kern_rescue.o kernel_mod-kern_term.o kernel_mod-kern_i386_dl.o
kernel_mod-kern_i386_efi_init.o kernel_mod-kern_parser.o
kernel_mod-kern_partition.o kernel_mod-kern_env.o kernel_mod-symlist.o
kernel_mod-kern_efi_efi.o kernel_mod-kern_efi_init.o kernel_mod-kern_efi_mm.o
kernel_mod-term_efi_console.o kernel_mod-disk_efi_efidisk.o
kernel_mod-kern_i386_tsc.o kernel_mod-kern_generic_rtc_get_time_ms.o
kernel_mod-kern_generic_millisleep.o
+ $(TARGET_CC) $(kernel_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@
kernel_mod-kern_i386_efi_startup.o kernel_mod-kern_main.o
kernel_mod-kern_device.o kernel_mod-kern_disk.o kernel_mod-kern_dl.o
kernel_mod-kern_file.o kernel_mod-kern_fs.o kernel_mod-kern_err.o
kernel_mod-kern_misc.o kernel_mod-kern_mm.o kernel_mod-kern_loader.o
kernel_mod-kern_rescue.o kernel_mod-kern_term.o kernel_mod-kern_i386_dl.o
kernel_mod-kern_i386_efi_init.o kernel_mod-kern_parser.o
kernel_mod-kern_partition.o kernel_mod-kern_env.o kernel_mod-symlist.o
kernel_mod-kern_efi_efi.o kernel_mod-kern_efi_init.o kernel_mod-kern_efi_mm.o
kernel_mod-term_efi_console.o kernel_mod-disk_efi_efidisk.o
kernel_mod-kern_i386_tsc.o kernel_mod-kern_i386_pit.o
kernel_mod-kern_generic_rtc_get_time_ms.o kernel_mod-kern_generic_millisleep.o
mod-kernel.o: mod-kernel.c
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS)
-c -o $@ $<
@@ -639,6 +639,25 @@
set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh kernel > $@ || (rm -f $@; exit 1)
+kernel_mod-kern_i386_pit.o: kern/i386/pit.c $(kern/i386/pit.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -MD -c -o $@ $<
+-include kernel_mod-kern_i386_pit.d
+
+CLEANFILES += cmd-kernel_mod-kern_i386_pit.lst fs-kernel_mod-kern_i386_pit.lst
partmap-kernel_mod-kern_i386_pit.lst
+COMMANDFILES += cmd-kernel_mod-kern_i386_pit.lst
+FSFILES += fs-kernel_mod-kern_i386_pit.lst
+PARTMAPFILES += partmap-kernel_mod-kern_i386_pit.lst
+
+cmd-kernel_mod-kern_i386_pit.lst: kern/i386/pit.c
$(kern/i386/pit.c_DEPENDENCIES) gencmdlist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $< | sh
$(srcdir)/gencmdlist.sh kernel > $@ || (rm -f $@; exit 1)
+
+fs-kernel_mod-kern_i386_pit.lst: kern/i386/pit.c
$(kern/i386/pit.c_DEPENDENCIES) genfslist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $< | sh
$(srcdir)/genfslist.sh kernel > $@ || (rm -f $@; exit 1)
+
+partmap-kernel_mod-kern_i386_pit.lst: kern/i386/pit.c
$(kern/i386/pit.c_DEPENDENCIES) genpartmaplist.sh
+ set -e; $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $< | sh
$(srcdir)/genpartmaplist.sh kernel > $@ || (rm -f $@; exit 1)
+
+
kernel_mod-kern_generic_rtc_get_time_ms.o: kern/generic/rtc_get_time_ms.c
$(kern/generic/rtc_get_time_ms.c_DEPENDENCIES)
$(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -MD -c -o $@ $<
-include kernel_mod-kern_generic_rtc_get_time_ms.d
Modified: trunk/grub2/conf/i386-pc.mk
===================================================================
--- trunk/grub2/conf/i386-pc.mk 2008-08-05 20:24:00 UTC (rev 1780)
+++ trunk/grub2/conf/i386-pc.mk 2008-08-06 00:20:04 UTC (rev 1781)
@@ -110,19 +110,19 @@
kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
kern/time.c \
kern/i386/dl.c kern/i386/pc/init.c kern/parser.c kern/partition.c \
- kern/i386/tsc.c \
+ kern/i386/tsc.c kern/i386/pit.c \
kern/generic/rtc_get_time_ms.c \
kern/generic/millisleep.c \
kern/env.c \
term/i386/pc/console.c \
symlist.c
-CLEANFILES += kernel.img kernel.exec kernel_img-kern_i386_pc_startup.o
kernel_img-kern_main.o kernel_img-kern_device.o kernel_img-kern_disk.o
kernel_img-kern_dl.o kernel_img-kern_file.o kernel_img-kern_fs.o
kernel_img-kern_err.o kernel_img-kern_misc.o kernel_img-kern_mm.o
kernel_img-kern_loader.o kernel_img-kern_rescue.o kernel_img-kern_term.o
kernel_img-kern_time.o kernel_img-kern_i386_dl.o kernel_img-kern_i386_pc_init.o
kernel_img-kern_parser.o kernel_img-kern_partition.o kernel_img-kern_i386_tsc.o
kernel_img-kern_generic_rtc_get_time_ms.o kernel_img-kern_generic_millisleep.o
kernel_img-kern_env.o kernel_img-term_i386_pc_console.o kernel_img-symlist.o
-MOSTLYCLEANFILES += kernel_img-kern_i386_pc_startup.d kernel_img-kern_main.d
kernel_img-kern_device.d kernel_img-kern_disk.d kernel_img-kern_dl.d
kernel_img-kern_file.d kernel_img-kern_fs.d kernel_img-kern_err.d
kernel_img-kern_misc.d kernel_img-kern_mm.d kernel_img-kern_loader.d
kernel_img-kern_rescue.d kernel_img-kern_term.d kernel_img-kern_time.d
kernel_img-kern_i386_dl.d kernel_img-kern_i386_pc_init.d
kernel_img-kern_parser.d kernel_img-kern_partition.d kernel_img-kern_i386_tsc.d
kernel_img-kern_generic_rtc_get_time_ms.d kernel_img-kern_generic_millisleep.d
kernel_img-kern_env.d kernel_img-term_i386_pc_console.d kernel_img-symlist.d
+CLEANFILES += kernel.img kernel.exec kernel_img-kern_i386_pc_startup.o
kernel_img-kern_main.o kernel_img-kern_device.o kernel_img-kern_disk.o
kernel_img-kern_dl.o kernel_img-kern_file.o kernel_img-kern_fs.o
kernel_img-kern_err.o kernel_img-kern_misc.o kernel_img-kern_mm.o
kernel_img-kern_loader.o kernel_img-kern_rescue.o kernel_img-kern_term.o
kernel_img-kern_time.o kernel_img-kern_i386_dl.o kernel_img-kern_i386_pc_init.o
kernel_img-kern_parser.o kernel_img-kern_partition.o kernel_img-kern_i386_tsc.o
kernel_img-kern_i386_pit.o kernel_img-kern_generic_rtc_get_time_ms.o
kernel_img-kern_generic_millisleep.o kernel_img-kern_env.o
kernel_img-term_i386_pc_console.o kernel_img-symlist.o
+MOSTLYCLEANFILES += kernel_img-kern_i386_pc_startup.d kernel_img-kern_main.d
kernel_img-kern_device.d kernel_img-kern_disk.d kernel_img-kern_dl.d
kernel_img-kern_file.d kernel_img-kern_fs.d kernel_img-kern_err.d
kernel_img-kern_misc.d kernel_img-kern_mm.d kernel_img-kern_loader.d
kernel_img-kern_rescue.d kernel_img-kern_term.d kernel_img-kern_time.d
kernel_img-kern_i386_dl.d kernel_img-kern_i386_pc_init.d
kernel_img-kern_parser.d kernel_img-kern_partition.d kernel_img-kern_i386_tsc.d
kernel_img-kern_i386_pit.d kernel_img-kern_generic_rtc_get_time_ms.d
kernel_img-kern_generic_millisleep.d kernel_img-kern_env.d
kernel_img-term_i386_pc_console.d kernel_img-symlist.d
kernel.img: kernel.exec
$(OBJCOPY) -O binary -R .note -R .comment -R .note.gnu.build-id $< $@
-kernel.exec: kernel_img-kern_i386_pc_startup.o kernel_img-kern_main.o
kernel_img-kern_device.o kernel_img-kern_disk.o kernel_img-kern_dl.o
kernel_img-kern_file.o kernel_img-kern_fs.o kernel_img-kern_err.o
kernel_img-kern_misc.o kernel_img-kern_mm.o kernel_img-kern_loader.o
kernel_img-kern_rescue.o kernel_img-kern_term.o kernel_img-kern_time.o
kernel_img-kern_i386_dl.o kernel_img-kern_i386_pc_init.o
kernel_img-kern_parser.o kernel_img-kern_partition.o kernel_img-kern_i386_tsc.o
kernel_img-kern_generic_rtc_get_time_ms.o kernel_img-kern_generic_millisleep.o
kernel_img-kern_env.o kernel_img-term_i386_pc_console.o kernel_img-symlist.o
+kernel.exec: kernel_img-kern_i386_pc_startup.o kernel_img-kern_main.o
kernel_img-kern_device.o kernel_img-kern_disk.o kernel_img-kern_dl.o
kernel_img-kern_file.o kernel_img-kern_fs.o kernel_img-kern_err.o
kernel_img-kern_misc.o kernel_img-kern_mm.o kernel_img-kern_loader.o
kernel_img-kern_rescue.o kernel_img-kern_term.o kernel_img-kern_time.o
kernel_img-kern_i386_dl.o kernel_img-kern_i386_pc_init.o
kernel_img-kern_parser.o kernel_img-kern_partition.o kernel_img-kern_i386_tsc.o
kernel_img-kern_i386_pit.o kernel_img-kern_generic_rtc_get_time_ms.o
kernel_img-kern_generic_millisleep.o kernel_img-kern_env.o
kernel_img-term_i386_pc_console.o kernel_img-symlist.o
$(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(kernel_img_LDFLAGS)
kernel_img-kern_i386_pc_startup.o: kern/i386/pc/startup.S
$(kern/i386/pc/startup.S_DEPENDENCIES)
@@ -201,6 +201,10 @@
$(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_img_CFLAGS) -MD -c -o $@ $<
-include kernel_img-kern_i386_tsc.d
+kernel_img-kern_i386_pit.o: kern/i386/pit.c $(kern/i386/pit.c_DEPENDENCIES)
+ $(TARGET_CC) -Ikern/i386 -I$(srcdir)/kern/i386 $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_img_CFLAGS) -MD -c -o $@ $<
+-include kernel_img-kern_i386_pit.d
+
kernel_img-kern_generic_rtc_get_time_ms.o: kern/generic/rtc_get_time_ms.c
$(kern/generic/rtc_get_time_ms.c_DEPENDENCIES)
$(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic $(TARGET_CPPFLAGS)
$(TARGET_CFLAGS) $(kernel_img_CFLAGS) -MD -c -o $@ $<
-include kernel_img-kern_generic_rtc_get_time_ms.d
Added: trunk/grub2/include/grub/i386/at_keyboard.h
===================================================================
--- trunk/grub2/include/grub/i386/at_keyboard.h (rev 0)
+++ trunk/grub2/include/grub/i386/at_keyboard.h 2008-08-06 00:20:04 UTC (rev
1781)
@@ -0,0 +1,57 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 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_CPU_AT_KEYBOARD_HEADER
+#define GRUB_CPU_AT_KEYBOARD_HEADER 1
+
+#include <grub/machine/machine.h>
+
+#define SHIFT_L 0x2a
+#define SHIFT_R 0x36
+#define CTRL 0x1d
+#define ALT 0x38
+#define CAPS_LOCK 0x3a
+
+#define KEYBOARD_REG_DATA 0x60
+#define KEYBOARD_REG_STATUS 0x64
+
+/* Used for sending commands to the controller. */
+#define KEYBOARD_COMMAND_ISREADY(x) !((x) & 0x02)
+#define KEYBOARD_COMMAND_READ 0x20
+#define KEYBOARD_COMMAND_WRITE 0x60
+#define KEYBOARD_COMMAND_REBOOT 0xfe
+
+#define KEYBOARD_SCANCODE_SET1 0x40
+
+#define KEYBOARD_ISMAKE(x) !((x) & 0x80)
+#define KEYBOARD_ISREADY(x) (((x) & 0x01) == 0)
+#define KEYBOARD_SCANCODE(x) ((x) & 0x7f)
+
+#ifdef GRUB_MACHINE_IEEE1275
+#define OLPC_UP GRUB_TERM_UP
+#define OLPC_DOWN GRUB_TERM_DOWN
+#define OLPC_LEFT GRUB_TERM_LEFT
+#define OLPC_RIGHT GRUB_TERM_RIGHT
+#else
+#define OLPC_UP '\0'
+#define OLPC_DOWN '\0'
+#define OLPC_LEFT '\0'
+#define OLPC_RIGHT '\0'
+#endif
+
+#endif
Added: trunk/grub2/include/grub/i386/halt.h
===================================================================
--- trunk/grub2/include/grub/i386/halt.h (rev 0)
+++ trunk/grub2/include/grub/i386/halt.h 2008-08-06 00:20:04 UTC (rev
1781)
@@ -0,0 +1,19 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 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/>.
+ */
+
+extern void grub_halt (void);
Added: trunk/grub2/include/grub/i386/reboot.h
===================================================================
--- trunk/grub2/include/grub/i386/reboot.h (rev 0)
+++ trunk/grub2/include/grub/i386/reboot.h 2008-08-06 00:20:04 UTC (rev
1781)
@@ -0,0 +1,19 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 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/>.
+ */
+
+extern void grub_reboot (void);
Added: trunk/grub2/kern/i386/halt.c
===================================================================
--- trunk/grub2/kern/i386/halt.c (rev 0)
+++ trunk/grub2/kern/i386/halt.c 2008-08-06 00:20:04 UTC (rev 1781)
@@ -0,0 +1,42 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 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/>.
+ */
+
+#include <grub/cpu/io.h>
+#include <grub/cpu/halt.h>
+#include <grub/misc.h>
+
+const char bochs_shutdown[] = "Shutdown";
+
+void
+grub_halt (void)
+{
+ int i;
+
+ /* Disable interrupts. */
+ __asm__ __volatile__ ("cli");
+
+ /* Bochs, QEMU, etc. */
+ for (i = 0; i < sizeof (bochs_shutdown) - 1; i++)
+ grub_outb (bochs_shutdown[i], 0x8900);
+
+ grub_printf ("GRUB doesn't know how to halt this machine yet!\n");
+
+ /* In order to return we'd have to check what the previous status of IF
+ flag was. But user most likely doesn't want to return anyway ... */
+ grub_stop ();
+}
Added: trunk/grub2/kern/i386/reboot.c
===================================================================
--- trunk/grub2/kern/i386/reboot.c (rev 0)
+++ trunk/grub2/kern/i386/reboot.c 2008-08-06 00:20:04 UTC (rev 1781)
@@ -0,0 +1,31 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 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/>.
+ */
+
+#include <grub/cpu/io.h>
+#include <grub/cpu/at_keyboard.h>
+#include <grub/misc.h>
+
+void
+grub_reboot (void)
+{
+ /* Use the keyboard controller to reboot. That's what keyboards were
+ designed for, isn't it? */
+ grub_outb (KEYBOARD_COMMAND_REBOOT, KEYBOARD_REG_STATUS);
+
+ grub_printf ("GRUB doesn't know how to reboot this machine yet!\n");
+}
Modified: trunk/grub2/term/i386/pc/at_keyboard.c
===================================================================
--- trunk/grub2/term/i386/pc/at_keyboard.c 2008-08-05 20:24:00 UTC (rev
1780)
+++ trunk/grub2/term/i386/pc/at_keyboard.c 2008-08-06 00:20:04 UTC (rev
1781)
@@ -17,16 +17,12 @@
*/
#include <grub/machine/console.h>
-#include <grub/machine/machine.h>
+#include <grub/cpu/at_keyboard.h>
#include <grub/cpu/io.h>
#include <grub/misc.h>
#include <grub/term.h>
-#define SHIFT_L 0x2a
-#define SHIFT_R 0x36
-#define CTRL 0x1d
-#define ALT 0x38
-#define CAPS_LOCK 0x3a
+static short at_keyboard_status = 0;
#define KEYBOARD_STATUS_SHIFT_L (1 << 0)
#define KEYBOARD_STATUS_SHIFT_R (1 << 1)
@@ -36,34 +32,6 @@
#define KEYBOARD_STATUS_CTRL_R (1 << 5)
#define KEYBOARD_STATUS_CAPS_LOCK (1 << 6)
-#define KEYBOARD_REG_DATA 0x60
-#define KEYBOARD_REG_STATUS 0x64
-
-/* Used for sending commands to the controller. */
-#define KEYBOARD_COMMAND_ISREADY(x) !((x) & 0x02)
-#define KEYBOARD_COMMAND_READ 0x20
-#define KEYBOARD_COMMAND_WRITE 0x60
-
-#define KEYBOARD_SCANCODE_SET1 0x40
-
-#define KEYBOARD_ISMAKE(x) !((x) & 0x80)
-#define KEYBOARD_ISREADY(x) (((x) & 0x01) == 0)
-#define KEYBOARD_SCANCODE(x) ((x) & 0x7f)
-
-static short at_keyboard_status = 0;
-
-#ifdef GRUB_MACHINE_IEEE1275
-#define OLPC_UP GRUB_TERM_UP
-#define OLPC_DOWN GRUB_TERM_DOWN
-#define OLPC_LEFT GRUB_TERM_LEFT
-#define OLPC_RIGHT GRUB_TERM_RIGHT
-#else
-#define OLPC_UP '\0'
-#define OLPC_DOWN '\0'
-#define OLPC_LEFT '\0'
-#define OLPC_RIGHT '\0'
-#endif
-
static char keyboard_map[128] =
{
'\0', GRUB_TERM_ESC, '1', '2', '3', '4', '5', '6',
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [1781] 2008-08-06 Robert Millan <address@hidden>,
Robert Millan <=