Commit dba4f1bc authored by Stefan Weil's avatar Stefan Weil Committed by Blue Swirl
Browse files

w64: Change data type of parameters for flush_icache_range



The TCG targets i386 and tci needed a change of the function
prototype for w64.

This change is currently not needed for the other TCG targets,
but it can be applied to avoid code differences.

Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: Andrzej Zaborowski <balrogg@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: Alexander Graf <agraf@suse.de>
Signed-off-by: default avatarStefan Weil <sw@weilnetz.de>
Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
parent f57a5160
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -81,7 +81,8 @@ enum {
    TCG_AREG0 = TCG_REG_R6,
};

static inline void flush_icache_range(unsigned long start, unsigned long stop)
static inline void flush_icache_range(tcg_target_ulong start,
                                      tcg_target_ulong stop)
{
#if QEMU_GNUC_PREREQ(4, 1)
    __builtin___clear_cache((char *) start, (char *) stop);
+3 −1
Original line number Diff line number Diff line
@@ -107,7 +107,9 @@ typedef enum {
/* Note: must be synced with dyngen-exec.h */
#define TCG_AREG0 TCG_REG_R17

static inline void flush_icache_range(unsigned long start, unsigned long stop)

static inline void flush_icache_range(tcg_target_ulong start,
                                      tcg_target_ulong stop)
{
    start &= ~31;
    while (start <= stop) {
+2 −1
Original line number Diff line number Diff line
@@ -146,7 +146,8 @@ typedef enum {
/* Guest base is supported */
#define TCG_TARGET_HAS_GUEST_BASE

static inline void flush_icache_range(unsigned long start, unsigned long stop)
static inline void flush_icache_range(tcg_target_ulong start,
                                      tcg_target_ulong stop)
{
    start = start & ~(32UL - 1UL);
    stop = (stop + (32UL - 1UL)) & ~(32UL - 1UL);
+2 −1
Original line number Diff line number Diff line
@@ -108,7 +108,8 @@ typedef enum {
#include <sys/cachectl.h>
#endif

static inline void flush_icache_range(unsigned long start, unsigned long stop)
static inline void flush_icache_range(tcg_target_ulong start,
                                      tcg_target_ulong stop)
{
    cacheflush ((void *)start, stop-start, ICACHE);
}
+2 −1
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ enum {
    TCG_AREG0 = TCG_REG_R10,
};

static inline void flush_icache_range(unsigned long start, unsigned long stop)
static inline void flush_icache_range(tcg_target_ulong start,
                                      tcg_target_ulong stop)
{
}
Loading