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;
 | 
					    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 = {
 | 
					static const VMStateDescription vmstate_iommu = {
 | 
				
			||||||
    .name ="iommu",
 | 
					    .name ="iommu",
 | 
				
			||||||
    .version_id = 2,
 | 
					    .version_id = 2,
 | 
				
			||||||
 | 
				
			|||||||
@ -29,22 +29,6 @@ typedef struct IOMMUState {
 | 
				
			|||||||
    uint32_t version;
 | 
					    uint32_t version;
 | 
				
			||||||
} IOMMUState;
 | 
					} 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 */
 | 
					/* sparc32_dma.c */
 | 
				
			||||||
#include "hw/sparc/sparc32_dma.h"
 | 
					#include "hw/sparc/sparc32_dma.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user