summaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/amiga/amiints.c6
-rw-r--r--arch/m68k/atari/debug.c4
-rw-r--r--arch/m68k/bvme6000/config.c1
-rw-r--r--arch/m68k/kernel/signal.c2
-rw-r--r--arch/m68k/kernel/traps.c23
-rw-r--r--arch/m68k/mac/debug.c4
-rw-r--r--arch/m68k/mvme147/config.c1
-rw-r--r--arch/m68k/mvme16x/config.c1
8 files changed, 10 insertions, 32 deletions
diff --git a/arch/m68k/amiga/amiints.c b/arch/m68k/amiga/amiints.c
index 209813dfb..099119178 100644
--- a/arch/m68k/amiga/amiints.c
+++ b/arch/m68k/amiga/amiints.c
@@ -364,7 +364,7 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp, struct irq_server *server)
intena = ami_intena_vals[irq];
custom.intreq = intena;
- /* serve first fast handlers - there can only be one of these */
+ /* serve fast handler if present - there can only be one of these */
node = ami_irq_list[irq];
/*
@@ -392,7 +392,11 @@ void amiga_do_irq_list(int irq, struct pt_regs *fp, struct irq_server *server)
*/
custom.intena = intena;
save_flags(flags);
+#if 0 /* def CPU_M68060_ONLY */
sti();
+#else
+ restore_flags((flags & ~0x0700) | (fp->sr & 0x0700));
+#endif
slow_nodes = node;
for (;;) {
diff --git a/arch/m68k/atari/debug.c b/arch/m68k/atari/debug.c
index e14c97e42..e30cb4e55 100644
--- a/arch/m68k/atari/debug.c
+++ b/arch/m68k/atari/debug.c
@@ -311,10 +311,6 @@ void atari_init_midi_port( int cflag )
void __init atari_debug_init(void)
{
-#ifdef CONFIG_KGDB
- /* the m68k_debug_device is used by the GDB stub, do nothing here */
- return;
-#endif
if (!strcmp( m68k_debug_device, "ser" )) {
/* defaults to ser2 for a Falcon and ser1 otherwise */
strcpy( m68k_debug_device, MACH_IS_FALCON ? "ser2" : "ser1" );
diff --git a/arch/m68k/bvme6000/config.c b/arch/m68k/bvme6000/config.c
index bbe808d3f..b1b245ec2 100644
--- a/arch/m68k/bvme6000/config.c
+++ b/arch/m68k/bvme6000/config.c
@@ -132,6 +132,7 @@ void __init config_bvme6000(void)
bvme6000_set_vectors();
#endif
+ mach_max_dma_address = 0xffffffff;
mach_sched_init = bvme6000_sched_init;
mach_keyb_init = bvme6000_keyb_init;
mach_kbdrate = bvme6000_kbdrate;
diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c
index 555b39612..d795c71ad 100644
--- a/arch/m68k/kernel/signal.c
+++ b/arch/m68k/kernel/signal.c
@@ -37,6 +37,7 @@
#include <linux/ptrace.h>
#include <linux/unistd.h>
#include <linux/stddef.h>
+#include <linux/highuid.h>
#include <asm/setup.h>
#include <asm/uaccess.h>
@@ -1048,6 +1049,7 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs)
info.si_code = SI_USER;
info.si_pid = current->p_pptr->pid;
info.si_uid = current->p_pptr->uid;
+ info.si_uid16 = high2lowuid(current->p_pptr->uid);
}
/* If the (new) signal is now blocked, requeue it. */
diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c
index db298c997..5fd9dc0a7 100644
--- a/arch/m68k/kernel/traps.c
+++ b/arch/m68k/kernel/traps.c
@@ -37,9 +37,6 @@
#include <asm/pgtable.h>
#include <asm/machdep.h>
#include <asm/siginfo.h>
-#ifdef CONFIG_KGDB
-#include <asm/kgdb.h>
-#endif
/* assembler routines */
asmlinkage void system_call(void);
@@ -766,11 +763,6 @@ int kstack_depth_to_print = 48;
static void dump_stack(struct frame *fp)
{
-#ifdef CONFIG_KGDB
- /* This will never return to here, if kgdb has been initialized. And if
- * it returns from there, then to where the error happened... */
- enter_kgdb( &fp->ptregs );
-#else
unsigned long *stack, *endstack, addr, module_start, module_end;
extern char _start, _etext;
int i;
@@ -868,15 +860,10 @@ static void dump_stack(struct frame *fp)
for (i = 0; i < 10; i++)
printk("%04x ", 0xffff & ((short *) fp->ptregs.pc)[i]);
printk ("\n");
-#endif
}
void bad_super_trap (struct frame *fp)
{
-#ifdef CONFIG_KGDB
- /* Save the register dump if we'll enter kgdb anyways */
- if (!kgdb_initialized) {
-#endif
console_verbose();
if (fp->ptregs.vector < 4*sizeof(vec_names)/sizeof(vec_names[0]))
printk ("*** %s *** FORMAT=%X\n",
@@ -906,9 +893,6 @@ void bad_super_trap (struct frame *fp)
fp->ptregs.pc);
}
printk ("Current process id is %d\n", current->pid);
-#ifdef CONFIG_KGDB
- }
-#endif
die_if_kernel("BAD KERNEL TRAP", &fp->ptregs, 0);
}
@@ -1037,10 +1021,6 @@ void die_if_kernel (char *str, struct pt_regs *fp, int nr)
if (!(fp->sr & PS_S))
return;
-#ifdef CONFIG_KGDB
- /* Save the register dump if we'll enter kgdb anyways */
- if (!kgdb_initialized) {
-#endif
console_verbose();
printk("%s: %08x\n",str,nr);
printk("PC: [<%08lx>]\nSR: %04x SP: %p a2: %08lx\n",
@@ -1052,9 +1032,6 @@ void die_if_kernel (char *str, struct pt_regs *fp, int nr)
printk("Process %s (pid: %d, stackpage=%08lx)\n",
current->comm, current->pid, PAGE_SIZE+(unsigned long)current);
-#ifdef CONFIG_KGDB
- }
-#endif
dump_stack((struct frame *)fp);
do_exit(SIGSEGV);
}
diff --git a/arch/m68k/mac/debug.c b/arch/m68k/mac/debug.c
index 98cb2a695..fa3910b5e 100644
--- a/arch/m68k/mac/debug.c
+++ b/arch/m68k/mac/debug.c
@@ -397,10 +397,6 @@ void mac_init_sccb_port( int cflag )
void __init mac_debug_init(void)
{
-#ifdef CONFIG_KGDB
- /* the m68k_debug_device is used by the GDB stub, do nothing here */
- return;
-#endif
#ifdef DEBUG_SERIAL
if ( !strcmp( m68k_debug_device, "ser" )
|| !strcmp( m68k_debug_device, "ser1" )) {
diff --git a/arch/m68k/mvme147/config.c b/arch/m68k/mvme147/config.c
index c27a18279..d48a0201b 100644
--- a/arch/m68k/mvme147/config.c
+++ b/arch/m68k/mvme147/config.c
@@ -101,6 +101,7 @@ static int mvme147_get_hardware_list(char *buffer)
void __init config_mvme147(void)
{
+ mach_max_dma_address = 0x01000000;
mach_sched_init = mvme147_sched_init;
mach_keyb_init = mvme147_keyb_init;
mach_kbdrate = mvme147_kbdrate;
diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c
index 3c93562f9..83a0d5297 100644
--- a/arch/m68k/mvme16x/config.c
+++ b/arch/m68k/mvme16x/config.c
@@ -145,6 +145,7 @@ void __init config_mvme16x(void)
p_bdid p = &mvme_bdid;
char id[40];
+ mach_max_dma_address = 0xffffffff;
mach_sched_init = mvme16x_sched_init;
mach_keyb_init = mvme16x_keyb_init;
mach_kbdrate = mvme16x_kbdrate;