Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 038e5e2b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (47 commits)
  [MAINTAINERS] The ham radio code now has website at http://www.linux-ax25.org.
  [MIPS] Use __ffs() instead of ffs() for waybit calculation.
  [MIPS] Fix Makefile bugs for MIPS32/MIPS64 R1 and R2.
  [MIPS] Handle IDE PIO cache aliases on SMP.
  [MIPS] Make mips_srs_init static.
  [MIPS] MIPS boards: Set HZ to 100.
  [MIPS] kgdb: Let gcc compute the array size itself.
  [MIPS] FPU affinity for MT ASE.
  [MIPS] MT: Improved multithreading support.
  [MIPS] kpsd and other AP/SP improvements.
  [MIPS] R2: Instruction hazard barrier.
  [MIPS] Fix genrtc compilation.
  [MIPS] R2: Implement shadow register allocation without spinlock.
  [MIPS] Fix VR41xx build errors.
  [MIPS] Fix tx49_blast_icache32_page_indexed.
  [MIPS] Enable SCHED_NO_NO_OMIT_FRAME_POINTER for MIPS.
  [MIPS] Use "R" constraint for cache_op.
  [MIPS] Rewrite all the assembler interrupt handlers to C.
  [MIPS] Fix the crime against humanity that mipsIRQ.S is.
  [MIPS] Fixup damage done by 22a9835c.
  ...
parents 5c723d26 d34cb28a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -411,6 +411,7 @@ AX.25 NETWORK LAYER
P:	Ralf Baechle
M:	ralf@linux-mips.org
L:	linux-hams@vger.kernel.org
W:	http://www.linux-ax25.org/
S:	Maintained

BAYCOM/HDLCDRV DRIVERS FOR AX.25
@@ -1869,6 +1870,7 @@ NETROM NETWORK LAYER
P:	Ralf Baechle
M:	ralf@linux-mips.org
L:	linux-hams@vger.kernel.org
W:	http://www.linux-ax25.org/
S:	Maintained

NETWORK BLOCK DEVICE
@@ -2260,6 +2262,7 @@ ROSE NETWORK LAYER
P:	Ralf Baechle
M:	ralf@linux-mips.org
L:	linux-hams@vger.kernel.org
W:	http://www.linux-ax25.org/
S:	Maintained

RISCOM8 DRIVER
+24 −1
Original line number Diff line number Diff line
@@ -816,6 +816,10 @@ config GENERIC_CALIBRATE_DELAY
	bool
	default y

config SCHED_NO_NO_OMIT_FRAME_POINTER
	bool
	default y

#
# Select some configuration options automatically based on user selections.
#
@@ -1443,6 +1447,10 @@ choice
	prompt "MIPS MT options"
	depends on MIPS_MT

config MIPS_MT_SMTC
	bool "SMTC: Use all TCs on all VPEs for SMP"
	select SMP

config MIPS_MT_SMP
	bool "Use 1 TC on each available VPE for SMP"
	select SMP
@@ -1456,6 +1464,11 @@ config MIPS_VPE_LOADER

endchoice

config MIPS_MT_FPAFF
	bool "Dynamic FPU affinity for FP-intensive threads"
	depends on MIPS_MT
	default y

config MIPS_VPE_LOADER_TOM
	bool "Load VPE program into memory hidden from linux"
	depends on MIPS_VPE_LOADER
@@ -1472,6 +1485,16 @@ config MIPS_VPE_APSP_API
	depends on MIPS_VPE_LOADER
	help

config MIPS_APSP_KSPD
	bool "Enable KSPD"
	depends on MIPS_VPE_APSP_API
	default y
	help
	  KSPD is a kernel daemon that accepts syscall requests from the SP
	  side, actions them and returns the results. It also handles the
	  "exit" syscall notifying other kernel modules the SP program is
	  exiting.  You probably want to say yes here.

config SB1_PASS_1_WORKAROUNDS
	bool
	depends on CPU_SB1_PASS_1
@@ -1599,7 +1622,7 @@ source "mm/Kconfig"

config SMP
	bool "Multi-Processing support"
	depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
	depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP || MIPS_MT_SMTC
	---help---
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, like most personal computers, say N. If
+6 −6
Original line number Diff line number Diff line
@@ -105,18 +105,18 @@ cflags-$(CONFIG_CPU_R4300) += -march=r4300 -Wa,--trap
cflags-$(CONFIG_CPU_VR41XX)	+= -march=r4100 -Wa,--trap
cflags-$(CONFIG_CPU_R4X00)	+= -march=r4600 -Wa,--trap
cflags-$(CONFIG_CPU_TX49XX)	+= -march=r4600 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS32_R1)	+= $(call cc-option,-march=mips32,-mips2 -mtune=r4600) \
cflags-$(CONFIG_CPU_MIPS32_R1)	+= $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
			-Wa,-mips32 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS32_R2)	+= $(call cc-option,-march=mips32r2,-mips2 -mtune=r4600) \
cflags-$(CONFIG_CPU_MIPS32_R2)	+= $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
			-Wa,-mips32r2 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS64_R1)	+= $(call cc-option,-march=mips64,-mips2 -mtune=r4600) \
cflags-$(CONFIG_CPU_MIPS64_R1)	+= $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
			-Wa,-mips64 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS64_R2)	+= $(call cc-option,-march=mips64r2,-mips2 -mtune=r4600 ) \
cflags-$(CONFIG_CPU_MIPS64_R2)	+= $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
			-Wa,-mips64r2 -Wa,--trap
cflags-$(CONFIG_CPU_R5000)	+= -march=r5000 -Wa,--trap
cflags-$(CONFIG_CPU_R5432)	+= $(call cc-options,-march=r5400,-march=r5000) \
cflags-$(CONFIG_CPU_R5432)	+= $(call cc-option,-march=r5400,-march=r5000) \
			-Wa,--trap
cflags-$(CONFIG_CPU_NEVADA)	+= $(call cc-options,-march=rm5200,-march=r5000) \
cflags-$(CONFIG_CPU_NEVADA)	+= $(call cc-option,-march=rm5200,-march=r5000) \
			-Wa,--trap
cflags-$(CONFIG_CPU_RM7000)	+= $(call cc-option,-march=rm7000,-march=r5000) \
			-Wa,--trap
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
# Makefile for the Alchemy Au1000 CPU, generic files.
#

obj-y += prom.o int-handler.o irq.o puts.o time.o reset.o \
obj-y += prom.o irq.o puts.o time.o reset.o \
	au1xxx_irqmap.o clocks.o platform.o power.o setup.o \
	sleeper.o cputable.o dma.o dbdma.o gpio.o

+0 −68
Original line number Diff line number Diff line
/*
 * Copyright 2001 MontaVista Software Inc.
 * Author: ppopov@mvista.com
 *
 * Interrupt dispatcher for Au1000 boards.
 *
 * 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 <asm/asm.h>
#include <asm/mipsregs.h>
#include <asm/addrspace.h>
#include <asm/regdef.h>
#include <asm/stackframe.h>

	.text
	.set	macro
	.set	noat
	.align	5

NESTED(au1000_IRQ, PT_SIZE, sp)
	SAVE_ALL
	CLI				# Important: mark KERNEL mode !

	mfc0	t0,CP0_CAUSE		# get pending interrupts
	mfc0	t1,CP0_STATUS		# get enabled interrupts
	and	t0,t1			# isolate allowed ones

	andi	t0,0xff00		# isolate pending bits
	beqz	t0, 3f			# spurious interrupt

	andi	a0, t0, CAUSEF_IP7
	beq	a0, zero, 1f
	move	a0, sp
	jal	mips_timer_interrupt
	j	ret_from_irq

1:
	andi	a0, t0, CAUSEF_IP2	# Interrupt Controller 0, Request 0
	beq	a0, zero, 2f
	move	a0,sp
	jal	intc0_req0_irqdispatch
	j	ret_from_irq
2:
	andi	a0, t0, CAUSEF_IP3	# Interrupt Controller 0, Request 1
	beq	a0, zero, 3f
	move	a0,sp
	jal	intc0_req1_irqdispatch
	j	ret_from_irq
3:
	andi	a0, t0, CAUSEF_IP4	# Interrupt Controller 1, Request 0
	beq	a0, zero, 4f
	move	a0,sp
	jal	intc1_req0_irqdispatch
	j	ret_from_irq
4:
	andi	a0, t0, CAUSEF_IP5	# Interrupt Controller 1, Request 1
	beq	a0, zero, 5f
	move	a0, sp
	jal	intc1_req1_irqdispatch
	j	ret_from_irq

5:
	move	a0, sp
	j	spurious_interrupt
END(au1000_IRQ)
Loading