Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [PATCH] add STB810 support (Philips PNX8550-based) [MIPS] Qemu now has an ELF loader. [MIPS] Add GENERIC_HARDIRQS_NO__DO_IRQ for i8259 users [MIPS] Optimize csum_partial for 64bit kernel [MIPS] Optimize flow of csum_partial [MIPS] Make csum_partial more readable [MIPS] Rename SNI_RM200_PCI to just SNI_RM preparing for more RM machines
This commit is contained in:
commit
200d018eff
|
@ -165,6 +165,7 @@ config MIPS_COBALT
|
|||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
|
||||
config MACH_DECSTATION
|
||||
bool "DECstations"
|
||||
|
@ -225,6 +226,7 @@ config MACH_JAZZ
|
|||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
|
||||
select SYS_SUPPORTS_100HZ
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
help
|
||||
This a family of machines based on the MIPS R4030 chipset which was
|
||||
used by several vendors to build RISC/os and Windows NT workstations.
|
||||
|
@ -459,6 +461,11 @@ config PNX8550_JBS
|
|||
select PNX8550
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
|
||||
config PNX8550_STB810
|
||||
bool "Support for Philips PNX8550 based STB810 board"
|
||||
select PNX8550
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
|
||||
config DDB5477
|
||||
bool "NEC DDB Vrc-5477"
|
||||
select DDB5XXX_COMMON
|
||||
|
@ -482,6 +489,7 @@ config MACH_VR41XX
|
|||
select SYS_HAS_CPU_VR41XX
|
||||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
|
||||
config PMC_YOSEMITE
|
||||
bool "PMC-Sierra Yosemite eval board"
|
||||
|
@ -515,6 +523,7 @@ config QEMU
|
|||
select SYS_SUPPORTS_BIG_ENDIAN
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select ARCH_SPARSEMEM_ENABLE
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
help
|
||||
Qemu is a software emulator which among other architectures also
|
||||
can simulate a MIPS32 4Kc system. This patch adds support for the
|
||||
|
@ -701,8 +710,8 @@ config SIBYTE_CRHONE
|
|||
select SYS_SUPPORTS_HIGHMEM
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
|
||||
config SNI_RM200_PCI
|
||||
bool "SNI RM200 PCI"
|
||||
config SNI_RM
|
||||
bool "SNI RM200/300/400"
|
||||
select ARC if CPU_LITTLE_ENDIAN
|
||||
select ARC32 if CPU_LITTLE_ENDIAN
|
||||
select ARCH_MAY_HAVE_PC_FDC
|
||||
|
@ -725,8 +734,8 @@ config SNI_RM200_PCI
|
|||
select SYS_SUPPORTS_HIGHMEM
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
help
|
||||
The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
|
||||
Nixdorf Informationssysteme (SNI), parent company of Pyramid
|
||||
The SNI RM200/300/400 are MIPS-based machines manufactured by
|
||||
Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
|
||||
Technology and now in turn merged with Fujitsu. Say Y here to
|
||||
support this machine type.
|
||||
|
||||
|
@ -754,6 +763,7 @@ config TOSHIBA_RBTX4927
|
|||
select SYS_SUPPORTS_64BIT_KERNEL
|
||||
select SYS_SUPPORTS_BIG_ENDIAN
|
||||
select TOSHIBA_BOARDS
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
help
|
||||
This Toshiba board is based on the TX4927 processor. Say Y here to
|
||||
support this machine type
|
||||
|
@ -773,6 +783,7 @@ config TOSHIBA_RBTX4938
|
|||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select SYS_SUPPORTS_BIG_ENDIAN
|
||||
select TOSHIBA_BOARDS
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
help
|
||||
This Toshiba board is based on the TX4938 processor. Say Y here to
|
||||
support this machine type
|
||||
|
@ -1070,16 +1081,16 @@ config HAVE_STD_PC_SERIAL_PORT
|
|||
|
||||
config ARC_CONSOLE
|
||||
bool "ARC console support"
|
||||
depends on SGI_IP22 || SNI_RM200_PCI
|
||||
depends on SGI_IP22 || SNI_RM
|
||||
|
||||
config ARC_MEMORY
|
||||
bool
|
||||
depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
|
||||
depends on MACH_JAZZ || SNI_RM || SGI_IP32
|
||||
default y
|
||||
|
||||
config ARC_PROMLIB
|
||||
bool
|
||||
depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
|
||||
depends on MACH_JAZZ || SNI_RM || SGI_IP22 || SGI_IP32
|
||||
default y
|
||||
|
||||
config ARC64
|
||||
|
|
|
@ -463,6 +463,11 @@ libs-$(CONFIG_PNX8550_JBS) += arch/mips/philips/pnx8550/jbs/
|
|||
#cflags-$(CONFIG_PNX8550_JBS) += -Iinclude/asm-mips/mach-pnx8550
|
||||
load-$(CONFIG_PNX8550_JBS) += 0xffffffff80060000
|
||||
|
||||
# Philips PNX8550 STB810 board
|
||||
#
|
||||
libs-$(CONFIG_PNX8550_STB810) += arch/mips/philips/pnx8550/stb810/
|
||||
load-$(CONFIG_PNX8550_STB810) += 0xffffffff80060000
|
||||
|
||||
# NEC EMMA2RH boards
|
||||
#
|
||||
core-$(CONFIG_EMMA2RH) += arch/mips/emma2rh/common/
|
||||
|
@ -569,11 +574,11 @@ libs-$(CONFIG_SIBYTE_BIGSUR) += arch/mips/sibyte/swarm/
|
|||
load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000
|
||||
|
||||
#
|
||||
# SNI RM200 PCI
|
||||
# SNI RM
|
||||
#
|
||||
core-$(CONFIG_SNI_RM200_PCI) += arch/mips/sni/
|
||||
cflags-$(CONFIG_SNI_RM200_PCI) += -Iinclude/asm-mips/mach-rm200
|
||||
load-$(CONFIG_SNI_RM200_PCI) += 0xffffffff80600000
|
||||
core-$(CONFIG_SNI_RM) += arch/mips/sni/
|
||||
cflags-$(CONFIG_SNI_RM) += -Iinclude/asm-mips/mach-rm
|
||||
load-$(CONFIG_SNI_RM) += 0xffffffff80600000
|
||||
|
||||
#
|
||||
# Toshiba JMR-TX3927 board
|
||||
|
@ -695,7 +700,7 @@ ifdef CONFIG_QEMU
|
|||
all: vmlinux.bin
|
||||
endif
|
||||
|
||||
ifdef CONFIG_SNI_RM200_PCI
|
||||
ifdef CONFIG_SNI_RM
|
||||
all: vmlinux.ecoff
|
||||
endif
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_ATLAS=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -57,7 +57,7 @@ CONFIG_SIBYTE_BIGSUR=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MACH_VR41XX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_COBALT=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_DB1000=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_DB1100=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_DB1200=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_DB1500=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_DB1550=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_DDB5477=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MACH_DECSTATION=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MACH_VR41XX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MARKEINS=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_EV64120=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -60,7 +60,7 @@ CONFIG_BASLER_EXCITE=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_SGI_IP22=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_SGI_IP27=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_SGI_IP32=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MOMENCO_JAGUAR_ATX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -57,7 +57,7 @@ CONFIG_MACH_JAZZ=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
CONFIG_TOSHIBA_JMR3927=y
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_LASAT=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -57,7 +57,7 @@ CONFIG_MIPS_MALTA=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_SIM=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MACH_VR41XX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MOMENCO_OCELOT_3=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MOMENCO_OCELOT_C=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MOMENCO_OCELOT=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MOMENCO_OCELOT_G=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_PB1100=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_PB1500=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_PB1550=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -57,7 +57,7 @@ CONFIG_PNX8550_JBS=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -57,7 +57,7 @@ CONFIG_PNX8550_V2PCI=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_QEMU=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
CONFIG_TOSHIBA_RBTX4938=y
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
CONFIG_SNI_RM200_PCI=y
|
||||
CONFIG_SNI_RM=y
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_SIBYTE_SWARM=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MIPS_SEAD=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MACH_VR41XX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MACH_VR41XX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -57,7 +57,7 @@ CONFIG_MACH_VR41XX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_MACH_VR41XX=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_WR_PPMC=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_PMC_YOSEMITE=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -59,7 +59,7 @@ CONFIG_SGI_IP22=y
|
|||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM200_PCI is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
|
|
|
@ -138,7 +138,7 @@
|
|||
EXPORT(stext) # used for profiling
|
||||
EXPORT(_stext)
|
||||
|
||||
#if defined(CONFIG_QEMU) || defined(CONFIG_MIPS_SIM)
|
||||
#ifdef CONFIG_MIPS_SIM
|
||||
/*
|
||||
* Give us a fighting chance of running if execution beings at the
|
||||
* kernel load address. This is needed because this platform does
|
||||
|
|
|
@ -12,43 +12,66 @@
|
|||
#include <asm/regdef.h>
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
#define T0 ta0
|
||||
#define T1 ta1
|
||||
#define T2 ta2
|
||||
#define T3 ta3
|
||||
#define T4 t0
|
||||
#define T7 t3
|
||||
#else
|
||||
#define T0 t0
|
||||
#define T1 t1
|
||||
#define T2 t2
|
||||
#define T3 t3
|
||||
#define T4 t4
|
||||
#define T7 t7
|
||||
/*
|
||||
* As we are sharing code base with the mips32 tree (which use the o32 ABI
|
||||
* register definitions). We need to redefine the register definitions from
|
||||
* the n64 ABI register naming to the o32 ABI register naming.
|
||||
*/
|
||||
#undef t0
|
||||
#undef t1
|
||||
#undef t2
|
||||
#undef t3
|
||||
#define t0 $8
|
||||
#define t1 $9
|
||||
#define t2 $10
|
||||
#define t3 $11
|
||||
#define t4 $12
|
||||
#define t5 $13
|
||||
#define t6 $14
|
||||
#define t7 $15
|
||||
|
||||
#define USE_DOUBLE
|
||||
#endif
|
||||
|
||||
#define ADDC(sum,reg) \
|
||||
addu sum, reg; \
|
||||
sltu v1, sum, reg; \
|
||||
addu sum, v1
|
||||
#ifdef USE_DOUBLE
|
||||
|
||||
#define LOAD ld
|
||||
#define ADD daddu
|
||||
#define NBYTES 8
|
||||
|
||||
#else
|
||||
|
||||
#define LOAD lw
|
||||
#define ADD addu
|
||||
#define NBYTES 4
|
||||
|
||||
#endif /* USE_DOUBLE */
|
||||
|
||||
#define UNIT(unit) ((unit)*NBYTES)
|
||||
|
||||
#define ADDC(sum,reg) \
|
||||
ADD sum, reg; \
|
||||
sltu v1, sum, reg; \
|
||||
ADD sum, v1
|
||||
|
||||
#define CSUM_BIGCHUNK1(src, offset, sum, _t0, _t1, _t2, _t3) \
|
||||
LOAD _t0, (offset + UNIT(0))(src); \
|
||||
LOAD _t1, (offset + UNIT(1))(src); \
|
||||
LOAD _t2, (offset + UNIT(2))(src); \
|
||||
LOAD _t3, (offset + UNIT(3))(src); \
|
||||
ADDC(sum, _t0); \
|
||||
ADDC(sum, _t1); \
|
||||
ADDC(sum, _t2); \
|
||||
ADDC(sum, _t3)
|
||||
|
||||
#ifdef USE_DOUBLE
|
||||
#define CSUM_BIGCHUNK(src, offset, sum, _t0, _t1, _t2, _t3) \
|
||||
lw _t0, (offset + 0x00)(src); \
|
||||
lw _t1, (offset + 0x04)(src); \
|
||||
lw _t2, (offset + 0x08)(src); \
|
||||
lw _t3, (offset + 0x0c)(src); \
|
||||
ADDC(sum, _t0); \
|
||||
ADDC(sum, _t1); \
|
||||
ADDC(sum, _t2); \
|
||||
ADDC(sum, _t3); \
|
||||
lw _t0, (offset + 0x10)(src); \
|
||||
lw _t1, (offset + 0x14)(src); \
|
||||
lw _t2, (offset + 0x18)(src); \
|
||||
lw _t3, (offset + 0x1c)(src); \
|
||||
ADDC(sum, _t0); \
|
||||
ADDC(sum, _t1); \
|
||||
ADDC(sum, _t2); \
|
||||
ADDC(sum, _t3); \
|
||||
CSUM_BIGCHUNK1(src, offset, sum, _t0, _t1, _t2, _t3)
|
||||
#else
|
||||
#define CSUM_BIGCHUNK(src, offset, sum, _t0, _t1, _t2, _t3) \
|
||||
CSUM_BIGCHUNK1(src, offset, sum, _t0, _t1, _t2, _t3); \
|
||||
CSUM_BIGCHUNK1(src, offset + 0x10, sum, _t0, _t1, _t2, _t3)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* a0: source address
|
||||
|
@ -61,86 +84,27 @@
|
|||
|
||||
.text
|
||||
.set noreorder
|
||||
|
||||
/* unknown src alignment and < 8 bytes to go */
|
||||
small_csumcpy:
|
||||
move a1, T2
|
||||
|
||||
andi T0, a1, 4
|
||||
beqz T0, 1f
|
||||
andi T0, a1, 2
|
||||
|
||||
/* Still a full word to go */
|
||||
ulw T1, (src)
|
||||
PTR_ADDIU src, 4
|
||||
ADDC(sum, T1)
|
||||
|
||||
1: move T1, zero
|
||||
beqz T0, 1f
|
||||
andi T0, a1, 1
|
||||
|
||||
/* Still a halfword to go */
|
||||
ulhu T1, (src)
|
||||
PTR_ADDIU src, 2
|
||||
|
||||
1: beqz T0, 1f
|
||||
sll T1, T1, 16
|
||||
|
||||
lbu T2, (src)
|
||||
nop
|
||||
|
||||
#ifdef __MIPSEB__
|
||||
sll T2, T2, 8
|
||||
#endif
|
||||
or T1, T2
|
||||
|
||||
1: ADDC(sum, T1)
|
||||
|
||||
/* fold checksum */
|
||||
sll v1, sum, 16
|
||||
addu sum, v1
|
||||
sltu v1, sum, v1
|
||||
srl sum, sum, 16
|
||||
addu sum, v1
|
||||
|
||||
/* odd buffer alignment? */
|
||||
beqz T7, 1f
|
||||
nop
|
||||
sll v1, sum, 8
|
||||
srl sum, sum, 8
|
||||
or sum, v1
|
||||
andi sum, 0xffff
|
||||
1:
|
||||
.set reorder
|
||||
/* Add the passed partial csum. */
|
||||
ADDC(sum, a2)
|
||||
jr ra
|
||||
.set noreorder
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
.align 5
|
||||
LEAF(csum_partial)
|
||||
move sum, zero
|
||||
move T7, zero
|
||||
move t7, zero
|
||||
|
||||
sltiu t8, a1, 0x8
|
||||
bnez t8, small_csumcpy /* < 8 bytes to copy */
|
||||
move T2, a1
|
||||
move t2, a1
|
||||
|
||||
beqz a1, out
|
||||
andi T7, src, 0x1 /* odd buffer? */
|
||||
andi t7, src, 0x1 /* odd buffer? */
|
||||
|
||||
hword_align:
|
||||
beqz T7, word_align
|
||||
beqz t7, word_align
|
||||
andi t8, src, 0x2
|
||||
|
||||
lbu T0, (src)
|
||||
lbu t0, (src)
|
||||
LONG_SUBU a1, a1, 0x1
|
||||
#ifdef __MIPSEL__
|
||||
sll T0, T0, 8
|
||||
sll t0, t0, 8
|
||||
#endif
|
||||
ADDC(sum, T0)
|
||||
ADDC(sum, t0)
|
||||
PTR_ADDU src, src, 0x1
|
||||
andi t8, src, 0x2
|
||||
|
||||
|
@ -148,9 +112,9 @@ word_align:
|
|||
beqz t8, dword_align
|
||||
sltiu t8, a1, 56
|
||||
|
||||
lhu T0, (src)
|
||||
lhu t0, (src)
|
||||
LONG_SUBU a1, a1, 0x2
|
||||
ADDC(sum, T0)
|
||||
ADDC(sum, t0)
|
||||
sltiu t8, a1, 56
|
||||
PTR_ADDU src, src, 0x2
|
||||
|
||||
|
@ -162,9 +126,9 @@ dword_align:
|
|||
beqz t8, qword_align
|
||||
andi t8, src, 0x8
|
||||
|
||||
lw T0, 0x00(src)
|
||||
lw t0, 0x00(src)
|
||||
LONG_SUBU a1, a1, 0x4
|
||||
ADDC(sum, T0)
|
||||
ADDC(sum, t0)
|
||||
PTR_ADDU src, src, 0x4
|
||||
andi t8, src, 0x8
|
||||
|
||||
|
@ -172,11 +136,17 @@ qword_align:
|
|||
beqz t8, oword_align
|
||||
andi t8, src, 0x10
|
||||
|
||||
lw T0, 0x00(src)
|
||||
lw T1, 0x04(src)
|
||||
#ifdef USE_DOUBLE
|
||||
ld t0, 0x00(src)
|
||||
LONG_SUBU a1, a1, 0x8
|
||||
ADDC(sum, T0)
|
||||
ADDC(sum, T1)
|
||||
ADDC(sum, t0)
|
||||
#else
|
||||
lw t0, 0x00(src)
|
||||
lw t1, 0x04(src)
|
||||
LONG_SUBU a1, a1, 0x8
|
||||
ADDC(sum, t0)
|
||||
ADDC(sum, t1)
|
||||
#endif
|
||||
PTR_ADDU src, src, 0x8
|
||||
andi t8, src, 0x10
|
||||
|
||||
|
@ -184,75 +154,120 @@ oword_align:
|
|||
beqz t8, begin_movement
|
||||
LONG_SRL t8, a1, 0x7
|
||||
|
||||
lw T3, 0x08(src)
|
||||
lw T4, 0x0c(src)
|
||||
lw T0, 0x00(src)
|
||||
lw T1, 0x04(src)
|
||||
ADDC(sum, T3)
|
||||
ADDC(sum, T4)
|
||||
ADDC(sum, T0)
|
||||
ADDC(sum, T1)
|
||||
#ifdef USE_DOUBLE
|
||||
ld t0, 0x00(src)
|
||||
ld t1, 0x08(src)
|
||||
ADDC(sum, t0)
|
||||
ADDC(sum, t1)
|
||||
#else
|
||||
CSUM_BIGCHUNK1(src, 0x00, sum, t0, t1, t3, t4)
|
||||
#endif
|
||||
LONG_SUBU a1, a1, 0x10
|
||||
PTR_ADDU src, src, 0x10
|
||||
LONG_SRL t8, a1, 0x7
|
||||
|
||||
begin_movement:
|
||||
beqz t8, 1f
|
||||
andi T2, a1, 0x40
|
||||
andi t2, a1, 0x40
|
||||
|
||||
move_128bytes:
|
||||
CSUM_BIGCHUNK(src, 0x00, sum, T0, T1, T3, T4)
|
||||
CSUM_BIGCHUNK(src, 0x20, sum, T0, T1, T3, T4)
|
||||
CSUM_BIGCHUNK(src, 0x40, sum, T0, T1, T3, T4)
|
||||
CSUM_BIGCHUNK(src, 0x60, sum, T0, T1, T3, T4)
|
||||
CSUM_BIGCHUNK(src, 0x00, sum, t0, t1, t3, t4)
|
||||
CSUM_BIGCHUNK(src, 0x20, sum, t0, t1, t3, t4)
|
||||
CSUM_BIGCHUNK(src, 0x40, sum, t0, t1, t3, t4)
|
||||
CSUM_BIGCHUNK(src, 0x60, sum, t0, t1, t3, t4)
|
||||
LONG_SUBU t8, t8, 0x01
|
||||
bnez t8, move_128bytes
|
||||
PTR_ADDU src, src, 0x80
|
||||
|
||||
1:
|
||||
beqz T2, 1f
|
||||
andi T2, a1, 0x20
|
||||
beqz t2, 1f
|
||||
andi t2, a1, 0x20
|
||||
|
||||
move_64bytes:
|
||||
CSUM_BIGCHUNK(src, 0x00, sum, T0, T1, T3, T4)
|
||||
CSUM_BIGCHUNK(src, 0x20, sum, T0, T1, T3, T4)
|
||||
CSUM_BIGCHUNK(src, 0x00, sum, t0, t1, t3, t4)
|
||||
CSUM_BIGCHUNK(src, 0x20, sum, t0, t1, t3, t4)
|
||||
PTR_ADDU src, src, 0x40
|
||||
|
||||
1:
|
||||
beqz T2, do_end_words
|
||||
beqz t2, do_end_words
|
||||
andi t8, a1, 0x1c
|
||||
|
||||
move_32bytes:
|
||||
CSUM_BIGCHUNK(src, 0x00, sum, T0, T1, T3, T4)
|
||||
CSUM_BIGCHUNK(src, 0x00, sum, t0, t1, t3, t4)
|
||||
andi t8, a1, 0x1c
|
||||
PTR_ADDU src, src, 0x20
|
||||
|
||||
do_end_words:
|
||||
beqz t8, maybe_end_cruft
|
||||
LONG_SRL t8, t8, 0x2
|
||||
beqz t8, small_csumcpy
|
||||
andi t2, a1, 0x3
|
||||
LONG_SRL t8, t8, 0x2
|
||||
|
||||
end_words:
|
||||
lw T0, (src)
|
||||
lw t0, (src)
|
||||
LONG_SUBU t8, t8, 0x1
|
||||
ADDC(sum, T0)
|
||||
ADDC(sum, t0)
|
||||
bnez t8, end_words
|
||||
PTR_ADDU src, src, 0x4
|
||||
|
||||
maybe_end_cruft:
|
||||
andi T2, a1, 0x3
|
||||
/* unknown src alignment and < 8 bytes to go */
|
||||
small_csumcpy:
|
||||
move a1, t2
|
||||
|
||||
small_memcpy:
|
||||
j small_csumcpy; move a1, T2 /* XXX ??? */
|
||||
beqz t2, out
|
||||
move a1, T2
|
||||
andi t0, a1, 4
|
||||
beqz t0, 1f
|
||||
andi t0, a1, 2
|
||||
|
||||
end_bytes:
|
||||
lb T0, (src)
|
||||
LONG_SUBU a1, a1, 0x1
|
||||
bnez a2, end_bytes
|
||||
PTR_ADDU src, src, 0x1
|
||||
/* Still a full word to go */
|
||||
ulw t1, (src)
|
||||
PTR_ADDIU src, 4
|
||||
ADDC(sum, t1)
|
||||
|
||||
out:
|
||||
1: move t1, zero
|
||||
beqz t0, 1f
|
||||
andi t0, a1, 1
|
||||
|
||||
/* Still a halfword to go */
|
||||
ulhu t1, (src)
|
||||
PTR_ADDIU src, 2
|
||||
|
||||
1: beqz t0, 1f
|
||||
sll t1, t1, 16
|
||||
|
||||
lbu t2, (src)
|
||||
nop
|
||||
|
||||
#ifdef __MIPSEB__
|
||||
sll t2, t2, 8
|
||||
#endif
|
||||
or t1, t2
|
||||
|
||||
1: ADDC(sum, t1)
|
||||
|
||||
/* fold checksum */
|
||||
#ifdef USE_DOUBLE
|
||||
dsll32 v1, sum, 0
|
||||
daddu sum, v1
|
||||
sltu v1, sum, v1
|
||||
dsra32 sum, sum, 0
|
||||
addu sum, v1
|
||||
#endif
|
||||
sll v1, sum, 16
|
||||
addu sum, v1
|
||||
sltu v1, sum, v1
|
||||
srl sum, sum, 16
|
||||
addu sum, v1
|
||||
|
||||
/* odd buffer alignment? */
|
||||
beqz t7, 1f
|
||||
nop
|
||||
sll v1, sum, 8
|
||||
srl sum, sum, 8
|
||||
or sum, v1
|
||||
andi sum, 0xffff
|
||||
1:
|
||||
.set reorder
|
||||
/* Add the passed partial csum. */
|
||||
ADDC(sum, a2)
|
||||
jr ra
|
||||
move v0, sum
|
||||
.set noreorder
|
||||
END(csum_partial)
|
||||
|
|
|
@ -43,7 +43,7 @@ obj-$(CONFIG_SGI_IP32) += fixup-ip32.o ops-mace.o pci-ip32.o
|
|||
obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1250.o pci-sb1250.o
|
||||
obj-$(CONFIG_SIBYTE_BCM112X) += fixup-sb1250.o pci-sb1250.o
|
||||
obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
|
||||
obj-$(CONFIG_SNI_RM200_PCI) += fixup-sni.o ops-sni.o
|
||||
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
|
||||
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
|
||||
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
|
||||
obj-$(CONFIG_TANBAC_TB0287) += fixup-tb0287.o
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
#define DBG(x...)
|
||||
#endif
|
||||
|
||||
extern char irq_tab_jbs[][5];
|
||||
extern char pnx8550_irq_tab[][5];
|
||||
|
||||
void __init pcibios_fixup_resources(struct pci_dev *dev)
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ void __init pcibios_fixup(void)
|
|||
|
||||
int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return irq_tab_jbs[slot][pin];
|
||||
return pnx8550_irq_tab[slot][pin];
|
||||
}
|
||||
|
||||
/* Do platform specific device initialization at pci_enable_device() time */
|
||||
|
|
|
@ -35,23 +35,15 @@ char * prom_getcmdline(void)
|
|||
return &(arcs_cmdline[0]);
|
||||
}
|
||||
|
||||
void prom_init_cmdline(void)
|
||||
void __init prom_init_cmdline(void)
|
||||
{
|
||||
char *cp;
|
||||
int actr;
|
||||
int i;
|
||||
|
||||
actr = 1; /* Always ignore argv[0] */
|
||||
|
||||
cp = &(arcs_cmdline[0]);
|
||||
while(actr < prom_argc) {
|
||||
strcpy(cp, prom_argv[actr]);
|
||||
cp += strlen(prom_argv[actr]);
|
||||
*cp++ = ' ';
|
||||
actr++;
|
||||
arcs_cmdline[0] = '\0';
|
||||
for (i = 0; i < prom_argc; i++) {
|
||||
strcat(arcs_cmdline, prom_argv[i]);
|
||||
strcat(arcs_cmdline, " ");
|
||||
}
|
||||
if (cp != &(arcs_cmdline[0])) /* get rid of trailing space */
|
||||
--cp;
|
||||
*cp = '\0';
|
||||
}
|
||||
|
||||
char *prom_getenv(char *envname)
|
||||
|
|
|
@ -28,9 +28,9 @@
|
|||
#include <linux/init.h>
|
||||
#include <int.h>
|
||||
|
||||
char irq_tab_jbs[][5] __initdata = {
|
||||
[8] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
[9] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
[17] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
char pnx8550_irq_tab[][5] __initdata = {
|
||||
[8] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
[9] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
[17] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
# Makefile for the Philips STB810 Board.
|
||||
|
||||
lib-y := prom_init.o board_setup.o irqmap.o
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* STB810 specific board startup routines.
|
||||
*
|
||||
* Based on the arch/mips/philips/pnx8550/jbs/board_setup.c
|
||||
*
|
||||
* Author: MontaVista Software, Inc.
|
||||
* source@mvista.com
|
||||
*
|
||||
* Copyright 2005 MontaVista Software Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/mc146818rtc.h>
|
||||
#include <linux/delay.h>
|
||||
|
||||
#include <asm/cpu.h>
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mipsregs.h>
|
||||
#include <asm/reboot.h>
|
||||
#include <asm/pgtable.h>
|
||||
|
||||
#include <glb.h>
|
||||
|
||||
void __init board_setup(void)
|
||||
{
|
||||
unsigned long config0, configpr;
|
||||
|
||||
config0 = read_c0_config();
|
||||
|
||||
/* clear all three cache coherency fields */
|
||||
config0 &= ~(0x7 | (7<<25) | (7<<28));
|
||||
config0 |= (CONF_CM_DEFAULT | (CONF_CM_DEFAULT<<25) |
|
||||
(CONF_CM_DEFAULT<<28));
|
||||
write_c0_config(config0);
|
||||
|
||||
configpr = read_c0_config7();
|
||||
configpr |= (1<<19); /* enable tlb */
|
||||
write_c0_config7(configpr);
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Philips STB810 board irqmap.
|
||||
*
|
||||
* Author: MontaVista Software, Inc.
|
||||
* source@mvista.com
|
||||
*
|
||||
* Copyright 2005 MontaVista Software Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <int.h>
|
||||
|
||||
char pnx8550_irq_tab[][5] __initdata = {
|
||||
[8] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
[9] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
[10] = { -1, PNX8550_INT_PCI_INTA, 0xff, 0xff, 0xff},
|
||||
};
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* STB810 specific prom routines
|
||||
*
|
||||
* Author: MontaVista Software, Inc.
|
||||
* source@mvista.com
|
||||
*
|
||||
* Copyright 2005 MontaVista Software Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <asm/addrspace.h>
|
||||
#include <asm/bootinfo.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/kernel.h>
|
||||
|
||||
int prom_argc;
|
||||
char **prom_argv, **prom_envp;
|
||||
extern void __init prom_init_cmdline(void);
|
||||
extern char *prom_getenv(char *envname);
|
||||
|
||||
const char *get_system_type(void)
|
||||
{
|
||||
return "Philips PNX8550/STB810";
|
||||
}
|
||||
|
||||
void __init prom_init(void)
|
||||
{
|
||||
unsigned long memsize;
|
||||
|
||||
prom_argc = (int) fw_arg0;
|
||||
prom_argv = (char **) fw_arg1;
|
||||
prom_envp = (char **) fw_arg2;
|
||||
|
||||
prom_init_cmdline();
|
||||
|
||||
mips_machgroup = MACH_GROUP_PHILIPS;
|
||||
mips_machtype = MACH_PHILIPS_STB810;
|
||||
|
||||
memsize = 0x08000000; /* Trimedia uses memory above */
|
||||
add_memory_region(0, memsize, BOOT_MEM_RAM);
|
||||
}
|
|
@ -158,7 +158,6 @@ JP7 is not bus master -- do NOT use -- only 4 pci bus master's allowed -- SouthB
|
|||
#define TOSHIBA_RBTX4927_IRQ_ISA_ENABLE ( 1 << 23 )
|
||||
#define TOSHIBA_RBTX4927_IRQ_ISA_DISABLE ( 1 << 24 )
|
||||
#define TOSHIBA_RBTX4927_IRQ_ISA_MASK ( 1 << 25 )
|
||||
#define TOSHIBA_RBTX4927_IRQ_ISA_ENDIRQ ( 1 << 26 )
|
||||
|
||||
#define TOSHIBA_RBTX4927_SETUP_ALL 0xffffffff
|
||||
#endif
|
||||
|
@ -175,7 +174,6 @@ static const u32 toshiba_rbtx4927_irq_debug_flag =
|
|||
// | TOSHIBA_RBTX4927_IRQ_ISA_ENABLE
|
||||
// | TOSHIBA_RBTX4927_IRQ_ISA_DISABLE
|
||||
// | TOSHIBA_RBTX4927_IRQ_ISA_MASK
|
||||
// | TOSHIBA_RBTX4927_IRQ_ISA_ENDIRQ
|
||||
);
|
||||
#endif
|
||||
|
||||
|
@ -226,7 +224,6 @@ static void toshiba_rbtx4927_irq_ioc_disable(unsigned int irq);
|
|||
static void toshiba_rbtx4927_irq_isa_enable(unsigned int irq);
|
||||
static void toshiba_rbtx4927_irq_isa_disable(unsigned int irq);
|
||||
static void toshiba_rbtx4927_irq_isa_mask_and_ack(unsigned int irq);
|
||||
static void toshiba_rbtx4927_irq_isa_end(unsigned int irq);
|
||||
#endif
|
||||
|
||||
#define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC"
|
||||
|
@ -249,7 +246,6 @@ static struct irq_chip toshiba_rbtx4927_irq_isa_type = {
|
|||
.mask = toshiba_rbtx4927_irq_isa_disable,
|
||||
.mask_ack = toshiba_rbtx4927_irq_isa_mask_and_ack,
|
||||
.unmask = toshiba_rbtx4927_irq_isa_enable,
|
||||
.end = toshiba_rbtx4927_irq_isa_end,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -402,7 +398,8 @@ static void __init toshiba_rbtx4927_irq_isa_init(void)
|
|||
|
||||
for (i = TOSHIBA_RBTX4927_IRQ_ISA_BEG;
|
||||
i <= TOSHIBA_RBTX4927_IRQ_ISA_END; i++)
|
||||
set_irq_chip(i, &toshiba_rbtx4927_irq_isa_type);
|
||||
set_irq_chip_and_handler(i, &toshiba_rbtx4927_irq_isa_type,
|
||||
handle_level_irq);
|
||||
|
||||
setup_irq(TOSHIBA_RBTX4927_IRQ_NEST_ISA_ON_IOC,
|
||||
&toshiba_rbtx4927_irq_isa_master);
|
||||
|
@ -470,26 +467,6 @@ static void toshiba_rbtx4927_irq_isa_mask_and_ack(unsigned int irq)
|
|||
#endif
|
||||
|
||||
|
||||
#ifdef CONFIG_TOSHIBA_FPCIB0
|
||||
static void toshiba_rbtx4927_irq_isa_end(unsigned int irq)
|
||||
{
|
||||
TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_ISA_ENDIRQ,
|
||||
"irq=%d\n", irq);
|
||||
|
||||
if (irq < TOSHIBA_RBTX4927_IRQ_ISA_BEG
|
||||
|| irq > TOSHIBA_RBTX4927_IRQ_ISA_END) {
|
||||
TOSHIBA_RBTX4927_IRQ_DPRINTK(TOSHIBA_RBTX4927_IRQ_EROR,
|
||||
"bad irq=%d\n", irq);
|
||||
panic("\n");
|
||||
}
|
||||
|
||||
if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
|
||||
toshiba_rbtx4927_irq_isa_enable(irq);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void __init arch_init_irq(void)
|
||||
{
|
||||
extern void tx4927_irq_init(void);
|
||||
|
|
|
@ -6,7 +6,6 @@ config CASIO_E55
|
|||
select ISA
|
||||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
|
||||
config IBM_WORKPAD
|
||||
bool "Support for IBM WorkPad z50"
|
||||
|
@ -16,7 +15,6 @@ config IBM_WORKPAD
|
|||
select ISA
|
||||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
|
||||
config NEC_CMBVR4133
|
||||
bool "Support for NEC CMB-VR4133"
|
||||
|
@ -41,7 +39,6 @@ config TANBAC_TB022X
|
|||
select IRQ_CPU
|
||||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
help
|
||||
The TANBAC VR4131 multichip module(TB0225) and
|
||||
the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms
|
||||
|
@ -74,7 +71,6 @@ config VICTOR_MPC30X
|
|||
select IRQ_CPU
|
||||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
|
||||
config ZAO_CAPCELLA
|
||||
bool "Support for ZAO Networks Capcella"
|
||||
|
@ -84,7 +80,6 @@ config ZAO_CAPCELLA
|
|||
select IRQ_CPU
|
||||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_LITTLE_ENDIAN
|
||||
select GENERIC_HARDIRQS_NO__DO_IRQ
|
||||
|
||||
config PCI_VR41XX
|
||||
bool "Add PCI control unit support of NEC VR4100 series"
|
||||
|
|
|
@ -45,19 +45,12 @@ static void ack_i8259_irq(unsigned int irq)
|
|||
mask_and_ack_8259A(irq - I8259_IRQ_BASE);
|
||||
}
|
||||
|
||||
static void end_i8259_irq(unsigned int irq)
|
||||
{
|
||||
if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
|
||||
enable_8259A_irq(irq - I8259_IRQ_BASE);
|
||||
}
|
||||
|
||||
static struct irq_chip i8259_irq_type = {
|
||||
.typename = "XT-PIC",
|
||||
.ack = ack_i8259_irq,
|
||||
.mask = disable_i8259_irq,
|
||||
.mask_ack = ack_i8259_irq,
|
||||
.unmask = enable_i8259_irq,
|
||||
.end = end_i8259_irq,
|
||||
};
|
||||
|
||||
static int i8259_get_irq_number(int irq)
|
||||
|
@ -92,7 +85,7 @@ void __init rockhopper_init_irq(void)
|
|||
}
|
||||
|
||||
for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++)
|
||||
set_irq_chip(i, &i8259_irq_type);
|
||||
set_irq_chip_and_handler(i, &i8259_irq_type, handle_level_irq);
|
||||
|
||||
setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade);
|
||||
|
||||
|
|
|
@ -194,7 +194,7 @@ config LDM_DEBUG
|
|||
|
||||
config SGI_PARTITION
|
||||
bool "SGI partition support" if PARTITION_ADVANCED
|
||||
default y if (SGI_IP22 || SGI_IP27 || ((MACH_JAZZ || SNI_RM200_PCI) && !CPU_LITTLE_ENDIAN))
|
||||
default y if (SGI_IP22 || SGI_IP27 || ((MACH_JAZZ || SNI_RM) && !CPU_LITTLE_ENDIAN))
|
||||
help
|
||||
Say Y here if you would like to be able to read the hard disk
|
||||
partition table format used by SGI machines.
|
||||
|
|
|
@ -131,6 +131,7 @@
|
|||
#define MACH_PHILIPS_NINO 0 /* Nino */
|
||||
#define MACH_PHILIPS_VELO 1 /* Velo */
|
||||
#define MACH_PHILIPS_JBS 2 /* JBS */
|
||||
#define MACH_PHILIPS_STB810 3 /* STB810 */
|
||||
|
||||
/*
|
||||
* Valid machtype for group SIBYTE
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
/*
|
||||
* But the RM200C seems to have been shipped only with V2.0 R4600s
|
||||
*/
|
||||
#ifdef CONFIG_SNI_RM200_PCI
|
||||
#ifdef CONFIG_SNI_RM
|
||||
|
||||
#define R4600_V2_HIT_CACHEOP_WAR 1
|
||||
|
||||
|
|
Loading…
Reference in New Issue