mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-27 01:27:39 +01:00
If we have it, include <ia64intrin.h>.
(flush_cache): Moved to flush-cache.S. (Logical change 1.68)
This commit is contained in:
parent
bf2a805be2
commit
b0d98c76e4
1 changed files with 5 additions and 14 deletions
|
@ -8,6 +8,10 @@
|
||||||
|
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
|
#ifdef HAVE_IA64INTRIN_H
|
||||||
|
# include <ia64intrin.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
int verbose;
|
int verbose;
|
||||||
|
|
||||||
#ifdef __ia64__
|
#ifdef __ia64__
|
||||||
|
@ -20,20 +24,7 @@ int verbose;
|
||||||
# define EXTRA 0
|
# define EXTRA 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void
|
extern void flush_cache (void *addr, size_t len);
|
||||||
flush_cache (void *addr, size_t len)
|
|
||||||
{
|
|
||||||
#ifdef __ia64__
|
|
||||||
void *end = (char *) addr + len;
|
|
||||||
|
|
||||||
while (addr < end)
|
|
||||||
{
|
|
||||||
asm volatile ("fc %0" :: "r"(addr));
|
|
||||||
addr = (char *) addr + 32;
|
|
||||||
}
|
|
||||||
asm volatile (";;sync.i;;srlz.i;;");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
make_executable (void *addr, size_t len)
|
make_executable (void *addr, size_t len)
|
||||||
|
|
Loading…
Reference in a new issue