On Mon, Mar 16, 2015 at 12:34:49PM -0700, David Daney wrote: > On 03/16/2015 11:18 AM, Paul Martin wrote: > >+#ifdef CONFIG_CPU_LITTLE_ENDIAN > >+ .set push > >+ .set noreorder > >+ /* Hotplugged CPUs enter in Big-Endian mode, switch here to LE */ > >+ dmfc0 v0, CP0_CVMCTL_REG > >+ nop > >+ ori v0, v0, 2 > >+ nop > >+ dmtc0 v0, CP0_CVMCTL_REG /* little-endian */ > >+ nop > >+ synci 0($0) > >+ .set pop > >+#endif /* CONFIG_CPU_LITTLE_ENDIAN */ > > ... This code in the #ifdef CONFIG_CPU_LITTLE_ENDIAN block is useless and > should be removed. Can you confirm that the bootloader always sets all the Octeon's cores to little-endian mode, and not just the first one? I assume that by "useless" you meant that the above code is a null operation as the bootloader has already set the cores up correctly. I can now confirm that the Octeon's USB and Ethernet interfaces need changes above and beyond the three patch set that was posted here earlier this week. -- Paul Martin http://www.codethink.co.uk/ Senior Software Developer, Codethink Ltd.