Peter Maydell 
							
						 
					 
					
						
						
							
						
						e40f60730a 
					 
					
						
						
							
							hw/intc/arm_gicv3: Fix decoding of ID register range  
						
						... 
						
						
						
						The GIC ID registers cover an area 0x30 bytes in size
(12 registers, 4 bytes each). We were incorrectly decoding
only the first 0x20 bytes.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-id: 20190524124248.28394-2-peter.maydell@linaro.org  
						
						
					 
					
						2019-06-17 15:13:19 +01:00 
						 
				 
			
				
					
						
							
							
								Amol Surati 
							
						 
					 
					
						
						
							
						
						d419890c04 
					 
					
						
						
							
							hw/intc/arm_gicv3: fix an extra left-shift when reading IPRIORITYR  
						
						... 
						
						
						
						When either GICD_IPRIORITYR or GICR_IPRIORITYR is read as a 32-bit
register, the post left-shift operator in the for loop causes an
extra shift after the least significant byte has been placed.
The 32-bit value actually returned is therefore the expected value
shifted left by 8 bits.
Signed-off-by: Amol Surati <suratiamol@gmail.com >
Message-id: 20180614054857.26248-1-suratiamol@gmail.com 
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org > 
						
						
					 
					
						2018-06-22 13:28:34 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Maydell 
							
						 
					 
					
						
						
							
						
						f1945632b4 
					 
					
						
						
							
							hw/intc/arm_gicv3: Make reserved register addresses RAZ/WI  
						
						... 
						
						
						
						The GICv3 specification says that reserved register addresses
should RAZ/WI. This means we need to return MEMTX_OK, not MEMTX_ERROR,
because now that we support generating external aborts the
latter will cause an abort on new board models.
Cc: qemu-stable@nongnu.org 
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 1513183941-24300-2-git-send-email-peter.maydell@linaro.org 
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com > 
						
						
					 
					
						2018-01-11 13:25:40 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Maydell 
							
						 
					 
					
						
						
							
						
						acd8279621 
					 
					
						
						
							
							arm_gicv3: Add assert()s to tell Coverity that offsets are aligned  
						
						... 
						
						
						
						Coverity complains that the GICR_IPRIORITYR case in gicv3_readl()
can overflow an array, because it doesn't know that the offsets
passed to that function must be word aligned. Add some assert()s
which hopefully tell Coverity that this isn't possible.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 1468261372-17508-1-git-send-email-peter.maydell@linaro.org  
						
						
					 
					
						2016-07-19 17:56:27 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Maydell 
							
						 
					 
					
						
						
							
						
						b1e3493b25 
					 
					
						
						
							
							hw/intc/arm_gicv3: Fix compilation with simple trace backend  
						
						... 
						
						
						
						Fix missing includes of qemu/log.h, which broke compilation with the
simple trace backend (the default backend pulls in log.h implicitly
via trace.h).
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Sergey Fedorov <sergey.fedorov@linaro.org >
Tested-by: Sergey Fedorov <sergey.fedorov@linaro.org >
Message-id: 1466416634-9798-1-git-send-email-peter.maydell@linaro.org  
						
						
					 
					
						2016-06-20 11:35:15 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Maydell 
							
						 
					 
					
						
						
							
						
						b1a0eb777d 
					 
					
						
						
							
							hw/intc/arm_gicv3: Implement CPU i/f SGI generation registers  
						
						... 
						
						
						
						Implement the registers in the GICv3 CPU interface which generate
new SGI interrupts.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org >
Tested-by: Shannon Zhao <shannon.zhao@linaro.org >
Message-id: 1465915112-29272-18-git-send-email-peter.maydell@linaro.org  
						
						
					 
					
						2016-06-17 15:23:51 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Maydell 
							
						 
					 
					
						
						
							
						
						c84428b33f 
					 
					
						
						
							
							hw/intc/arm_gicv3: Implement gicv3_set_irq()  
						
						... 
						
						
						
						Implement the code which updates the GIC state when an interrupt
input into the GIC is asserted.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org >
Tested-by: Shannon Zhao <shannon.zhao@linaro.org >
Message-id: 1465915112-29272-15-git-send-email-peter.maydell@linaro.org  
						
						
					 
					
						2016-06-17 15:23:51 +01:00 
						 
				 
			
				
					
						
							
							
								Shlomo Pongratz 
							
						 
					 
					
						
						
							
						
						cec93a938a 
					 
					
						
						
							
							hw/intc/arm_gicv3: Implement GICv3 redistributor registers  
						
						... 
						
						
						
						Implement the redistributor registers of a GICv3.
Signed-off-by: Shlomo Pongratz <shlomo.pongratz@huawei.com >
Reviewed-by: Shannon Zhao <shannon.zhao@linaro.org >
Tested-by: Shannon Zhao <shannon.zhao@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Message-id: 1465915112-29272-13-git-send-email-peter.maydell@linaro.org 
[PMM: significantly overhauled/rewritten:
 * use the new data structures
 * restructure register read/write to handle different width accesses
   natively, since almost all registers are 32-bit only, rather
   than implementing everything as byte accesses
 * implemented security extension support
]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org > 
						
						
					 
					
						2016-06-17 15:23:51 +01:00