diff options
author | Marcus Brinkmann <marcus@gnu.org> | 2000-07-23 00:34:12 +0000 |
---|---|---|
committer | Marcus Brinkmann <marcus@gnu.org> | 2000-07-23 00:34:12 +0000 |
commit | 91933a41184cd816cb8ce4d96cf8764ebd7dde8c (patch) | |
tree | 18d263f9e1f1a851a1cd13851a2acba48b2e1fe6 /linux/dev/include/asm-i386/segment.h | |
parent | 92976e1b4ab184ff6cf70d7bd9944ae5050c4fc3 (diff) | |
download | gnumach-91933a41184cd816cb8ce4d96cf8764ebd7dde8c.tar.gz gnumach-91933a41184cd816cb8ce4d96cf8764ebd7dde8c.tar.bz2 gnumach-91933a41184cd816cb8ce4d96cf8764ebd7dde8c.zip |
2000-07-04 Marcus Brinkmann <marcus@gnu.org>
* debian/changelog: Add entry for new Debian upload.
* linux/dev/drivers/scsi/seagate.c (WRITE_CONTROL, WRITE_DATA):
Added from linux 2.2.15.
(__asm__ constructs): Replace with equivalent C code from linux 2.2.15
to support gcc-2.95.
* linux/src/drivers/scsi/in2000.h: Update asm code to linux 2.2.15.
* linux/src/drivers/scsi/ppa.c: Replace asm code with equivalent
C code from linux 2.2.15.
2000-02-06 Stefan Weil <stefan.weil@de.heidelberg.com>
* device/subrs.c: Fixed compiler warning.
* ddb/db_output.c, kern/bootstrap.c, kern/debug.c, kern/printf.c:
Replaced varargs.h by stdarg.h. Fixed prototypes (const char *fmt).
* ddb/db_output.h: Use prototype for db_printf.
* i386/Files: removed varargs.h.
* i386/i386/pit.h: Fixed compiler warning.
* i386/i386at/model_dep.c: Tried to fix compiler warning.
* i386/include/mach/sa/sys/varargs.h: Removed.
* i386/linux/Makefile.in: Removed delay.S, added delay.c.
* linux/dev/include/asm-i386/segment.h: Support gcc-2.95.
* linux/dev/include/asm-i386/string.h,
linux/src/include/asm-i386/string.h: Update from linux-2.2.14.
* linux/dev/lib/vsprintf.c: Fixed compiler warning.
* linux/src/include/asm-i386/delay.h: Update from linux-2.2.14.
* linux/src/arch/i386/lib/delay.c: Copy from linux-2.2.14.
* linux/src/include/asm-i386/string.h: Update from linux-2.2.14.
Diffstat (limited to 'linux/dev/include/asm-i386/segment.h')
-rw-r--r-- | linux/dev/include/asm-i386/segment.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/linux/dev/include/asm-i386/segment.h b/linux/dev/include/asm-i386/segment.h index 73952b01..db06caa7 100644 --- a/linux/dev/include/asm-i386/segment.h +++ b/linux/dev/include/asm-i386/segment.h @@ -92,6 +92,7 @@ static inline unsigned long __get_user(const void * y, int size) } } +#if defined(__GNUC__) && (__GNUC__ == 2) && (__GNUC_MINOR__ < 95) static inline void __generic_memcpy_tofs(void * to, const void * from, unsigned long n) { __asm__ volatile @@ -272,6 +273,29 @@ __asm__("cld\n\t" \ __constant_memcpy_tofs((to),(from),(n)) : \ __generic_memcpy_tofs((to),(from),(n))) + +#else /* code for gcc-2.95.x and newer follows */ + +static inline void memcpy_fromfs(void * to, const void * from, unsigned long n) +{ + char *d = (char *)to; + const char *s = (const char *)from; + while (n-- > 0) { + *d++ = __get_user(s++, 1); + } +} + +static inline void memcpy_tofs(void * to, const void * from, unsigned long n) +{ + char *d = (char *)to; + const char *s = (const char *)from; + while (n-- > 0) { + __put_user(*s++, d++, 1); + } +} + +#endif /* not gcc-2.95 */ + /* * These are deprecated.. * |