sun4m_iommu: remove legacy sparc_iommu_memory_rw() function
With the switch to the IOMMU memory region and DMA API, this is no longer required. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
		
							parent
							
								
									c413e9a426
								
							
						
					
					
						commit
						3cc71c7992
					
				| @ -321,39 +321,6 @@ static IOMMUTLBEntry sun4m_translate_iommu(IOMMUMemoryRegion *iommu, | ||||
|     return ret; | ||||
| } | ||||
| 
 | ||||
| void sparc_iommu_memory_rw(void *opaque, hwaddr addr, | ||||
|                            uint8_t *buf, int len, int is_write) | ||||
| { | ||||
|     int l; | ||||
|     uint32_t flags; | ||||
|     hwaddr page, phys_addr; | ||||
| 
 | ||||
|     while (len > 0) { | ||||
|         page = addr & IOMMU_PAGE_MASK; | ||||
|         l = (page + IOMMU_PAGE_SIZE) - addr; | ||||
|         if (l > len) | ||||
|             l = len; | ||||
|         flags = iommu_page_get_flags(opaque, page); | ||||
|         if (!(flags & IOPTE_VALID)) { | ||||
|             iommu_bad_addr(opaque, page, is_write); | ||||
|             return; | ||||
|         } | ||||
|         phys_addr = iommu_translate_pa(addr, flags); | ||||
|         if (is_write) { | ||||
|             if (!(flags & IOPTE_WRITE)) { | ||||
|                 iommu_bad_addr(opaque, page, is_write); | ||||
|                 return; | ||||
|             } | ||||
|             cpu_physical_memory_write(phys_addr, buf, l); | ||||
|         } else { | ||||
|             cpu_physical_memory_read(phys_addr, buf, l); | ||||
|         } | ||||
|         len -= l; | ||||
|         buf += l; | ||||
|         addr += l; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| static const VMStateDescription vmstate_iommu = { | ||||
|     .name ="iommu", | ||||
|     .version_id = 2, | ||||
|  | ||||
| @ -29,22 +29,6 @@ typedef struct IOMMUState { | ||||
|     uint32_t version; | ||||
| } IOMMUState; | ||||
| 
 | ||||
| void sparc_iommu_memory_rw(void *opaque, hwaddr addr, | ||||
|                                  uint8_t *buf, int len, int is_write); | ||||
| static inline void sparc_iommu_memory_read(void *opaque, | ||||
|                                            hwaddr addr, | ||||
|                                            uint8_t *buf, int len) | ||||
| { | ||||
|     sparc_iommu_memory_rw(opaque, addr, buf, len, 0); | ||||
| } | ||||
| 
 | ||||
| static inline void sparc_iommu_memory_write(void *opaque, | ||||
|                                             hwaddr addr, | ||||
|                                             uint8_t *buf, int len) | ||||
| { | ||||
|     sparc_iommu_memory_rw(opaque, addr, buf, len, 1); | ||||
| } | ||||
| 
 | ||||
| /* sparc32_dma.c */ | ||||
| #include "hw/sparc/sparc32_dma.h" | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Mark Cave-Ayland
						Mark Cave-Ayland