noemu_nodist = symlist.c;
i386_pc = kern/generic/rtc_get_time_ms.c;
- efi = kern/generic/rtc_get_time_ms.c;
i386_qemu = kern/generic/rtc_get_time_ms.c;
i386_coreboot = kern/generic/rtc_get_time_ms.c;
i386_multiboot = kern/generic/rtc_get_time_ms.c;
#include <grub/efi/console_control.h>
#include <grub/efi/pe32.h>
#include <grub/machine/time.h>
+#include <grub/time.h>
#include <grub/term.h>
#include <grub/kernel.h>
#include <grub/mm.h>
return grub_error (GRUB_ERR_IO, "set_virtual_address_map failed");
}
-grub_uint32_t
-grub_get_rtc (void)
+grub_uint64_t
+grub_rtc_get_time_ms (void)
{
grub_efi_time_t time;
grub_efi_runtime_services_t *r;
/* What is possible in this case? */
return 0;
- return (((time.minute * 60 + time.second) * 1000
- + time.nanosecond / 1000000)
- * GRUB_TICKS_PER_SECOND / 1000);
+ return ((time.minute * 60 + time.second) * 1000
+ + time.nanosecond / 1000000);
+}
+
+grub_uint32_t
+grub_get_rtc (void)
+{
+ return grub_rtc_get_time_ms ();
}
/* Search the mods section from the PE32/PE32+ image. This code uses
#include <grub/symbol.h>
-/* This is destined to overflow when one hour passes by. */
-#define GRUB_TICKS_PER_SECOND ((1UL << 31) / 60 / 60 * 2)
+#define GRUB_TICKS_PER_SECOND 1000
/* Return the real time in ticks. */
grub_uint32_t EXPORT_FUNC (grub_get_rtc) (void);