u32 ILP Clock
- Create a static u32 called cycles
If chipcommon capabilities & 0x1000000 is zero
- Return 32000
- If cycles is zero (i.e. first pass)
- Save the current core index
- Switch to chipcommon core
- Set u32 variable start to contents of the PMU Timer (MMIO offset 0x614)
- Delay 10,000 usec
- Set u32 variable end to contents of the PMU timeer
If end >= start
- Set delta to end - start
- Otherwise
- Set delta to 0xFFFFFFFF - start + 1 + end
- Set cycles to delta / 10
- Restore original core
- Return cycles