Re: [PATCH 2/4 -v5] x86_64 EFI runtime service support: EFI runtime services

From: Denys Vlasenko
Date: Tue Oct 30 2007 - 11:58:50 EST


On Tuesday 30 October 2007 05:55, Huang, Ying wrote:
> +static inline unsigned long native_get_wallclock(void)
> +{
> + unsigned long retval;
> +
> + if (efi_enabled)
> + retval = efi_get_time();
> + else
> + retval = mach_get_cmos_time();
> +
> + return retval;
> +}

mach_get_cmos_time() is itself an inline, and a _large_ one
(~20 LOC with macro and function calls).

efi_get_time() is an inline too, although strange one:
it is declared inline *only* in efi.c file:
inline unsigned long efi_get_time(void)
(yes, just inline, not static/extern),
while efi.h has normal extern for it:
extern unsigned long efi_get_time(void);

Is it supposed to be like that?

> +static inline int native_set_wallclock(unsigned long nowtime)
> +{
> + int retval;
> +
> + if (efi_enabled)
> + retval = efi_set_rtc_mmss(nowtime);
> + else
> + retval = mach_set_rtc_mmss(nowtime);
> +
> + return retval;
> +}

Same here, only mach_set_rtc_mmss is 50 LOC, not 20.
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/