| /* |
| * TCG IOMMU translations. |
| * |
| * Copyright (c) 2003 Fabrice Bellard |
| * SPDX-License-Identifier: LGPL-2.1-or-later |
| */ |
| #ifndef ACCEL_TCG_IOMMU_H |
| #define ACCEL_TCG_IOMMU_H |
| |
| #ifdef CONFIG_USER_ONLY |
| #error Cannot include accel/tcg/iommu.h from user emulation |
| #endif |
| |
| #include "exec/hwaddr.h" |
| #include "exec/memattrs.h" |
| |
| /** |
| * iotlb_to_section: |
| * @cpu: CPU performing the access |
| * @index: TCG CPU IOTLB entry |
| * |
| * Given a TCG CPU IOTLB entry, return the MemoryRegionSection that |
| * it refers to. @index will have been initially created and returned |
| * by memory_region_section_get_iotlb(). |
| */ |
| MemoryRegionSection *iotlb_to_section(CPUState *cpu, |
| hwaddr index, MemTxAttrs attrs); |
| |
| MemoryRegionSection *address_space_translate_for_iotlb(CPUState *cpu, |
| int asidx, |
| hwaddr addr, |
| hwaddr *xlat, |
| hwaddr *plen, |
| MemTxAttrs attrs, |
| int *prot); |
| |
| hwaddr memory_region_section_get_iotlb(CPUState *cpu, |
| MemoryRegionSection *section); |
| |
| #endif |
| |