1 /*
2  * Copyright 2014, General Dynamics C4 Systems
3  *
4  * SPDX-License-Identifier: GPL-2.0-only
5  */
6 
7 #pragma once
8 
9 #include <config.h>
10 
11 #ifdef CONFIG_IOMMU
12 
13 void invalidate_iotlb(void);
14 void invalidate_context_cache(void);
15 void vtd_handle_fault(void);
16 /* calculate the number of IOPTs needed to map the rmrr regions */
17 word_t vtd_get_n_paging(acpi_rmrr_list_t *rmrr_list);
18 /* initialise the number of IOPTs */
19 bool_t vtd_init_num_iopts(uint32_t num_drhu);
20 bool_t vtd_init(cpu_id_t  cpu_id, acpi_rmrr_list_t *rmrr_list);
21 
22 #endif /* CONFIG_IOMMU */
23