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: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
		
							parent
							
								
									f57a516039
								
							
						
					
					
						commit
						dba4f1bcc3
					
				| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -134,7 +134,8 @@ typedef enum {
 | 
			
		|||
#define TCG_AREG0 TCG_REG_G6
 | 
			
		||||
#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)
 | 
			
		||||
{
 | 
			
		||||
    unsigned long p;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue