hw/intc/arm_gic: reserved register addresses are RAZ/WI
The GICv2 specification says that reserved register addresses must RAZ/WI; now that we implement external abort handling for Arm CPUs this means we must return MEMTX_OK rather than MEMTX_ERROR, to avoid generating a spurious guest data abort. Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1513183941-24300-3-git-send-email-peter.maydell@linaro.org Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
This commit is contained in:
		
							parent
							
								
									f1945632b4
								
							
						
					
					
						commit
						0cf0985201
					
				| 
						 | 
				
			
			@ -1261,7 +1261,8 @@ static MemTxResult gic_cpu_read(GICState *s, int cpu, int offset,
 | 
			
		|||
    default:
 | 
			
		||||
        qemu_log_mask(LOG_GUEST_ERROR,
 | 
			
		||||
                      "gic_cpu_read: Bad offset %x\n", (int)offset);
 | 
			
		||||
        return MEMTX_ERROR;
 | 
			
		||||
        *data = 0;
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
    return MEMTX_OK;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1329,7 +1330,7 @@ static MemTxResult gic_cpu_write(GICState *s, int cpu, int offset,
 | 
			
		|||
    default:
 | 
			
		||||
        qemu_log_mask(LOG_GUEST_ERROR,
 | 
			
		||||
                      "gic_cpu_write: Bad offset %x\n", (int)offset);
 | 
			
		||||
        return MEMTX_ERROR;
 | 
			
		||||
        return MEMTX_OK;
 | 
			
		||||
    }
 | 
			
		||||
    gic_update(s);
 | 
			
		||||
    return MEMTX_OK;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue