commit-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[1775] Urgh, and now actually add the files :-)


From: Marco Gerards
Subject: [1775] Urgh, and now actually add the files :-)
Date: Tue, 05 Aug 2008 12:26:30 +0000

Revision: 1775
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1775
Author:   marco_g
Date:     2008-08-05 12:26:29 +0000 (Tue, 05 Aug 2008)

Log Message:
-----------
Urgh, and now actually add the files :-)

Modified Paths:
--------------
    trunk/grub2/conf/i386-coreboot.mk
    trunk/grub2/conf/i386-efi.mk
    trunk/grub2/conf/i386-ieee1275.mk
    trunk/grub2/conf/i386-pc.mk
    trunk/grub2/conf/powerpc-ieee1275.mk
    trunk/grub2/conf/sparc64-ieee1275.mk

Added Paths:
-----------
    trunk/grub2/include/grub/i386/tsc.h
    trunk/grub2/kern/generic/
    trunk/grub2/kern/generic/millisleep.c
    trunk/grub2/kern/generic/rtc_get_time_ms.c
    trunk/grub2/kern/i386/tsc.c

Property Changed:
----------------
    trunk/grub2/


Property changes on: trunk/grub2
___________________________________________________________________
Name: bzr:revision-info
   + 
Name: bzr:revision-id:v3-single1-dHJ1bmsvZ3J1YjI.
   + 

Modified: trunk/grub2/conf/i386-coreboot.mk
===================================================================
--- trunk/grub2/conf/i386-coreboot.mk   2008-08-05 11:54:37 UTC (rev 1774)
+++ trunk/grub2/conf/i386-coreboot.mk   2008-08-05 12:26:29 UTC (rev 1775)
@@ -17,16 +17,17 @@
        kern/main.c kern/device.c \
        kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
        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/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_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_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_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
 
-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_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_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_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-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 $@ $<
@@ -88,6 +89,10 @@
        $(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
 -include kernel_elf-kern_term.d
 
+kernel_elf-kern_time.o: kern/time.c $(kern/time.c_DEPENDENCIES)
+       $(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
+-include kernel_elf-kern_time.d
+
 kernel_elf-kern_i386_dl.o: kern/i386/dl.c $(kern/i386/dl.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_dl.d

Modified: trunk/grub2/conf/i386-efi.mk
===================================================================
--- trunk/grub2/conf/i386-efi.mk        2008-08-05 11:54:37 UTC (rev 1774)
+++ trunk/grub2/conf/i386-efi.mk        2008-08-05 12:26:29 UTC (rev 1775)
@@ -127,13 +127,16 @@
        kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
        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
-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 und-kernel.lst
+       term/efi/console.c disk/efi/efidisk.c \
+       kern/i386/tsc.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
 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
+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
 UNDSYMFILES += und-kernel.lst
 
 kernel.mod: pre-kernel.o mod-kernel.o $(TARGET_OBJ2ELF)
@@ -142,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
+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
        -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
+       $(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
 
 mod-kernel.o: mod-kernel.c
        $(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) 
-c -o $@ $<
@@ -617,6 +620,63 @@
        set -e;           $(TARGET_CC) -Idisk/efi -I$(srcdir)/disk/efi 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $<     | sh 
$(srcdir)/genpartmaplist.sh kernel > $@ || (rm -f $@; exit 1)
 
 
+kernel_mod-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_mod_CFLAGS) -MD -c -o $@ $<
+-include kernel_mod-kern_i386_tsc.d
+
+CLEANFILES += cmd-kernel_mod-kern_i386_tsc.lst fs-kernel_mod-kern_i386_tsc.lst 
partmap-kernel_mod-kern_i386_tsc.lst
+COMMANDFILES += cmd-kernel_mod-kern_i386_tsc.lst
+FSFILES += fs-kernel_mod-kern_i386_tsc.lst
+PARTMAPFILES += partmap-kernel_mod-kern_i386_tsc.lst
+
+cmd-kernel_mod-kern_i386_tsc.lst: kern/i386/tsc.c 
$(kern/i386/tsc.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_tsc.lst: kern/i386/tsc.c 
$(kern/i386/tsc.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_tsc.lst: kern/i386/tsc.c 
$(kern/i386/tsc.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
+
+CLEANFILES += cmd-kernel_mod-kern_generic_rtc_get_time_ms.lst 
fs-kernel_mod-kern_generic_rtc_get_time_ms.lst 
partmap-kernel_mod-kern_generic_rtc_get_time_ms.lst
+COMMANDFILES += cmd-kernel_mod-kern_generic_rtc_get_time_ms.lst
+FSFILES += fs-kernel_mod-kern_generic_rtc_get_time_ms.lst
+PARTMAPFILES += partmap-kernel_mod-kern_generic_rtc_get_time_ms.lst
+
+cmd-kernel_mod-kern_generic_rtc_get_time_ms.lst: 
kern/generic/rtc_get_time_ms.c $(kern/generic/rtc_get_time_ms.c_DEPENDENCIES) 
gencmdlist.sh
+       set -e;           $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $<     | sh 
$(srcdir)/gencmdlist.sh kernel > $@ || (rm -f $@; exit 1)
+
+fs-kernel_mod-kern_generic_rtc_get_time_ms.lst: kern/generic/rtc_get_time_ms.c 
$(kern/generic/rtc_get_time_ms.c_DEPENDENCIES) genfslist.sh
+       set -e;           $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $<     | sh 
$(srcdir)/genfslist.sh kernel > $@ || (rm -f $@; exit 1)
+
+partmap-kernel_mod-kern_generic_rtc_get_time_ms.lst: 
kern/generic/rtc_get_time_ms.c $(kern/generic/rtc_get_time_ms.c_DEPENDENCIES) 
genpartmaplist.sh
+       set -e;           $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $<     | sh 
$(srcdir)/genpartmaplist.sh kernel > $@ || (rm -f $@; exit 1)
+
+
+kernel_mod-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_mod_CFLAGS) -MD -c -o $@ $<
+-include kernel_mod-kern_generic_millisleep.d
+
+CLEANFILES += cmd-kernel_mod-kern_generic_millisleep.lst 
fs-kernel_mod-kern_generic_millisleep.lst 
partmap-kernel_mod-kern_generic_millisleep.lst
+COMMANDFILES += cmd-kernel_mod-kern_generic_millisleep.lst
+FSFILES += fs-kernel_mod-kern_generic_millisleep.lst
+PARTMAPFILES += partmap-kernel_mod-kern_generic_millisleep.lst
+
+cmd-kernel_mod-kern_generic_millisleep.lst: kern/generic/millisleep.c 
$(kern/generic/millisleep.c_DEPENDENCIES) gencmdlist.sh
+       set -e;           $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $<     | sh 
$(srcdir)/gencmdlist.sh kernel > $@ || (rm -f $@; exit 1)
+
+fs-kernel_mod-kern_generic_millisleep.lst: kern/generic/millisleep.c 
$(kern/generic/millisleep.c_DEPENDENCIES) genfslist.sh
+       set -e;           $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $<     | sh 
$(srcdir)/genfslist.sh kernel > $@ || (rm -f $@; exit 1)
+
+partmap-kernel_mod-kern_generic_millisleep.lst: kern/generic/millisleep.c 
$(kern/generic/millisleep.c_DEPENDENCIES) genpartmaplist.sh
+       set -e;           $(TARGET_CC) -Ikern/generic -I$(srcdir)/kern/generic 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_mod_CFLAGS) -E $<     | sh 
$(srcdir)/genpartmaplist.sh kernel > $@ || (rm -f $@; exit 1)
+
+
 kernel_mod_HEADERS = arg.h boot.h cache.h device.h disk.h dl.h elf.h elfload.h 
\
        env.h err.h file.h fs.h kernel.h loader.h misc.h mm.h net.h parser.h \
        partition.h pc_partition.h rescue.h symbol.h term.h time.h types.h \

Modified: trunk/grub2/conf/i386-ieee1275.mk
===================================================================
--- trunk/grub2/conf/i386-ieee1275.mk   2008-08-05 11:54:37 UTC (rev 1774)
+++ trunk/grub2/conf/i386-ieee1275.mk   2008-08-05 12:26:29 UTC (rev 1775)
@@ -20,15 +20,16 @@
        kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
        kern/i386/dl.c kern/parser.c kern/partition.c \
        kern/env.c \
+       kern/generic/millisleep.c \
        kern/ieee1275/ieee1275.c \
        term/ieee1275/ofconsole.c term/i386/pc/at_keyboard.c \
        disk/ieee1275/ofdisk.c \
        symlist.c
-CLEANFILES += kernel.elf kernel_elf-kern_i386_ieee1275_startup.o 
kernel_elf-kern_i386_ieee1275_init.o kernel_elf-kern_ieee1275_init.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_openfw.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_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-term_ieee1275_ofconsole.o kernel_elf-term_i386_pc_at_keyboard.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-symlist.o
-MOSTLYCLEANFILES += kernel_elf-kern_i386_ieee1275_startup.d 
kernel_elf-kern_i386_ieee1275_init.d kernel_elf-kern_ieee1275_init.d 
kernel_elf-kern_ieee1275_cmain.d kernel_elf-kern_ieee1275_openfw.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_i386_dl.d kernel_elf-kern_parser.d kernel_elf-kern_partition.d 
kernel_elf-kern_env.d kernel_elf-kern_ieee1275_ieee1275.d 
kernel_elf-term_ieee1275_ofconsole.d kernel_elf-term_i386_pc_at_keyboard.d 
kernel_elf-disk_ieee1275_ofdisk.d kernel_elf-symlist.d
+CLEANFILES += kernel.elf kernel_elf-kern_i386_ieee1275_startup.o 
kernel_elf-kern_i386_ieee1275_init.o kernel_elf-kern_ieee1275_init.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_openfw.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_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_generic_millisleep.o 
kernel_elf-kern_ieee1275_ieee1275.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-term_i386_pc_at_keyboard.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-symlist.o
+MOSTLYCLEANFILES += kernel_elf-kern_i386_ieee1275_startup.d 
kernel_elf-kern_i386_ieee1275_init.d kernel_elf-kern_ieee1275_init.d 
kernel_elf-kern_ieee1275_cmain.d kernel_elf-kern_ieee1275_openfw.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_i386_dl.d kernel_elf-kern_parser.d kernel_elf-kern_partition.d 
kernel_elf-kern_env.d kernel_elf-kern_generic_millisleep.d 
kernel_elf-kern_ieee1275_ieee1275.d kernel_elf-term_ieee1275_ofconsole.d 
kernel_elf-term_i386_pc_at_keyboard.d kernel_elf-disk_ieee1275_ofdisk.d 
kernel_elf-symlist.d
 
-kernel.elf: $(kernel_elf_DEPENDENCIES) kernel_elf-kern_i386_ieee1275_startup.o 
kernel_elf-kern_i386_ieee1275_init.o kernel_elf-kern_ieee1275_init.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_openfw.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_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-term_ieee1275_ofconsole.o kernel_elf-term_i386_pc_at_keyboard.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-symlist.o
-       $(TARGET_CC) -o $@ kernel_elf-kern_i386_ieee1275_startup.o 
kernel_elf-kern_i386_ieee1275_init.o kernel_elf-kern_ieee1275_init.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_openfw.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_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-term_ieee1275_ofconsole.o kernel_elf-term_i386_pc_at_keyboard.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-symlist.o $(TARGET_LDFLAGS) 
$(kernel_elf_LDFLAGS)
+kernel.elf: $(kernel_elf_DEPENDENCIES) kernel_elf-kern_i386_ieee1275_startup.o 
kernel_elf-kern_i386_ieee1275_init.o kernel_elf-kern_ieee1275_init.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_openfw.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_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_generic_millisleep.o 
kernel_elf-kern_ieee1275_ieee1275.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-term_i386_pc_at_keyboard.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-symlist.o
+       $(TARGET_CC) -o $@ kernel_elf-kern_i386_ieee1275_startup.o 
kernel_elf-kern_i386_ieee1275_init.o kernel_elf-kern_ieee1275_init.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_openfw.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_i386_dl.o kernel_elf-kern_parser.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_generic_millisleep.o 
kernel_elf-kern_ieee1275_ieee1275.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-term_i386_pc_at_keyboard.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-symlist.o $(TARGET_LDFLAGS) $(kernel_elf_LDFLAGS)
 
 kernel_elf-kern_i386_ieee1275_startup.o: kern/i386/ieee1275/startup.S 
$(kern/i386/ieee1275/startup.S_DEPENDENCIES)
        $(TARGET_CC) -Ikern/i386/ieee1275 -I$(srcdir)/kern/i386/ieee1275 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
@@ -114,6 +115,10 @@
        $(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
 -include kernel_elf-kern_env.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_ieee1275_ieee1275.o: kern/ieee1275/ieee1275.c 
$(kern/ieee1275/ieee1275.c_DEPENDENCIES)
        $(TARGET_CC) -Ikern/ieee1275 -I$(srcdir)/kern/ieee1275 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
 -include kernel_elf-kern_ieee1275_ieee1275.d

Modified: trunk/grub2/conf/i386-pc.mk
===================================================================
--- trunk/grub2/conf/i386-pc.mk 2008-08-05 11:54:37 UTC (rev 1774)
+++ trunk/grub2/conf/i386-pc.mk 2008-08-05 12:26:29 UTC (rev 1775)
@@ -108,17 +108,21 @@
 kernel_img_SOURCES = kern/i386/pc/startup.S kern/main.c kern/device.c \
        kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
        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/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_i386_dl.o kernel_img-kern_i386_pc_init.o 
kernel_img-kern_parser.o kernel_img-kern_partition.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_i386_dl.d 
kernel_img-kern_i386_pc_init.d kernel_img-kern_parser.d 
kernel_img-kern_partition.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_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
 
 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_i386_dl.o 
kernel_img-kern_i386_pc_init.o kernel_img-kern_parser.o 
kernel_img-kern_partition.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_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)
@@ -173,6 +177,10 @@
        $(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS)  
$(TARGET_CFLAGS) $(kernel_img_CFLAGS) -MD -c -o $@ $<
 -include kernel_img-kern_term.d
 
+kernel_img-kern_time.o: kern/time.c $(kern/time.c_DEPENDENCIES)
+       $(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS)  
$(TARGET_CFLAGS) $(kernel_img_CFLAGS) -MD -c -o $@ $<
+-include kernel_img-kern_time.d
+
 kernel_img-kern_i386_dl.o: kern/i386/dl.c $(kern/i386/dl.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_dl.d
@@ -189,6 +197,18 @@
        $(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS)  
$(TARGET_CFLAGS) $(kernel_img_CFLAGS) -MD -c -o $@ $<
 -include kernel_img-kern_partition.d
 
+kernel_img-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_img_CFLAGS) -MD -c -o $@ $<
+-include kernel_img-kern_i386_tsc.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
+
+kernel_img-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_img_CFLAGS) -MD -c -o $@ $<
+-include kernel_img-kern_generic_millisleep.d
+
 kernel_img-kern_env.o: kern/env.c $(kern/env.c_DEPENDENCIES)
        $(TARGET_CC) -Ikern -I$(srcdir)/kern $(TARGET_CPPFLAGS)  
$(TARGET_CFLAGS) $(kernel_img_CFLAGS) -MD -c -o $@ $<
 -include kernel_img-kern_env.d

Modified: trunk/grub2/conf/powerpc-ieee1275.mk
===================================================================
--- trunk/grub2/conf/powerpc-ieee1275.mk        2008-08-05 11:54:37 UTC (rev 
1774)
+++ trunk/grub2/conf/powerpc-ieee1275.mk        2008-08-05 12:26:29 UTC (rev 
1775)
@@ -440,12 +440,13 @@
        kern/ieee1275/init.c term/ieee1275/ofconsole.c          \
        kern/ieee1275/openfw.c disk/ieee1275/ofdisk.c           \
        kern/parser.c kern/partition.c kern/env.c kern/powerpc/dl.c     \
+       kern/generic/millisleep.c                                       \
        symlist.c kern/powerpc/cache.S
-CLEANFILES += kernel.elf kernel_elf-kern_powerpc_ieee1275_crt0.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o 
kernel_elf-kern_dl.o kernel_elf-kern_err.o kernel_elf-kern_file.o 
kernel_elf-kern_fs.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_ieee1275_init.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-kern_ieee1275_openfw.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-kern_parser.o kernel_elf-kern_partition.o kernel_elf-kern_env.o 
kernel_elf-kern_powerpc_dl.o kernel_elf-symlist.o 
kernel_elf-kern_powerpc_cache.o
-MOSTLYCLEANFILES += kernel_elf-kern_powerpc_ieee1275_crt0.d 
kernel_elf-kern_ieee1275_cmain.d kernel_elf-kern_ieee1275_ieee1275.d 
kernel_elf-kern_main.d kernel_elf-kern_device.d kernel_elf-kern_disk.d 
kernel_elf-kern_dl.d kernel_elf-kern_err.d kernel_elf-kern_file.d 
kernel_elf-kern_fs.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_ieee1275_init.d kernel_elf-term_ieee1275_ofconsole.d 
kernel_elf-kern_ieee1275_openfw.d kernel_elf-disk_ieee1275_ofdisk.d 
kernel_elf-kern_parser.d kernel_elf-kern_partition.d kernel_elf-kern_env.d 
kernel_elf-kern_powerpc_dl.d kernel_elf-symlist.d 
kernel_elf-kern_powerpc_cache.d
+CLEANFILES += kernel.elf kernel_elf-kern_powerpc_ieee1275_crt0.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o 
kernel_elf-kern_dl.o kernel_elf-kern_err.o kernel_elf-kern_file.o 
kernel_elf-kern_fs.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_ieee1275_init.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-kern_ieee1275_openfw.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-kern_parser.o kernel_elf-kern_partition.o kernel_elf-kern_env.o 
kernel_elf-kern_powerpc_dl.o kernel_elf-kern_generic_millisleep.o 
kernel_elf-symlist.o kernel_elf-kern_powerpc_cache.o
+MOSTLYCLEANFILES += kernel_elf-kern_powerpc_ieee1275_crt0.d 
kernel_elf-kern_ieee1275_cmain.d kernel_elf-kern_ieee1275_ieee1275.d 
kernel_elf-kern_main.d kernel_elf-kern_device.d kernel_elf-kern_disk.d 
kernel_elf-kern_dl.d kernel_elf-kern_err.d kernel_elf-kern_file.d 
kernel_elf-kern_fs.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_ieee1275_init.d kernel_elf-term_ieee1275_ofconsole.d 
kernel_elf-kern_ieee1275_openfw.d kernel_elf-disk_ieee1275_ofdisk.d 
kernel_elf-kern_parser.d kernel_elf-kern_partition.d kernel_elf-kern_env.d 
kernel_elf-kern_powerpc_dl.d kernel_elf-kern_generic_millisleep.d 
kernel_elf-symlist.d kernel_elf-kern_powerpc_cache.d
 
-kernel.elf: $(kernel_elf_DEPENDENCIES) kernel_elf-kern_powerpc_ieee1275_crt0.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o 
kernel_elf-kern_dl.o kernel_elf-kern_err.o kernel_elf-kern_file.o 
kernel_elf-kern_fs.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_ieee1275_init.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-kern_ieee1275_openfw.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-kern_parser.o kernel_elf-kern_partition.o kernel_elf-kern_env.o 
kernel_elf-kern_powerpc_dl.o kernel_elf-symlist.o 
kernel_elf-kern_powerpc_cache.o
-       $(TARGET_CC) -o $@ kernel_elf-kern_powerpc_ieee1275_crt0.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o 
kernel_elf-kern_dl.o kernel_elf-kern_err.o kernel_elf-kern_file.o 
kernel_elf-kern_fs.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_ieee1275_init.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-kern_ieee1275_openfw.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-kern_parser.o kernel_elf-kern_partition.o kernel_elf-kern_env.o 
kernel_elf-kern_powerpc_dl.o kernel_elf-symlist.o 
kernel_elf-kern_powerpc_cache.o $(TARGET_LDFLAGS) $(kernel_elf_LDFLAGS)
+kernel.elf: $(kernel_elf_DEPENDENCIES) kernel_elf-kern_powerpc_ieee1275_crt0.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o 
kernel_elf-kern_dl.o kernel_elf-kern_err.o kernel_elf-kern_file.o 
kernel_elf-kern_fs.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_ieee1275_init.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-kern_ieee1275_openfw.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-kern_parser.o kernel_elf-kern_partition.o kernel_elf-kern_env.o 
kernel_elf-kern_powerpc_dl.o kernel_elf-kern_generic_millisleep.o 
kernel_elf-symlist.o kernel_elf-kern_powerpc_cache.o
+       $(TARGET_CC) -o $@ kernel_elf-kern_powerpc_ieee1275_crt0.o 
kernel_elf-kern_ieee1275_cmain.o kernel_elf-kern_ieee1275_ieee1275.o 
kernel_elf-kern_main.o kernel_elf-kern_device.o kernel_elf-kern_disk.o 
kernel_elf-kern_dl.o kernel_elf-kern_err.o kernel_elf-kern_file.o 
kernel_elf-kern_fs.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_ieee1275_init.o kernel_elf-term_ieee1275_ofconsole.o 
kernel_elf-kern_ieee1275_openfw.o kernel_elf-disk_ieee1275_ofdisk.o 
kernel_elf-kern_parser.o kernel_elf-kern_partition.o kernel_elf-kern_env.o 
kernel_elf-kern_powerpc_dl.o kernel_elf-kern_generic_millisleep.o 
kernel_elf-symlist.o kernel_elf-kern_powerpc_cache.o $(TARGET_LDFLAGS) 
$(kernel_elf_LDFLAGS)
 
 kernel_elf-kern_powerpc_ieee1275_crt0.o: kern/powerpc/ieee1275/crt0.S 
$(kern/powerpc/ieee1275/crt0.S_DEPENDENCIES)
        $(TARGET_CC) -Ikern/powerpc/ieee1275 -I$(srcdir)/kern/powerpc/ieee1275 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
@@ -539,6 +540,10 @@
        $(TARGET_CC) -Ikern/powerpc -I$(srcdir)/kern/powerpc $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
 -include kernel_elf-kern_powerpc_dl.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-symlist.o: symlist.c $(symlist.c_DEPENDENCIES)
        $(TARGET_CC) -I. -I$(srcdir)/. $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) 
$(kernel_elf_CFLAGS) -MD -c -o $@ $<
 -include kernel_elf-symlist.d

Modified: trunk/grub2/conf/sparc64-ieee1275.mk
===================================================================
--- trunk/grub2/conf/sparc64-ieee1275.mk        2008-08-05 11:54:37 UTC (rev 
1774)
+++ trunk/grub2/conf/sparc64-ieee1275.mk        2008-08-05 12:26:29 UTC (rev 
1775)
@@ -74,12 +74,13 @@
        kern/rescue.c kern/term.c term/ieee1275/ofconsole.c \
        kern/sparc64/ieee1275/openfw.c disk/ieee1275/ofdisk.c \
        kern/partition.c kern/env.c kern/sparc64/dl.c symlist.c \
+       kern/generic/millisleep.c kern/generic/get_time_ms.c \
        kern/sparc64/cache.S kern/parser.c
-CLEANFILES += kernel.elf kernel_elf-kern_sparc64_ieee1275_init.o 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.o kernel_elf-kern_sparc64_ieee1275_openfw.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_sparc64_dl.o kernel_elf-symlist.o 
kernel_elf-kern_sparc64_cache.o kernel_elf-kern_parser.o
-MOSTLYCLEANFILES += kernel_elf-kern_sparc64_ieee1275_init.d 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.d kernel_elf-kern_sparc64_ieee1275_openfw.d 
kernel_elf-disk_ieee1275_ofdisk.d kernel_elf-kern_partition.d 
kernel_elf-kern_env.d kernel_elf-kern_sparc64_dl.d kernel_elf-symlist.d 
kernel_elf-kern_sparc64_cache.d kernel_elf-kern_parser.d
+CLEANFILES += kernel.elf kernel_elf-kern_sparc64_ieee1275_init.o 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.o kernel_elf-kern_sparc64_ieee1275_openfw.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_sparc64_dl.o kernel_elf-symlist.o 
kernel_elf-kern_generic_millisleep.o kernel_elf-kern_generic_get_time_ms.o 
kernel_elf-kern_sparc64_cache.o kernel_elf-kern_parser.o
+MOSTLYCLEANFILES += kernel_elf-kern_sparc64_ieee1275_init.d 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.d kernel_elf-kern_sparc64_ieee1275_openfw.d 
kernel_elf-disk_ieee1275_ofdisk.d kernel_elf-kern_partition.d 
kernel_elf-kern_env.d kernel_elf-kern_sparc64_dl.d kernel_elf-symlist.d 
kernel_elf-kern_generic_millisleep.d kernel_elf-kern_generic_get_time_ms.d 
kernel_elf-kern_sparc64_cache.d kernel_elf-kern_parser.d
 
-kernel.elf: $(kernel_elf_DEPENDENCIES) kernel_elf-kern_sparc64_ieee1275_init.o 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.o kernel_elf-kern_sparc64_ieee1275_openfw.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_sparc64_dl.o kernel_elf-symlist.o 
kernel_elf-kern_sparc64_cache.o kernel_elf-kern_parser.o
-       $(TARGET_CC) -o $@ kernel_elf-kern_sparc64_ieee1275_init.o 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.o kernel_elf-kern_sparc64_ieee1275_openfw.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_sparc64_dl.o kernel_elf-symlist.o 
kernel_elf-kern_sparc64_cache.o kernel_elf-kern_parser.o $(TARGET_LDFLAGS) 
$(kernel_elf_LDFLAGS)
+kernel.elf: $(kernel_elf_DEPENDENCIES) kernel_elf-kern_sparc64_ieee1275_init.o 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.o kernel_elf-kern_sparc64_ieee1275_openfw.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_sparc64_dl.o kernel_elf-symlist.o 
kernel_elf-kern_generic_millisleep.o kernel_elf-kern_generic_get_time_ms.o 
kernel_elf-kern_sparc64_cache.o kernel_elf-kern_parser.o
+       $(TARGET_CC) -o $@ kernel_elf-kern_sparc64_ieee1275_init.o 
kernel_elf-kern_ieee1275_ieee1275.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-term_ieee1275_ofconsole.o kernel_elf-kern_sparc64_ieee1275_openfw.o 
kernel_elf-disk_ieee1275_ofdisk.o kernel_elf-kern_partition.o 
kernel_elf-kern_env.o kernel_elf-kern_sparc64_dl.o kernel_elf-symlist.o 
kernel_elf-kern_generic_millisleep.o kernel_elf-kern_generic_get_time_ms.o 
kernel_elf-kern_sparc64_cache.o kernel_elf-kern_parser.o $(TARGET_LDFLAGS) 
$(kernel_elf_LDFLAGS)
 
 kernel_elf-kern_sparc64_ieee1275_init.o: kern/sparc64/ieee1275/init.c 
$(kern/sparc64/ieee1275/init.c_DEPENDENCIES)
        $(TARGET_CC) -Ikern/sparc64/ieee1275 -I$(srcdir)/kern/sparc64/ieee1275 
$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
@@ -165,6 +166,14 @@
        $(TARGET_CC) -I. -I$(srcdir)/. $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) 
$(kernel_elf_CFLAGS) -MD -c -o $@ $<
 -include kernel_elf-symlist.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_generic_get_time_ms.o: kern/generic/get_time_ms.c 
$(kern/generic/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_get_time_ms.d
+
 kernel_elf-kern_sparc64_cache.o: kern/sparc64/cache.S 
$(kern/sparc64/cache.S_DEPENDENCIES)
        $(TARGET_CC) -Ikern/sparc64 -I$(srcdir)/kern/sparc64 $(TARGET_CPPFLAGS) 
$(TARGET_CFLAGS) $(kernel_elf_CFLAGS) -MD -c -o $@ $<
 -include kernel_elf-kern_sparc64_cache.d

Added: trunk/grub2/include/grub/i386/tsc.h
===================================================================
--- trunk/grub2/include/grub/i386/tsc.h                         (rev 0)
+++ trunk/grub2/include/grub/i386/tsc.h 2008-08-05 12:26:29 UTC (rev 1775)
@@ -0,0 +1,80 @@
+/*
+ *  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/>.
+ */
+
+#ifndef KERNEL_CPU_TSC_HEADER
+#define KERNEL_CPU_TSC_HEADER   1
+
+#include <grub/types.h>
+
+/* Read the TSC value, which increments with each CPU clock cycle. */
+static __inline grub_uint64_t
+grub_get_tsc (void)
+{
+  grub_uint32_t lo, hi;
+
+  /* The CPUID instruction is a 'serializing' instruction, and
+     avoids out-of-order execution of the RDTSC instruction. */
+  __asm__ __volatile__ ("xorl %%eax, %%eax\n\t"
+                        "cpuid":::"%rax", "%rbx", "%rcx", "%rdx");
+  /* Read TSC value.  We cannot use "=A", since this would use
+     %rax on x86_64. */
+  __asm__ __volatile__ ("rdtsc":"=a" (lo), "=d" (hi));
+
+  return (((grub_uint64_t) hi) << 32) | lo;
+}
+
+static __inline int
+grub_cpu_is_cpuid_supported (void)
+{
+  grub_uint32_t id_supported;
+
+  __asm__ ("pushfl\n\t"
+           "popl %%eax             /* Get EFLAGS into EAX */\n\t"
+           "movl %%eax, %%ecx      /* Save original flags in ECX */\n\t"
+           "xorl $0x200000, %%eax  /* Flip ID bit in EFLAGS */\n\t"
+           "pushl %%eax            /* Store modified EFLAGS on stack */\n\t"
+           "popfl                  /* Replace current EFLAGS */\n\t"
+           "pushfl                 /* Read back the EFLAGS */\n\t"
+           "popl %%eax             /* Get EFLAGS into EAX */\n\t"
+           "xorl %%ecx, %%eax      /* Check if flag could be modified */\n\t"
+           : "=a" (id_supported)
+           : /* No inputs.  */
+           : /* Clobbered:  */ "%rcx");
+
+  return id_supported != 0;
+}
+
+static __inline int
+grub_cpu_is_tsc_supported (void)
+{
+  if (! grub_cpu_is_cpuid_supported ())
+    return 0;
+
+  grub_uint32_t features;
+  __asm__ ("movl $1, %%eax\n\t"
+           "cpuid"
+           : "=d" (features)
+           : /* No inputs.  */
+           : /* Clobbered:  */ "%rax", "%rbx", "%rcx");
+  return (features & (1 << 4)) != 0;
+}
+
+void grub_tsc_init (void);
+grub_uint64_t grub_tsc_get_time_ms (void);
+
+#endif /* ! KERNEL_CPU_TSC_HEADER */

Added: trunk/grub2/kern/generic/millisleep.c
===================================================================
--- trunk/grub2/kern/generic/millisleep.c                               (rev 0)
+++ trunk/grub2/kern/generic/millisleep.c       2008-08-05 12:26:29 UTC (rev 
1775)
@@ -0,0 +1,39 @@
+/* millisleep.c - generic millisleep function.
+ * The generic implementation of these functions can be used for architectures
+ * or platforms that do not have a more specialized implementation. */
+/*
+ *  GRUB  --  GRand Unified Bootloader
+ *  Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006,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/>.
+ */
+
+#include <grub/misc.h>
+#include <grub/time.h>
+
+void
+grub_millisleep (grub_uint32_t ms)
+{
+  grub_uint64_t start;
+
+  start = grub_get_time_ms ();
+
+  /* Instead of setting an end time and looping while the current time is 
+     less than that, comparing the elapsed sleep time with the desired sleep
+     time handles the (unlikely!) case that the timer would wrap around 
+     during the sleep. */
+
+  while (grub_get_time_ms () - start < ms)
+    grub_cpu_idle ();
+}

Added: trunk/grub2/kern/generic/rtc_get_time_ms.c
===================================================================
--- trunk/grub2/kern/generic/rtc_get_time_ms.c                          (rev 0)
+++ trunk/grub2/kern/generic/rtc_get_time_ms.c  2008-08-05 12:26:29 UTC (rev 
1775)
@@ -0,0 +1,37 @@
+/* rtc_get_time_ms.c - get_time_ms implementation using platform RTC.
+ * The generic implementation of these functions can be used for architectures
+ * or platforms that do not have a more specialized implementation. */
+/*
+ *  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/time.h>
+#include <grub/misc.h>
+
+/* Calculate the time in milliseconds since the epoch based on the RTC. */
+grub_uint64_t
+grub_rtc_get_time_ms (void)
+{
+  /* By dimensional analysis: 
+    
+      1000 ms   N rtc ticks       1 s
+      ------- * ----------- * ----------- = 1000*N/T ms
+        1 s          1        T rtc ticks
+   */
+  grub_uint64_t ticks_ms_per_sec = ((grub_uint64_t) 1000) * grub_get_rtc ();
+  return grub_divmod64 (ticks_ms_per_sec, GRUB_TICKS_PER_SECOND, 0);
+}

Added: trunk/grub2/kern/i386/tsc.c
===================================================================
--- trunk/grub2/kern/i386/tsc.c                         (rev 0)
+++ trunk/grub2/kern/i386/tsc.c 2008-08-05 12:26:29 UTC (rev 1775)
@@ -0,0 +1,102 @@
+/* kern/i386/tsc.c - x86 TSC time source implementation
+ * Requires Pentium or better x86 CPU that supports the RDTSC instruction.
+ * This module uses the RTC (via grub_get_rtc()) to calibrate the TSC to 
+ * real time.
+ *
+ *  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/types.h>
+#include <grub/time.h>
+#include <grub/misc.h>
+#include <grub/i386/tsc.h>
+
+/* Calibrated reference for TSC=0.  This defines the time since the epoch in 
+   milliseconds that TSC=0 refers to. */
+static grub_uint64_t tsc_boot_time;
+
+/* Calibrated TSC rate.  (In TSC ticks per millisecond.) */
+static grub_uint64_t tsc_ticks_per_ms;
+
+
+grub_uint64_t
+grub_tsc_get_time_ms (void)
+{
+  return tsc_boot_time + grub_divmod64 (grub_get_tsc (), tsc_ticks_per_ms, 0);
+}
+
+
+/* How many RTC ticks to use for calibration loop. (>= 1) */
+#define CALIBRATION_TICKS 2
+
+/* Calibrate the TSC based on the RTC.  */
+static void
+calibrate_tsc (void)
+{
+  /* First calbrate the TSC rate (relative, not absolute time). */
+  grub_uint64_t start_tsc;
+  grub_uint64_t end_tsc;
+  grub_uint32_t initial_tick;
+  grub_uint32_t start_tick;
+  grub_uint32_t end_tick;
+
+  /* Wait for the start of the next tick;
+     we'll base out timing off this edge. */
+  initial_tick = grub_get_rtc ();
+  do
+    {
+      start_tick = grub_get_rtc ();
+    }
+  while (start_tick == initial_tick);
+  start_tsc = grub_get_tsc ();
+
+  /* Wait for the start of the next tick.  This will
+     be the end of the 1-tick period. */
+  do
+    {
+      end_tick = grub_get_rtc ();
+    }
+  while (end_tick - start_tick < CALIBRATION_TICKS);
+  end_tsc = grub_get_tsc ();
+
+  tsc_ticks_per_ms =
+    grub_divmod64 (grub_divmod64
+                   (end_tsc - start_tsc, end_tick - start_tick, 0)
+                   * GRUB_TICKS_PER_SECOND, 1000, 0);
+
+  /* Reference the TSC zero (boot time) to the epoch to 
+     get an absolute real time reference. */
+  grub_uint64_t ms_since_boot = grub_divmod64 (end_tsc, tsc_ticks_per_ms, 0);
+  grub_uint64_t mstime_now = grub_divmod64 ((grub_uint64_t) 1000 * end_tick,
+                                            GRUB_TICKS_PER_SECOND,
+                                            0);
+  tsc_boot_time = mstime_now - ms_since_boot;
+}
+
+void
+grub_tsc_init (void)
+{
+  if (grub_cpu_is_tsc_supported ())
+    {
+      calibrate_tsc ();
+      grub_install_get_time_ms (grub_tsc_get_time_ms);
+    }
+  else
+    {
+      grub_install_get_time_ms (grub_rtc_get_time_ms);
+    }
+}






reply via email to

[Prev in Thread] Current Thread [Next in Thread]