|
Rockbox mail archiveSubject: Re: Cowon D2 EABIRe: Cowon D2 EABI
From: Rob Purchase <rob.purchase_at_googlemail.com>
Date: Tue, 15 Jun 2010 22:33:41 +0100 On 15/06/2010 11:17, pouly amaury wrote: > > You convinced me that finally think that I should (or someone else !) > rewrite it in assembly to avoid any further problem. Any one against > that ? This version seems to work correctly: static inline void delay_loop(void) { asm volatile (" mov %[freq], %[freq], asr#22 \n\t" "1: subs %[freq], %[freq], #1 \n\t" " bne 1b" : : [freq] "r" (cpu_frequency) : "memory"); } By "correctly" I mean: - it doesn't get optimized away using our default compiler flags - it seems to generate the same code with both GCC versions - the PMU driver works (with CPU boosted and unboosted) - the touchscreen driver does not "lose" about 10% of presses (this happens since r26850...) I've tested this with the EABI compiler and all seems well. Once I've committed it we can re-enable EABI for this target and we can all be happy again :) Rob. Received on 2010-06-15 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |