diff options
Diffstat (limited to 'linuxthreads')
-rw-r--r-- | linuxthreads/ChangeLog | 6 | ||||
-rw-r--r-- | linuxthreads/sysdeps/s390/s390-32/pt-machine.h | 11 | ||||
-rw-r--r-- | linuxthreads/sysdeps/s390/s390-64/pt-machine.h | 11 |
3 files changed, 16 insertions, 12 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index aa115ee3d7..a8a98e8031 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,9 @@ +2002-01-16 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/s390/s390-32/pt-machine.h (MEMORY_BARRIER): Define. + (CURRENT_STACK_FRAME): Remove duplicate definition. + * sysdeps/s390/s390-64/pt-machine.h: Likewise. + 2002-01-14 Martin Schwidefsky <schwidefsky@de.ibm.com> * Makefile (CFLAGS-tst-cancel.c): Add -fno-inline-functions to prevent diff --git a/linuxthreads/sysdeps/s390/s390-32/pt-machine.h b/linuxthreads/sysdeps/s390/s390-32/pt-machine.h index 3afc9d5d60..f84ccdfc90 100644 --- a/linuxthreads/sysdeps/s390/s390-32/pt-machine.h +++ b/linuxthreads/sysdeps/s390/s390-32/pt-machine.h @@ -23,6 +23,11 @@ # define PT_EI extern inline #endif +/* For multiprocessor systems, we want to ensure all memory accesses + are completed before we reset a lock. On other systems, we still + need to make sure that the compiler has flushed everything to memory. */ +#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory") + /* Spinlock implementation; required. */ PT_EI long int testandset (int *spinlock) @@ -94,9 +99,3 @@ __compare_and_swap(long int *p, long int oldval, long int newval) return retval == 0; } - - -/* Get some notion of the current stack. Need not be exactly the top - of the stack, just something somewhere in the current frame. */ -#define CURRENT_STACK_FRAME stack_pointer -register char * stack_pointer __asm__ ("%r15"); diff --git a/linuxthreads/sysdeps/s390/s390-64/pt-machine.h b/linuxthreads/sysdeps/s390/s390-64/pt-machine.h index f205c1245c..8b123352d9 100644 --- a/linuxthreads/sysdeps/s390/s390-64/pt-machine.h +++ b/linuxthreads/sysdeps/s390/s390-64/pt-machine.h @@ -23,6 +23,11 @@ # define PT_EI extern inline #endif +/* For multiprocessor systems, we want to ensure all memory accesses + are completed before we reset a lock. On other systems, we still + need to make sure that the compiler has flushed everything to memory. */ +#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory") + /* Spinlock implementation; required. */ PT_EI long int testandset (int *spinlock) @@ -99,9 +104,3 @@ __compare_and_swap(long int *p, long int oldval, long int newval) return retval == 0; } - - -/* Get some notion of the current stack. Need not be exactly the top - of the stack, just something somewhere in the current frame. */ -#define CURRENT_STACK_FRAME stack_pointer -register char * stack_pointer __asm__ ("%r15"); |