diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-12-18 23:40:50 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-12-18 23:40:50 +0000 |
commit | 9d1306dd216960a60dfb951c1385bf05b7a20512 (patch) | |
tree | ba9f30eccc77cddee93b7063f8b4c49b53e15971 /sysdeps/arm | |
parent | baa41915ea44a3de3ac8e0f1daa316a38da98be7 (diff) | |
download | glibc-9d1306dd216960a60dfb951c1385bf05b7a20512.tar glibc-9d1306dd216960a60dfb951c1385bf05b7a20512.tar.gz glibc-9d1306dd216960a60dfb951c1385bf05b7a20512.tar.bz2 glibc-9d1306dd216960a60dfb951c1385bf05b7a20512.zip |
(CLEAR_CACHE): New macro to force a cache flush.
Diffstat (limited to 'sysdeps/arm')
-rw-r--r-- | sysdeps/arm/dl-machine.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h index 2e6faf5d51..de2d0babf5 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -32,6 +32,14 @@ && VALID_ELF_OSABI (hdr[EI_OSABI]) \ && VALID_ELF_ABIVERSION (hdr[EI_ABIVERSION]) +#define CLEAR_CACHE(BEG,END) \ +{ \ + register unsigned long _beg __asm ("a1") = (unsigned long)(BEG); \ + register unsigned long _end __asm ("a2") = (unsigned long)((END) - (BEG));\ + register unsigned long _flg __asm ("a3") = 0; \ + __asm __volatile ("swi 0x9f0002"); \ +} + /* Return nonzero iff E_MACHINE is compatible with the running host. */ static inline int __attribute__ ((unused)) elf_machine_matches_host (Elf32_Half e_machine) |