summaryrefslogtreecommitdiffstats
path: root/include/asm-m68k
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-04-05 11:23:36 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-04-05 11:23:36 +0000
commit4318fbda2a7ee51caafdc4eb1f8028a3f0605142 (patch)
treecddb50a81d7d1a628cc400519162080c6d87868e /include/asm-m68k
parent36ea5120664550fae6d31f1c6f695e4f8975cb06 (diff)
o Merge with Linux 2.1.91.
o First round of bugfixes for the SC/MC CPUs. o FPU context switch fixes. o Lazy context switches. o Faster syscalls. o Removed dead code. o Shitloads of other things I forgot ...
Diffstat (limited to 'include/asm-m68k')
-rw-r--r--include/asm-m68k/amifd.h14
-rw-r--r--include/asm-m68k/ide.h2
-rw-r--r--include/asm-m68k/setup.h2
-rw-r--r--include/asm-m68k/signal.h13
-rw-r--r--include/asm-m68k/unistd.h1
5 files changed, 22 insertions, 10 deletions
diff --git a/include/asm-m68k/amifd.h b/include/asm-m68k/amifd.h
index 0c13747c3..ea21e69fd 100644
--- a/include/asm-m68k/amifd.h
+++ b/include/asm-m68k/amifd.h
@@ -5,21 +5,23 @@
#include <linux/fd.h>
-#define FD_MAX_UNITS 4
+#define FD_MAX_UNITS 4 /* Max. Number of drives */
+#define FLOPPY_MAX_SECTORS 22 /* Max. Number of sectors per track */
+
+#ifndef ASSEMBLER
struct fd_data_type {
char *name; /* description of data type */
int sects; /* sectors per track */
#ifdef __STDC__
- int (*read_fkt)(int, unsigned char *, unsigned long, int);
- void (*write_fkt)(int, unsigned long, unsigned char *, int);
+ int (*read_fkt)(int);
+ void (*write_fkt)(int);
#else
int (*read_fkt)(); /* read whole track */
void (*write_fkt)(); /* write whole track */
#endif
};
-#ifndef ASSEMBLER
/*
** Floppy type descriptions
*/
@@ -43,13 +45,15 @@ struct amiga_floppy_struct {
struct fd_drive_type *type; /* type of floppy for this unit */
struct fd_data_type *dtype; /* type of floppy for this unit */
int track; /* current track (-1 == unknown) */
+ unsigned char *trackbuf; /* current track (kmaloc()'d */
int blocks; /* total # blocks on disk */
- int sects; /* number of sectors per track */
+ int changed; /* true when not known */
int disk; /* disk in drive (-1 == unknown) */
int motor; /* true when motor is at speed */
int busy; /* true when drive is active */
+ int dirty; /* true when trackbuf is not on disk */
int status; /* current error code for unit */
};
#endif
diff --git a/include/asm-m68k/ide.h b/include/asm-m68k/ide.h
index bf155740f..0a0222ac5 100644
--- a/include/asm-m68k/ide.h
+++ b/include/asm-m68k/ide.h
@@ -406,7 +406,7 @@ static __inline__ void ide_get_lock (int *ide_lock, void (*handler)(int, void *,
#endif /* CONFIG_ATARI */
}
-#define ide_ack_intr(hwif) (hwif)->ack_intr((hwif))
+#define ide_ack_intr(hwif) ((hwif)->ack_intr ? (hwif)->ack_intr(hwif) : 1)
/*
* On the Atari, we sometimes can't enable interrupts:
diff --git a/include/asm-m68k/setup.h b/include/asm-m68k/setup.h
index 0255ca97f..16cd23c12 100644
--- a/include/asm-m68k/setup.h
+++ b/include/asm-m68k/setup.h
@@ -131,7 +131,7 @@ extern u_long m68k_machtype;
*
* CPU_68020 == MMU_68851
* CPU_68030 == MMU_68030
- * CPU_68040 == FPU_68040 == MMU_68040 (not strictly, think of 68LC040!)
+ * CPU_68040 == FPU_68040 == MMU_68040
* CPU_68060 == FPU_68060 == MMU_68060
*/
diff --git a/include/asm-m68k/signal.h b/include/asm-m68k/signal.h
index 1f3466aff..5fa3fa67e 100644
--- a/include/asm-m68k/signal.h
+++ b/include/asm-m68k/signal.h
@@ -128,6 +128,13 @@ struct old_sigaction {
void (*sa_restorer)(void);
};
+struct sigaction {
+ __sighandler_t sa_handler;
+ unsigned long sa_flags;
+ void (*sa_restorer)(void);
+ sigset_t sa_mask; /* mask last for extensibility */
+};
+
struct k_sigaction {
struct sigaction sa;
};
@@ -173,9 +180,9 @@ extern __inline__ int __const_sigismember(sigset_t *set, int _sig)
extern __inline__ int __gen_sigismember(sigset_t *set, int _sig)
{
- char ret;
- __asm__("bftst %1{%2,#1}\n\t sne %0"
- : "=rm"(ret) : "m"(*set), "id"((_sig-1) ^ 31) : "cc");
+ int ret;
+ __asm__("bfextu %1{%2,#1},%0"
+ : "=d"(ret) : "m"(*set), "id"((_sig-1) ^ 31));
return ret;
}
diff --git a/include/asm-m68k/unistd.h b/include/asm-m68k/unistd.h
index 7c5226b95..f82743219 100644
--- a/include/asm-m68k/unistd.h
+++ b/include/asm-m68k/unistd.h
@@ -316,6 +316,7 @@ static inline _syscall3(int,open,const char *,file,int,flag,int,mode)
static inline _syscall1(int,close,int,fd)
static inline _syscall1(int,_exit,int,exitcode)
static inline _syscall3(pid_t,waitpid,pid_t,pid,int *,wait_stat,int,options)
+static inline _syscall1(int,delete_module,const char *,name)
/*
* This is the mechanism for creating a new kernel thread.