monitor: Prevent sign-extension of 32-bit addresses printed by info tlb
This is the same fix that was recently applied to info mem. Before this change, info tlb output looked like: ffffffffffffc000: 000000000fffc000 --------W ffffffffffffd000: 000000000fffd000 --------W ffffffffffffe000: 000000000fffe000 --------W fffffffffffff000: 000000000ffff000 --------W With this change, it looks like 00000000ffffc000: 000000000fffc000 --------W 00000000ffffd000: 000000000fffd000 --------W 00000000ffffe000: 000000000fffe000 --------W 00000000fffff000: 000000000ffff000 --------W Signed-off-by: Austin Clements <amdragon@mit.edu> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
		
							parent
							
								
									aec7c6dc68
								
							
						
					
					
						commit
						94ac5cd20c
					
				| 
						 | 
				
			
			@ -2054,7 +2054,7 @@ static void print_pte(Monitor *mon, target_phys_addr_t addr,
 | 
			
		|||
 | 
			
		||||
static void tlb_info_32(Monitor *mon, CPUState *env)
 | 
			
		||||
{
 | 
			
		||||
    int l1, l2;
 | 
			
		||||
    unsigned int l1, l2;
 | 
			
		||||
    uint32_t pgd, pde, pte;
 | 
			
		||||
 | 
			
		||||
    pgd = env->cr[3] & ~0xfff;
 | 
			
		||||
| 
						 | 
				
			
			@ -2082,7 +2082,7 @@ static void tlb_info_32(Monitor *mon, CPUState *env)
 | 
			
		|||
 | 
			
		||||
static void tlb_info_pae32(Monitor *mon, CPUState *env)
 | 
			
		||||
{
 | 
			
		||||
    int l1, l2, l3;
 | 
			
		||||
    unsigned int l1, l2, l3;
 | 
			
		||||
    uint64_t pdpe, pde, pte;
 | 
			
		||||
    uint64_t pdp_addr, pd_addr, pt_addr;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue