[1797] 2008-08-08 Robert Millan <[email protected]>

Robert Millan <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.cvs
Message-ID <[email protected]>
Revision: 1797
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1797
Author:   robertmh
Date:     2008-08-07 23:48:13 +0000 (Thu, 07 Aug 2008)

Log Message:
-----------
2008-08-08  Robert Millan  <[email protected]>

        * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
        (grub_last_time): Change type to grub_uint64_t.
        (grub_disk_open): Migrate code from to using grub_get_time_ms().
        (grub_disk_close): Likewise.

        * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
        (run_menu): Migrate code from to using grub_get_time_ms().

        * util/misc.c (grub_get_time_ms): New function.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/kern/disk.c
    trunk/grub2/normal/menu.c
    trunk/grub2/util/misc.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog	2008-08-07 23:37:33 UTC (rev 1796)
+++ trunk/grub2/ChangeLog	2008-08-07 23:48:13 UTC (rev 1797)
@@ -1,3 +1,15 @@
+2008-08-08  Robert Millan  <[email protected]>
+
+	* kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
+	(grub_last_time): Change type to grub_uint64_t.
+	(grub_disk_open): Migrate code from to using grub_get_time_ms().
+	(grub_disk_close): Likewise.
+
+	* normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
+	(run_menu): Migrate code from to using grub_get_time_ms().
+
+	* util/misc.c (grub_get_time_ms): New function.
+
 2008-08-08  Marco Gerards  <[email protected]>
 
 	* disk/ata.c (grub_ata_regget): Change return type to

Modified: trunk/grub2/kern/disk.c
===================================================================
--- trunk/grub2/kern/disk.c	2008-08-07 23:37:33 UTC (rev 1796)
+++ trunk/grub2/kern/disk.c	2008-08-07 23:48:13 UTC (rev 1797)
@@ -22,13 +22,13 @@
 #include <grub/types.h>
 #include <grub/partition.h>
 #include <grub/misc.h>
-#include <grub/machine/time.h>
+#include <grub/time.h>
 #include <grub/file.h>
 
 #define	GRUB_CACHE_TIMEOUT	2
 
 /* The last time the disk was used.  */
-static unsigned long grub_last_time = 0;
+static grub_uint64_t grub_last_time = 0;
 
 
 /* Disk cache.  */
@@ -215,7 +215,7 @@
   grub_disk_t disk;
   grub_disk_dev_t dev;
   char *raw = (char *) name;
-  unsigned long current_time;
+  grub_uint64_t current_time;
 
   grub_dprintf ("disk", "Opening `%s'...\n", name);
 
@@ -280,10 +280,10 @@
 
   /* The cache will be invalidated about 2 seconds after a device was
      closed.  */
-  current_time = grub_get_rtc ();
+  current_time = grub_get_time_ms ();
 
   if (current_time > (grub_last_time
-		      + GRUB_CACHE_TIMEOUT * GRUB_TICKS_PER_SECOND))
+		      + GRUB_CACHE_TIMEOUT * 1000))
     grub_disk_cache_invalidate_all ();
   
   grub_last_time = current_time;
@@ -315,7 +315,7 @@
     (disk->dev->close) (disk);
 
   /* Reset the timer.  */
-  grub_last_time = grub_get_rtc ();
+  grub_last_time = grub_get_time_ms ();
 
   grub_free (disk->partition);
   grub_free ((void *) disk->name);

Modified: trunk/grub2/normal/menu.c
===================================================================
--- trunk/grub2/normal/menu.c	2008-08-07 23:37:33 UTC (rev 1796)
+++ trunk/grub2/normal/menu.c	2008-08-07 23:48:13 UTC (rev 1797)
@@ -21,7 +21,7 @@
 #include <grub/misc.h>
 #include <grub/loader.h>
 #include <grub/mm.h>
-#include <grub/machine/time.h>
+#include <grub/time.h>
 #include <grub/env.h>
 #include <grub/script.h>
 
@@ -326,7 +326,7 @@
 run_menu (grub_menu_t menu, int nested)
 {
   int first, offset;
-  unsigned long saved_time;
+  grub_uint64_t saved_time;
   int default_entry;
   int timeout;
   
@@ -351,7 +351,7 @@
     }
 
   /* Initialize the time.  */
-  saved_time = grub_get_rtc ();
+  saved_time = grub_get_time_ms ();
 
  refresh:
   grub_setcursor (0);
@@ -371,10 +371,10 @@
       
       if (timeout > 0)
 	{
-	  unsigned long current_time;
+	  grub_uint64_t current_time;
 
-	  current_time = grub_get_rtc ();
-	  if (current_time - saved_time >= GRUB_TICKS_PER_SECOND)
+	  current_time = grub_get_time_ms ();
+	  if (current_time - saved_time >= 1000)
 	    {
 	      timeout--;
 	      set_timeout (timeout);

Modified: trunk/grub2/util/misc.c
===================================================================
--- trunk/grub2/util/misc.c	2008-08-07 23:37:33 UTC (rev 1796)
+++ trunk/grub2/util/misc.c	2008-08-07 23:48:13 UTC (rev 1797)
@@ -33,6 +33,7 @@
 #include <grub/util/misc.h>
 #include <grub/mm.h>
 #include <grub/term.h>
+#include <grub/time.h>
 #include <grub/machine/time.h>
 
 /* Include malloc.h, only if memalign is available. It is known that
@@ -284,6 +285,16 @@
 	     * GRUB_TICKS_PER_SECOND / 1000000));
 }
 
+grub_uint64_t
+grub_get_time_ms (void)
+{
+  struct timeval tv;
+
+  gettimeofday (&tv, 0);
+  
+  return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
+}
+
 void 
 grub_arch_sync_caches (void *address __attribute__ ((unused)),
 		       grub_size_t len __attribute__ ((unused)))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.