[PATCH 0/7] MIPS: OCTEON: Experimental patches to enable Little Endian

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Octeon II CPUs can switch from Big Endian to Little Endian freely
even in kernel/supervisor mode.

These patches allow an EdgeRouterPro to boot in LE mode with no
hardware modifications.  They have not been subjected to extensive
testing yet and should be considered experimental.  (I have seen some
strange memory corruption in libstdc++ which I haven't yet been able
to trace.)

Parts of this patchset are based on the "GPL" sources released by
Ubiquiti.

v2:
* Remove unneeded assembler code in kernel-entry-init.h
* Add patch to octeon-md5 code
* Re-order patches
* Sign the patches

Paul Martin (7):
  MIPS: OCTEON: Ensure CPUs come up little endian
  MIPS: OCTEON: Turn hardware bitfields and structures inside out
  MIPS: OCTEON: Set appropriate endianness in L2C registers
  MIPS: OCTEON: Reverse the order of register accesses to the FAU
  MIPS: OCTEON: Set up ethernet hardware for little endian
  MIPS: OCTEON: Make octeon-md5 driver endian-agnostic
  MIPS: OCTEON: Tell the kernel build system we can do Little Endian

 arch/mips/Kconfig                                  |   1 +
 arch/mips/cavium-octeon/crypto/octeon-crypto.h     |   8 +-
 arch/mips/cavium-octeon/executive/cvmx-l2c.c       |  45 ++++
 arch/mips/cavium-octeon/octeon-platform.c          |  12 +
 .../asm/mach-cavium-octeon/kernel-entry-init.h     |  68 ++++++
 arch/mips/include/asm/octeon/cvmx-address.h        |  67 ++++++
 arch/mips/include/asm/octeon/cvmx-bootinfo.h       |  55 +++++
 arch/mips/include/asm/octeon/cvmx-bootmem.h        |  14 ++
 arch/mips/include/asm/octeon/cvmx-fau.h            |  22 ++
 arch/mips/include/asm/octeon/cvmx-fpa.h            |   7 +
 arch/mips/include/asm/octeon/cvmx-l2c.h            |   9 +
 arch/mips/include/asm/octeon/cvmx-packet.h         |   8 +
 arch/mips/include/asm/octeon/cvmx-pko.h            |  31 +++
 arch/mips/include/asm/octeon/cvmx-pow.h            | 247 +++++++++++++++++++++
 arch/mips/include/asm/octeon/cvmx-wqe.h            |  71 ++++++
 drivers/staging/octeon/ethernet-tx.c               |   3 +
 drivers/staging/octeon/ethernet.c                  |  10 +
 17 files changed, 674 insertions(+), 4 deletions(-)

-- 
2.1.4






[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux