From: hollisb Date: Mon, 3 Jan 2005 21:48:45 +0000 (+0000) Subject: 2005-01-03 Hollis Blanchard X-Git-Tag: 1.98~2170 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=458786f8fc46f5d46bef1bed1ef6793a4cc002c1;p=thirdparty%2Fgrub.git 2005-01-03 Hollis Blanchard * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds): New function. * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_milliseconds): New prototype. * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND): Change to 1000. * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call grub_ieee1275_milliseconds. --- diff --git a/ChangeLog b/ChangeLog index adb54baba..856e4606b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2005-01-03 Hollis Blanchard + + * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds): + New function. + * include/grub/powerpc/ieee1275/ieee1275.h + (grub_ieee1275_milliseconds): New prototype. + * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND): + Change to 1000. + * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call + grub_ieee1275_milliseconds. + 2005-01-03 Hollis Blanchard * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New diff --git a/boot/powerpc/ieee1275/ieee1275.c b/boot/powerpc/ieee1275/ieee1275.c index bc0286479..6ba7727bb 100644 --- a/boot/powerpc/ieee1275/ieee1275.c +++ b/boot/powerpc/ieee1275/ieee1275.c @@ -1,7 +1,7 @@ /* ieee1275.c - Access the Open Firmware client interface. */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2003, 2004 Free Software Foundation, Inc. + * Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -482,3 +482,19 @@ grub_ieee1275_set_color (grub_ieee1275_ihandle_t ihandle, return 0; } + +int +grub_ieee1275_milliseconds (grub_uint32_t *msecs) +{ + struct milliseconds_args { + struct grub_ieee1275_common_hdr common; + grub_uint32_t msecs; + } args; + + INIT_IEEE1275_COMMON (&args.common, "milliseconds", 0, 1); + + if (IEEE1275_CALL_ENTRY_FN (&args) == -1) + return -1; + *msecs = args.msecs; + return 0; +} diff --git a/include/grub/powerpc/ieee1275/ieee1275.h b/include/grub/powerpc/ieee1275/ieee1275.h index bd69d5823..2cacf43c5 100644 --- a/include/grub/powerpc/ieee1275/ieee1275.h +++ b/include/grub/powerpc/ieee1275/ieee1275.h @@ -119,6 +119,7 @@ int EXPORT_FUNC(grub_ieee1275_set_property) (grub_ieee1275_phandle_t phandle, grub_size_t *actual); int EXPORT_FUNC(grub_ieee1275_set_color) (grub_ieee1275_ihandle_t ihandle, int index, int r, int g, int b); +int EXPORT_FUNC(grub_ieee1275_milliseconds) (grub_uint32_t *msecs); grub_err_t EXPORT_FUNC(grub_devalias_iterate) diff --git a/include/grub/powerpc/ieee1275/time.h b/include/grub/powerpc/ieee1275/time.h index 8ef712e90..dcfdc6e6c 100644 --- a/include/grub/powerpc/ieee1275/time.h +++ b/include/grub/powerpc/ieee1275/time.h @@ -1,6 +1,6 @@ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2003,2004 Marco Gerards + * Copyright (C) 2003,2004, 2005 Marco Gerards * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ # include # define GRUB_TICKS_PER_SECOND CLOCKS_PER_SEC #else -# define GRUB_TICKS_PER_SECOND 18 +# define GRUB_TICKS_PER_SECOND 1000 #endif /* Return the real time in ticks. */ diff --git a/kern/powerpc/ieee1275/init.c b/kern/powerpc/ieee1275/init.c index fcf5740b1..ce342e157 100644 --- a/kern/powerpc/ieee1275/init.c +++ b/kern/powerpc/ieee1275/init.c @@ -1,7 +1,7 @@ /* init.c -- Initialize GRUB on the newworld mac (PPC). */ /* * GRUB -- GRand Unified Bootloader - * Copyright (C) 2003, 2004 Free Software Foundation, Inc. + * Copyright (C) 2003, 2004,2005 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -82,5 +82,10 @@ grub_stop (void) grub_uint32_t grub_get_rtc (void) { - return 0; + grub_uint32_t msecs; + + if (grub_ieee1275_milliseconds (&msecs)) + return 0; + + return msecs; }