* [mips] Add an octeon flavour.

svn path=/dists/trunk/linux-2.6/; revision=16244
This commit is contained in:
Aurelien Jarno 2010-09-06 08:41:21 +00:00
parent 3c800e19ee
commit 523a495e7f
5 changed files with 174 additions and 0 deletions

1
debian/changelog vendored
View File

@ -36,6 +36,7 @@ linux-2.6 (2.6.35-1~experimental.3) UNRELEASED; urgency=low
[ Aurelien Jarno ]
* Fix netfilter CONFIG_COMPAT support.
* [sh4] set VIRTUALIZATION.
* [mips] Add an octeon flavour.
[ maximilian attems]
* Add stable 2.6.35.3 and 2.6.35.4.

123
debian/config/mips/config.octeon vendored Normal file
View File

@ -0,0 +1,123 @@
##
## file: arch/mips/Kconfig
##
CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD=y
# CONFIG_32BIT is not set
CONFIG_64BIT=y
CONFIG_SMP=y
CONFIG_MIPS32_COMPAT=y
CONFIG_MIPS32_O32=y
CONFIG_MIPS32_N32=y
CONFIG_PCI=y
##
## file: arch/mips/cavium-octeon/Kconfig
##
CONFIG_CAVIUM_OCTEON_SPECIFIC_OPTIONS=y
# CONFIG_CAVIUM_OCTEON_2ND_KERNEL is not set
CONFIG_CAVIUM_OCTEON_HW_FIX_UNALIGNED=y
CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE=1
CONFIG_CAVIUM_OCTEON_LOCK_L2=y
CONFIG_CAVIUM_OCTEON_LOCK_L2_TLB=y
CONFIG_CAVIUM_OCTEON_LOCK_L2_EXCEPTION=y
CONFIG_CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT=y
CONFIG_CAVIUM_OCTEON_LOCK_L2_INTERRUPT=y
CONFIG_CAVIUM_OCTEON_LOCK_L2_MEMCPY=y
##
## file: drivers/ata/Kconfig
##
CONFIG_ATA=y
CONFIG_ATA_SFF=y
CONFIG_PATA_OCTEON_CF=y
##
## file: drivers/i2c/Kconfig
##
CONFIG_I2C=y
##
## file: drivers/i2c/busses/Kconfig
##
CONFIG_I2C_OCTEON=y
##
## file: drivers/input/keyboard/Kconfig
##
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
##
## file: drivers/input/mouse/Kconfig
##
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
##
## file: drivers/mtd/Kconfig
##
CONFIG_MTD=y
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
##
## file: drivers/mtd/chips/Kconfig
##
CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_AMDSTD=y
##
## file: drivers/mtd/maps/Kconfig
##
CONFIG_MTD_PHYSMAP=y
##
## file: drivers/net/octeon/Kconfig
##
CONFIG_OCTEON_MGMT_ETHERNET=m
##
## file: drivers/rtc/Kconfig
##
CONFIG_RTC_DRV_DS1307=y
##
## file: drivers/serial/Kconfig
##
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=2
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
##
## file: drivers/scsi/Kconfig
##
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
##
## file: drivers/scsi/megaraid/Kconfig.megaraid
##
CONFIG_MEGARAID_SAS=y
##
## file: drivers/staging/octeon/Kconfig
##
CONFIG_OCTEON_ETHERNET=m
##
## file: mm/Kconfig
##
CONFIG_SPARSEMEM_MANUAL=y
##
## file: fs/ext2/Kconfig
##
CONFIG_EXT2_FS=y
##
## file: fs/ext3/Kconfig
##
CONFIG_EXT3_FS=y

View File

@ -6,6 +6,7 @@ flavours:
sb1a-bcm91480b
4kc-malta
5kc-malta
octeon
kernel-arch: mips
[image]
@ -34,3 +35,7 @@ hardware-long: MIPS Malta boards
[5kc-malta_description]
hardware: MIPS Malta (64-bit)
hardware-long: MIPS Malta boards (64-bit)
[octeon_description]
hardware: Octeon
hardware-long: Cavium Networks Octeon

View File

@ -0,0 +1,44 @@
commit 5c8974538afd97990d3730ef6fea731a34ef1f85
Author: Florian Fainelli <florian@openwrt.org>
Date: Thu Jul 29 00:13:07 2010 +0200
MIPS: Octeon: Workaround link failures with gcc-4.4.x 32-bits toolchains
When building with a gcc-4.4.x toolchain that is configured to produce
32-bits executables by default, we will produce __lshrti3 in sched_clock()
which is never resolved so the kernel fails to link. Unconditionally use
the inline assembly version as suggested by David Daney, which works around
the issue.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1514/
Acked-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
diff --git a/arch/mips/cavium-octeon/csrc-octeon.c b/arch/mips/cavium-octeon/csrc-octeon.c
index 0bf4bbe..36400d2 100644
--- a/arch/mips/cavium-octeon/csrc-octeon.c
+++ b/arch/mips/cavium-octeon/csrc-octeon.c
@@ -53,7 +53,6 @@ static struct clocksource clocksource_mips = {
unsigned long long notrace sched_clock(void)
{
/* 64-bit arithmatic can overflow, so use 128-bit. */
-#if (__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ <= 3))
u64 t1, t2, t3;
unsigned long long rv;
u64 mult = clocksource_mips.mult;
@@ -73,13 +72,6 @@ unsigned long long notrace sched_clock(void)
: [cnt] "r" (cnt), [mult] "r" (mult), [shift] "r" (shift)
: "hi", "lo");
return rv;
-#else
- /* GCC > 4.3 do it the easy way. */
- unsigned int __attribute__((mode(TI))) t;
- t = read_c0_cvmcount();
- t = t * clocksource_mips.mult;
- return (unsigned long long)(t >> clocksource_mips.shift);
-#endif
}
void __init plat_time_init(void)

View File

@ -3,3 +3,4 @@
- bugfix/all/mm-fix-up-some-user-visible-effects-of-the-stack-gua.patch
+ bugfix/all/stable/2.6.35.3.patch
+ bugfix/all/stable/2.6.35.4.patch
+ bugfix/mips/octeon-gcc-4.4.patch