Skip to content

Commit

Permalink
Define HAVE_SPRR
Browse files Browse the repository at this point in the history
  • Loading branch information
wtdcode committed Feb 13, 2024
1 parent 7012e45 commit 71c729a
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 5 deletions.
2 changes: 1 addition & 1 deletion qemu/accel/tcg/translate-all.c
Original file line number Diff line number Diff line change
Expand Up @@ -2171,7 +2171,7 @@ void tcg_flush_softmmu_tlb(struct uc_struct *uc)
}


#if defined(__APPLE__) && defined(HAVE_PTHREAD_JIT_PROTECT) && (defined(__arm__) || defined(__aarch64__))
#if defined(__APPLE__) && defined(HAVE_PTHREAD_JIT_PROTECT) && defined(HAVE_SPRR) && (defined(__arm__) || defined(__aarch64__))
static bool tb_exec_is_locked(struct uc_struct *uc)
{
return uc->current_executable;
Expand Down
9 changes: 7 additions & 2 deletions qemu/configure
Original file line number Diff line number Diff line change
Expand Up @@ -2163,13 +2163,14 @@ int main() {
}
EOF
if ! compile_prog ""; then
have_sprr='no'
have_pthread_jit_protect='no'
else
$TMPE
if [ $? -eq 0 ]; then
have_pthread_jit_protect='yes'
have_sprr='yes'
else
have_pthread_jit_protect='no'
have_sprr='no'
fi
fi
fi
Expand Down Expand Up @@ -2553,6 +2554,10 @@ if test "$have_pthread_jit_protect" = "yes" ; then
echo "HAVE_PTHREAD_JIT_PROTECT=y" >> $config_host_mak
fi

if test "$have_sprr" = "yes" ; then
echo "HAVE_SPRR=y" >> $config_host_mak
fi

# Hold two types of flag:
# CONFIG_THREAD_SETNAME_BYTHREAD - we've got a way of setting the name on
# a thread we have a handle to
Expand Down
2 changes: 1 addition & 1 deletion qemu/include/tcg/tcg-apple-jit.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#ifndef TCG_APPLE_JIT_H
#define TCG_APPLE_JIT_H

#if defined(__APPLE__) && defined(HAVE_PTHREAD_JIT_PROTECT) && (defined(__arm__) || defined(__aarch64__))
#if defined(__APPLE__) && defined(HAVE_PTHREAD_JIT_PROTECT) && defined(HAVE_SPRR) && (defined(__arm__) || defined(__aarch64__))

/* write protect enable = write disable */
static inline void jit_write_protect(int enabled)
Expand Down
3 changes: 2 additions & 1 deletion uc.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ static void clear_deleted_hooks(uc_engine *uc);
static uc_err uc_snapshot(uc_engine *uc);
static uc_err uc_restore_latest_snapshot(uc_engine *uc);

#if defined(__APPLE__) && defined(HAVE_PTHREAD_JIT_PROTECT) && (defined(__arm__) || defined(__aarch64__))
#if defined(__APPLE__) && defined(HAVE_PTHREAD_JIT_PROTECT) && \
defined(HAVE_SPRR) && (defined(__arm__) || defined(__aarch64__))
static void save_jit_state(uc_engine *uc)
{
if (!uc->nested) {
Expand Down

0 comments on commit 71c729a

Please sign in to comment.