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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell