1 #include "asm/asmdefs.h"
2 #include "asm/processor.h"
5 * unsigned long long _get_ticks(void);
16 * Delay for a number of ticks
19 mflr r8 /* save link register */
20 mr r7, r3 /* save tick count */
21 bl BRANCH_LABEL(_get_ticks) /* Get start time */
23 /* Calculate end time */
24 addc r7, r4, r7 /* Compute end time lower */
25 addze r6, r3 /* and end time upper */
27 1: bl BRANCH_LABEL(_get_ticks) /* Get current time */
28 subfc r4, r4, r7 /* Subtract current time from end time */
30 bge 1b /* Loop until time expired */
32 mtlr r8 /* restore link register */