]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Use TSC as a possible time source on i386-ieee1275.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 4 Apr 2013 07:55:44 +0000 (09:55 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 4 Apr 2013 07:55:44 +0000 (09:55 +0200)
ChangeLog
grub-core/Makefile.core.def
grub-core/kern/ieee1275/init.c

index 7bbcffa37cb291e72096d10d6284fae9c27a20e0..bd9e90310362a9ed7681f48bd6c9bc9ea9b86ad8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Use TSC as a possible time source on i386-ieee1275.
+
 2013-04-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
index 911754d6ffa64144da38bab2514c369d402c4539..4b4c024734eb60452170f6edabbd39798fa237b3 100644 (file)
@@ -128,11 +128,11 @@ kernel = {
   efi = kern/efi/mm.c;
   efi = term/efi/console.c;
 
-  i386_efi = kern/i386/tsc.c;
+  x86 = kern/i386/tsc.c;
+
   i386_efi = kern/i386/efi/init.c;
   i386_efi = bus/pci.c;
 
-  x86_64_efi = kern/i386/tsc.c;
   x86_64_efi = kern/x86_64/dl.c;
   x86_64_efi = kern/x86_64/efi/callwrap.S;
   x86_64_efi = kern/i386/efi/init.c;
@@ -145,19 +145,15 @@ kernel = {
 
   i386_pc = kern/i386/pc/init.c;
   i386_pc = kern/i386/pc/mmap.c;
-  i386_pc = kern/i386/tsc.c;
   i386_pc = term/i386/pc/console.c;
 
   i386_qemu = bus/pci.c;
   i386_qemu = kern/vga_init.c;
   i386_qemu = kern/i386/qemu/mmap.c;
-  i386_qemu = kern/i386/tsc.c;
 
   i386_coreboot = kern/i386/coreboot/mmap.c;
-  i386_coreboot = kern/i386/tsc.c;
 
   i386_multiboot = kern/i386/multiboot_mmap.c;
-  i386_multiboot = kern/i386/tsc.c;
 
   mips = kern/mips/cache.S;
   mips = kern/mips/dl.c;
index 0894cb6ce264ef0ad4c568f43e54799087077f60..391a734d4b494127df6447a0e700c05d0c55d46e 100644 (file)
@@ -34,6 +34,9 @@
 #include <grub/net.h>
 #include <grub/offsets.h>
 #include <grub/memory.h>
+#ifdef __i386__
+#include <grub/cpu/tsc.h>
+#endif
 #ifdef __sparc__
 #include <grub/machine/kernel.h>
 #endif
@@ -269,8 +272,6 @@ grub_parse_cmdline (void)
     }
 }
 
-static grub_uint64_t ieee1275_get_time_ms (void);
-
 grub_addr_t grub_modbase;
 
 void
@@ -288,7 +289,11 @@ grub_machine_init (void)
 
   grub_parse_cmdline ();
 
-  grub_install_get_time_ms (ieee1275_get_time_ms);
+#ifdef __i386__
+  grub_tsc_init ();
+#else
+  grub_install_get_time_ms (grub_rtc_get_time_ms);
+#endif
 }
 
 void
@@ -298,8 +303,8 @@ grub_machine_fini (void)
   grub_console_fini ();
 }
 
-static grub_uint64_t
-ieee1275_get_time_ms (void)
+grub_uint64_t
+grub_rtc_get_time_ms (void)
 {
   grub_uint32_t msecs = 0;