On 03/16/2015 02:10 PM, Aaro Koskinen wrote:
Hi,
On Mon, Mar 16, 2015 at 12:44:50PM -0700, David Daney wrote:
On 03/16/2015 12:27 PM, Aaro Koskinen wrote:
On Mon, Mar 16, 2015 at 10:39:40AM +0000, Paul Martin wrote:
On Fri, Mar 13, 2015 at 08:52:58PM +0200, Aaro Koskinen wrote:
On Fri, Mar 13, 2015 at 05:34:52PM +0000, Paul Martin wrote:
Octeon II CPUs can switch from Big Endian to Little Endian freely
even in kernel/supervisor mode.
You are enabling it on all OCTEONS. Is that valid? At least octeon-usb
still needs to be fixed for little-endian mode.
The USB works perfectly with the patches that were posted to this list
over the last couple of months.
I was referring to driver for OCTEON+ USB controller in staging.
ERPro uses EHCI, so it's different. Anyway, I can try to fix the most
obvious issues myself e.g. bitfields.
OCTEON Plus CPUs (i.e. those with afore mentioned USB controller) don't
really support Little-Endian operation, so it may not be worth doing
anything with that driver.
There are several problems:
1) The system bootloader (u-boot) must have support for booting
Little-Endian. EdgeRouter LITE doesn't have the proper support. In theory
you could write a LE booting shim, but I am too lazy to explain what it must
do...
Would it be possible to support kexec from BE kernel ==> LE kernel?
In theory it would. This is essentially the LE booting shim idea:
1) Scramble up memory contents and certain data structures normally
supplied by the boot loader to be in Little Endian access order.
2) Switch CPU to Little Endian mode.
3) Jump to real kernel entry point.
4) Hope all on-chip hardware units work in LE mode, as many haven't been
tested. Serial port, I2C, MDIO known to work, boot bus is known not to
work, haven't tested PCI, Network, or USB.
A.