Skip to content

Commit

Permalink
system/replay: Restrict icount to system emulation
Browse files Browse the repository at this point in the history
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231208113529.74067-7-philmd@linaro.org>
  • Loading branch information
philmd committed Jan 19, 2024
1 parent 284a7ee commit 16ad978
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 23 deletions.
2 changes: 1 addition & 1 deletion include/sysemu/cpu-timers.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ typedef enum {
ICOUNT_ADAPTATIVE,
} ICountMode;

#ifdef CONFIG_TCG
#if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY)
extern ICountMode use_icount;
#define icount_enabled() (use_icount)
#else
Expand Down
11 changes: 8 additions & 3 deletions include/sysemu/replay.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#ifndef SYSEMU_REPLAY_H
#define SYSEMU_REPLAY_H

/*
* QEMU replay (system interface)
*
Expand All @@ -11,6 +8,12 @@
* See the COPYING file in the top-level directory.
*
*/
#ifndef SYSEMU_REPLAY_H
#define SYSEMU_REPLAY_H

#ifdef CONFIG_USER_ONLY
#error Cannot include this header from user emulation
#endif

#include "exec/replay-core.h"
#include "qapi/qapi-types-misc.h"
Expand Down Expand Up @@ -84,12 +87,14 @@ int64_t replay_save_clock(ReplayClockKind kind, int64_t clock,
int64_t replay_read_clock(ReplayClockKind kind, int64_t raw_icount);
/*! Saves or reads the clock depending on the current replay mode. */
#define REPLAY_CLOCK(clock, value) \
!icount_enabled() ? (value) : \
(replay_mode == REPLAY_MODE_PLAY \
? replay_read_clock((clock), icount_get_raw()) \
: replay_mode == REPLAY_MODE_RECORD \
? replay_save_clock((clock), (value), icount_get_raw()) \
: (value))
#define REPLAY_CLOCK_LOCKED(clock, value) \
!icount_enabled() ? (value) : \
(replay_mode == REPLAY_MODE_PLAY \
? replay_read_clock((clock), icount_get_raw_locked()) \
: replay_mode == REPLAY_MODE_RECORD \
Expand Down
19 changes: 0 additions & 19 deletions stubs/icount.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@

ICountMode use_icount = ICOUNT_DISABLED;

void icount_update(CPUState *cpu)
{
abort();
}
bool icount_configure(QemuOpts *opts, Error **errp)
{
/* signal error */
Expand All @@ -22,21 +18,6 @@ int64_t icount_get_raw(void)
abort();
return 0;
}
int64_t icount_get(void)
{
abort();
return 0;
}
int64_t icount_to_ns(int64_t icount)
{
abort();
return 0;
}
int64_t icount_round(int64_t count)
{
abort();
return 0;
}
void icount_start_warp_timer(void)
{
abort();
Expand Down

0 comments on commit 16ad978

Please sign in to comment.