[OpenBIOS] [PATCH] SPARC64: revert of r1287 100Hz timer interval fixup

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun Aug 17 19:43:17 CEST 2014


On 11/08/14 09:01, Mark Cave-Ayland wrote:

> Commit r1287 (which only increases the L11 timer frequency from 10Hz to 100Hz)
> causes HelenOS boot to become extremely unreliable under QEMU. Revert the
> frequency fix so the timer frequency is set back to 10Hz, but instead increase
> the get-msecs counter increment by 10. This ensures that while the timer
> resolution is degraded, get-msecs still returns a reasonably time accurate
> value.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
> CC: Artyom Tarasenko <atar4qemu at gmail.com>
> ---
>   openbios-devel/arch/sparc64/entry.S   |    2 +-
>   openbios-devel/arch/sparc64/vectors.S |    4 ++--
>   2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/openbios-devel/arch/sparc64/entry.S b/openbios-devel/arch/sparc64/entry.S
> index d03128a..33632b1 100644
> --- a/openbios-devel/arch/sparc64/entry.S
> +++ b/openbios-devel/arch/sparc64/entry.S
> @@ -17,7 +17,7 @@
>
>   #define PROM_ADDR 0x1fff0000000
>   #define CFG_ADDR  0x1fe02000510
> -#define HZ        1 * 1000 * 1000
> +#define HZ        10 * 1000 * 1000
>   #define TICK_INT_DIS 0x8000000000000000
>
>           .globl	entry, _entry
> diff --git a/openbios-devel/arch/sparc64/vectors.S b/openbios-devel/arch/sparc64/vectors.S
> index 927c1cd..cd2b988 100644
> --- a/openbios-devel/arch/sparc64/vectors.S
> +++ b/openbios-devel/arch/sparc64/vectors.S
> @@ -30,7 +30,7 @@
>   #define PROM_ADDR 0x1fff0000000
>   #define SER_ADDR 0x1fe020003f8
>   #define TICK_INT_DIS 0x8000000000000000
> -#define TICK_INTERVAL 1*1000*1000
> +#define TICK_INTERVAL 10*1000*1000
>
>           .section ".text.vectors", "ax"
>           .align 16384
> @@ -630,7 +630,7 @@ softint_irq:
>            nop
>
>           ldx     [%g3], %g1
> -        add     %g1, 10, %g1    ! 100Hz = 10ms
> +        add     %g1, 100, %g1    ! 10Hz = 100ms
>           stx     %g1, [%g3]
>
>   tick_rearm:

For reference, this patch is needed due to a bug in earlier versions of 
SPARC64 HelenOS which has now been fixed with the 0.5.0 release. So with 
the agreement of the HelenOS developers, this patch won't be applied to 
OpenBIOS.


ATB,

Mark.




More information about the OpenBIOS mailing list