usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
801
set_deventry(amd_iommu_t *iommu, int entry, amd_iommu_acpi_ivhd_t *hinfop)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
806
&iommu->aiomt_devtbl[entry * AMD_IOMMU_DEVTBL_ENTRY_SZ];
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
814
amd_iommu_acpi_init_devtbl(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
823
if (hinfop->ach_IOMMU_deviceid != iommu->aiomt_bdf)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
829
set_deventry(iommu, j, hinfop);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
833
set_deventry(iommu,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
842
set_deventry(iommu, j, hinfop);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
847
set_deventry(iommu,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
904
amd_iommu_lookup_any_ivhd(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.c
912
hinfop->ach_IOMMU_deviceid == iommu->aiomt_bdf)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_acpi.h
302
int amd_iommu_acpi_init_devtbl(amd_iommu_t *iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
108
create_inval_iommu_pages_cmd(amd_iommu_t *iommu, amd_iommu_cmdargs_t *cmdargsp,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
139
create_inval_iotlb_pages_cmd(amd_iommu_t *iommu, amd_iommu_cmdargs_t *cmdargsp,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
170
create_inval_intr_table_cmd(amd_iommu_t *iommu, amd_iommu_cmdargs_t *cmdargsp,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
173
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
174
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
182
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
196
amd_iommu_cmd(amd_iommu_t *iommu, amd_iommu_cmd_t cmd,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
202
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
203
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
209
ASSERT(lock_held == 0 || MUTEX_HELD(&iommu->aiomt_cmdlock));
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
212
mutex_enter(&iommu->aiomt_cmdlock);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
222
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
226
error = create_compl_wait_cmd(iommu, cmdargs, flags, cmdptr);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
229
error = create_inval_devtab_entry_cmd(iommu, cmdargs,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
233
error = create_inval_iommu_pages_cmd(iommu, cmdargs,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
237
error = create_inval_iotlb_pages_cmd(iommu, cmdargs,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
241
error = create_inval_intr_table_cmd(iommu, cmdargs,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
246
f, driver, instance, iommu->aiomt_idx, cmd);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
256
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
259
ASSERT(iommu->aiomt_cmd_tail != NULL);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
262
iommu->aiomt_cmd_tail[i] = cmdptr[i];
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
267
REGADDR64(iommu->aiomt_reg_cmdbuf_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
272
ASSERT(cmdhead_off < iommu->aiomt_cmdbuf_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
275
if ((caddr_t)iommu->aiomt_cmd_tail <
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
276
(cmdhead_off + iommu->aiomt_cmdbuf)) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
277
if ((caddr_t)iommu->aiomt_cmd_tail + 16 >=
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
278
(cmdhead_off + iommu->aiomt_cmdbuf))
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
286
SYNC_FORDEV(iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
292
iommu->aiomt_cmd_tail += 4;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
293
if ((caddr_t)iommu->aiomt_cmd_tail >= (iommu->aiomt_cmdbuf
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
294
+ iommu->aiomt_cmdbuf_sz)) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
297
iommu->aiomt_cmd_tail = (uint32_t *)iommu->aiomt_cmdbuf;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
300
cmdtail_off = (caddr_t)iommu->aiomt_cmd_tail
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
302
- iommu->aiomt_cmdbuf;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
305
ASSERT(cmdtail_off < iommu->aiomt_cmdbuf_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
307
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_tail_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
311
amd_iommu_wait_for_completion(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
313
error = amd_iommu_cmd(iommu, AMD_IOMMU_CMD_COMPL_WAIT,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
319
mutex_exit(&iommu->aiomt_cmdlock);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
34
amd_iommu_wait_for_completion(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
36
ASSERT(MUTEX_HELD(&iommu->aiomt_cmdlock));
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
38
iommu->aiomt_reg_status_va), AMD_IOMMU_COMWAIT_INT) != 1) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
39
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
46
create_compl_wait_cmd(amd_iommu_t *iommu, amd_iommu_cmdargs_t *cmdargsp,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
49
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
50
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
58
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
78
create_inval_devtab_entry_cmd(amd_iommu_t *iommu, amd_iommu_cmdargs_t *cmdargsp,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
81
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
82
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_cmd.c
91
iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1002
iommu->aiomt_reg_pa = hinfop->ach_IOMMU_reg_base;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1005
iommu->aiomt_reg_pa = ((uint64_t)hi_addr32 << 32 | low_addr32);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1012
iommu->aiomt_range = range;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1013
iommu->aiomt_rng_valid = AMD_IOMMU_REG_GET32(&range,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1015
if (iommu->aiomt_rng_valid) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1016
iommu->aiomt_rng_bus = AMD_IOMMU_REG_GET32(&range,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1018
iommu->aiomt_first_devfn = AMD_IOMMU_REG_GET32(&range,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1020
iommu->aiomt_last_devfn = AMD_IOMMU_REG_GET32(&range,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1023
iommu->aiomt_rng_bus = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1024
iommu->aiomt_first_devfn = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1025
iommu->aiomt_last_devfn = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1029
iommu->aiomt_ht_unitid = hinfop->ach_IOMMU_UnitID;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1031
iommu->aiomt_ht_unitid = AMD_IOMMU_REG_GET32(&range,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1038
iommu->aiomt_misc = misc;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1041
iommu->aiomt_htatsresv = global->acg_HtAtsResv;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1042
iommu->aiomt_vasize = global->acg_VAsize;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1043
iommu->aiomt_pasize = global->acg_PAsize;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1045
iommu->aiomt_htatsresv = AMD_IOMMU_REG_GET32(&misc,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1047
iommu->aiomt_vasize = AMD_IOMMU_REG_GET32(&misc,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1049
iommu->aiomt_pasize = AMD_IOMMU_REG_GET32(&misc,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1054
iommu->aiomt_msinum = hinfop->ach_IOMMU_MSInum;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1056
iommu->aiomt_msinum =
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1063
pgoffset = iommu->aiomt_reg_pa & MMU_PAGEOFFSET;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1065
iommu->aiomt_reg_pages = mmu_btopr(AMD_IOMMU_REG_SIZE + pgoffset);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1066
iommu->aiomt_reg_size = mmu_ptob(iommu->aiomt_reg_pages);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1068
iommu->aiomt_va = (uintptr_t)device_arena_alloc(
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1069
ptob(iommu->aiomt_reg_pages), VM_SLEEP);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1070
if (iommu->aiomt_va == 0) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1074
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1075
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1079
hat_devload(kas.a_hat, (void *)(uintptr_t)iommu->aiomt_va,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1080
iommu->aiomt_reg_size,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1081
mmu_btop(iommu->aiomt_reg_pa), PROT_READ | PROT_WRITE
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1084
iommu->aiomt_reg_va = iommu->aiomt_va + pgoffset;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1089
iommu->aiomt_reg_devtbl_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1091
iommu->aiomt_reg_cmdbuf_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1093
iommu->aiomt_reg_eventlog_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1095
iommu->aiomt_reg_ctrl_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1097
iommu->aiomt_reg_excl_base_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1099
iommu->aiomt_reg_excl_lim_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1101
iommu->aiomt_reg_cmdbuf_head_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1103
iommu->aiomt_reg_cmdbuf_tail_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1105
iommu->aiomt_reg_eventlog_head_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1107
iommu->aiomt_reg_eventlog_tail_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1109
iommu->aiomt_reg_status_va = iommu->aiomt_reg_va +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1117
if (amd_iommu_setup_tables_and_buffers(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1118
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1119
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1123
if (amd_iommu_setup_exclusion(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1124
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1125
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1129
amd_iommu_enable_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1131
if (amd_iommu_setup_interrupts(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1132
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1133
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1140
amd_iommu_init_page_tables(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1148
if (amd_iommu_setup_passthru(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1149
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
115
amd_iommu_register(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1150
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1155
if (amd_iommu_acpi_init_devtbl(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1158
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1159
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1163
if (amd_iommu_start(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1164
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1165
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
117
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1170
if (amd_iommu_register(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1171
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1172
(void) amd_iommu_fini(iommu, AMD_IOMMU_TEARDOWN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1181
return (iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1185
amd_iommu_fini(amd_iommu_t *iommu, int type)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1187
int idx = iommu->aiomt_idx;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1188
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1194
mutex_enter(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1195
if (amd_iommu_unregister(iommu) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1202
amd_iommu_stop(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1205
amd_iommu_fini_page_tables(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1206
amd_iommu_teardown_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1207
amd_iommu_teardown_exclusion(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1210
amd_iommu_teardown_tables_and_buffers(iommu, type);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1215
if (iommu->aiomt_va != 0) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1216
hat_unload(kas.a_hat, (void *)(uintptr_t)iommu->aiomt_va,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1217
iommu->aiomt_reg_size, HAT_UNLOAD_UNLOCK);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1218
device_arena_free((void *)(uintptr_t)iommu->aiomt_va,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1219
ptob(iommu->aiomt_reg_pages));
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1220
iommu->aiomt_va = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1221
iommu->aiomt_reg_va = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1223
mutex_destroy(&iommu->aiomt_eventlock);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1224
mutex_destroy(&iommu->aiomt_cmdlock);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1225
mutex_exit(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1226
mutex_destroy(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1227
kmem_free(iommu, sizeof (amd_iommu_t));
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1250
amd_iommu_t *iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
128
iommulib_ops->ilops_data = (void *)iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
129
iommu->aiomt_iommulib_ops = iommulib_ops;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1315
iommu = amd_iommu_init(dip, handle, idx, cap_base);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1316
if (iommu == NULL) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1324
statep->aioms_iommu_start = iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1326
statep->aioms_iommu_end->aiomt_next = iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1328
statep->aioms_iommu_end = iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
134
"failed idx=%d", f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1348
amd_iommu_t *iommu, *next_iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1354
for (iommu = statep->aioms_iommu_start; iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1355
iommu = next_iommu) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1357
next_iommu = iommu->aiomt_next;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1358
if (amd_iommu_fini(iommu, type) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
139
iommu->aiomt_iommulib_handle = handle;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1418
amd_iommu_t *iommu = iommulib_iommu_getdata(handle);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1420
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1421
const char *idriver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1431
amd_iommu_set_passthru(iommu, rdip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1445
f, idriver, instance, iommu->aiomt_idx, (void *)rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
145
amd_iommu_unregister(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1454
f, idriver, instance, iommu->aiomt_idx, (void *)rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1467
if (hinfop && hinfop->ach_IOMMU_deviceid == iommu->aiomt_bdf)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
147
if (iommu->aiomt_iommulib_handle == NULL) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1493
map_current_window(amd_iommu_t *iommu, dev_info_t *rdip, ddi_dma_attr_t *attrp,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1497
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1498
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1499
int idx = iommu->aiomt_idx;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
152
if (iommulib_iommu_unregister(iommu->aiomt_iommulib_handle)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1522
if ((error = amd_iommu_map_pa2va(iommu, rdip, attrp, dmareq,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1535
(void) unmap_current_window(iommu, rdip, cookie_array,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1553
unmap_current_window(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1556
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1557
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1558
int idx = iommu->aiomt_idx;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
157
kmem_free(iommu->aiomt_iommulib_ops, sizeof (iommulib_ops_t));
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
158
iommu->aiomt_iommulib_ops = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1581
if (amd_iommu_unmap_va(iommu, rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1589
if (amd_iommu_cmd(iommu, AMD_IOMMU_CMD_COMPL_WAIT, NULL, 0, 0)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
159
iommu->aiomt_iommulib_handle = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1627
amd_iommu_t *iommu = iommulib_iommu_getdata(handle);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
165
amd_iommu_setup_passthru(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1668
error = map_current_window(iommu, rdip, attrp, dmareq,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1706
amd_iommu_t *iommu = iommulib_iommu_getdata(handle);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
173
amd_iommu_set_passthru(iommu, NULL);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1739
if (unmap_current_window(iommu, rdip, cookie_array, ccount, -1, 0)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
179
amd_iommu_set_passthru(iommu, dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1809
amd_iommu_t *iommu = iommulib_iommu_getdata(handle);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1847
(void) unmap_current_window(iommu, rdip, cookie_array, ccount, -1, 0);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
1869
error = map_current_window(iommu, rdip, attrp, &sdmareq,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
188
amd_iommu_start(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
190
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
202
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
210
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
212
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
214
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
218
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
232
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
238
iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
241
instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
247
amd_iommu_stop(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
249
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
254
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
256
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
258
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
260
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
266
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
268
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
273
iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
277
amd_iommu_setup_tables_and_buffers(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
279
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
299
iommu->aiomt_devtbl_sz = (1<<AMD_IOMMU_DEVTBL_SZ) * AMD_IOMMU_DEVENT_SZ;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
300
iommu->aiomt_cmdbuf_sz = (1<<AMD_IOMMU_CMDBUF_SZ) * AMD_IOMMU_CMD_SZ;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
301
iommu->aiomt_eventlog_sz =
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
304
dma_bufsz = iommu->aiomt_devtbl_sz + iommu->aiomt_cmdbuf_sz
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
305
+ iommu->aiomt_eventlog_sz;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
311
DDI_DMA_SLEEP, NULL, &iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
322
err = ddi_dma_mem_alloc(iommu->aiomt_dmahdl, dma_bufsz,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
324
DDI_DMA_SLEEP, NULL, (caddr_t *)&iommu->aiomt_dma_bufva,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
325
(size_t *)&iommu->aiomt_dma_mem_realsz, &iommu->aiomt_dma_mem_hdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
329
iommu->aiomt_dma_bufva = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
330
iommu->aiomt_dma_mem_realsz = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
331
ddi_dma_free_handle(&iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
332
iommu->aiomt_dmahdl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
339
ASSERT(((uintptr_t)iommu->aiomt_dma_bufva &
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
341
ASSERT(iommu->aiomt_dma_mem_realsz >= dma_bufsz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
346
err = ddi_dma_addr_bind_handle(iommu->aiomt_dmahdl, NULL,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
347
iommu->aiomt_dma_bufva, iommu->aiomt_dma_mem_realsz,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
349
NULL, &iommu->aiomt_buf_dma_cookie, &iommu->aiomt_buf_dma_ncookie);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
354
(void *)(uintptr_t)iommu->aiomt_dma_mem_realsz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
355
iommu->aiomt_buf_dma_cookie.dmac_laddress = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
356
iommu->aiomt_buf_dma_cookie.dmac_size = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
357
iommu->aiomt_buf_dma_cookie.dmac_type = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
358
iommu->aiomt_buf_dma_ncookie = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
359
ddi_dma_mem_free(&iommu->aiomt_dma_mem_hdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
360
iommu->aiomt_dma_mem_hdl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
361
iommu->aiomt_dma_bufva = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
362
iommu->aiomt_dma_mem_realsz = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
363
ddi_dma_free_handle(&iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
364
iommu->aiomt_dmahdl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
373
if (iommu->aiomt_buf_dma_ncookie != 1) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
377
iommu->aiomt_buf_dma_ncookie);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
378
(void) ddi_dma_unbind_handle(iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
379
iommu->aiomt_buf_dma_cookie.dmac_laddress = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
380
iommu->aiomt_buf_dma_cookie.dmac_size = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
381
iommu->aiomt_buf_dma_cookie.dmac_type = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
382
iommu->aiomt_buf_dma_ncookie = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
383
ddi_dma_mem_free(&iommu->aiomt_dma_mem_hdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
384
iommu->aiomt_dma_mem_hdl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
385
iommu->aiomt_dma_bufva = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
386
iommu->aiomt_dma_mem_realsz = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
387
ddi_dma_free_handle(&iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
388
iommu->aiomt_dmahdl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
395
ASSERT((iommu->aiomt_buf_dma_cookie.dmac_cookie_addr
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
397
ASSERT(iommu->aiomt_buf_dma_cookie.dmac_size
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
398
<= iommu->aiomt_dma_mem_realsz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
399
ASSERT(iommu->aiomt_buf_dma_cookie.dmac_size >= dma_bufsz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
40
static int amd_iommu_fini(amd_iommu_t *iommu, int type);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
405
iommu->aiomt_devtbl = iommu->aiomt_dma_bufva;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
406
bzero(iommu->aiomt_devtbl, iommu->aiomt_devtbl_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
41
static void amd_iommu_teardown_interrupts(amd_iommu_t *iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
415
dentry = (uint64_t *)&iommu->aiomt_devtbl
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
42
static void amd_iommu_stop(amd_iommu_t *iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
421
addr = (caddr_t)(uintptr_t)iommu->aiomt_buf_dma_cookie.dmac_cookie_addr;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
422
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_devtbl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
424
sz = (iommu->aiomt_devtbl_sz >> 12) - 1;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
426
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_devtbl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
432
iommu->aiomt_cmdbuf = iommu->aiomt_devtbl +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
433
iommu->aiomt_devtbl_sz;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
434
bzero(iommu->aiomt_cmdbuf, iommu->aiomt_cmdbuf_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
435
addr += iommu->aiomt_devtbl_sz;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
436
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
442
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
445
iommu->aiomt_cmd_tail = (uint32_t *)iommu->aiomt_cmdbuf;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
446
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
448
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_tail_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
454
iommu->aiomt_eventlog = iommu->aiomt_cmdbuf +
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
455
iommu->aiomt_eventlog_sz;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
456
bzero(iommu->aiomt_eventlog, iommu->aiomt_eventlog_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
457
addr += iommu->aiomt_cmdbuf_sz;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
458
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
463
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
466
iommu->aiomt_event_head = (uint32_t *)iommu->aiomt_eventlog;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
467
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
469
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_tail_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
473
SYNC_FORDEV(iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
477
"tables, idx=%d", f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
484
amd_iommu_teardown_tables_and_buffers(amd_iommu_t *iommu, int type)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
486
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
491
iommu->aiomt_eventlog = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
492
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
494
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
496
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
498
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_eventlog_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
502
iommu->aiomt_cmdbuf = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
503
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
505
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
507
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
509
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_cmdbuf_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
513
iommu->aiomt_devtbl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
514
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_devtbl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
516
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_devtbl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
519
if (iommu->aiomt_dmahdl == NULL || type == AMD_IOMMU_QUIESCE)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
523
if (ddi_dma_unbind_handle(iommu->aiomt_dmahdl) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
526
(void *)iommu->aiomt_dmahdl, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
528
iommu->aiomt_buf_dma_cookie.dmac_laddress = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
529
iommu->aiomt_buf_dma_cookie.dmac_size = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
530
iommu->aiomt_buf_dma_cookie.dmac_type = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
531
iommu->aiomt_buf_dma_ncookie = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
534
ddi_dma_mem_free(&iommu->aiomt_dma_mem_hdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
535
iommu->aiomt_dma_mem_hdl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
536
iommu->aiomt_dma_bufva = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
537
iommu->aiomt_dma_mem_realsz = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
540
ddi_dma_free_handle(&iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
541
iommu->aiomt_dmahdl = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
545
amd_iommu_enable_interrupts(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
547
ASSERT(AMD_IOMMU_REG_GET64(REGADDR64(iommu->aiomt_reg_status_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
549
ASSERT(AMD_IOMMU_REG_GET64(REGADDR64(iommu->aiomt_reg_status_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
554
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
557
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
559
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
561
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_ctrl_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
566
amd_iommu_setup_exclusion(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
574
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_base_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
577
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_base_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
579
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_base_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
581
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_lim_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
588
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_base_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
590
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_base_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
592
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_base_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
594
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_excl_lim_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
602
amd_iommu_teardown_exclusion(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
604
(void) amd_iommu_setup_exclusion(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
611
amd_iommu_t *iommu = (amd_iommu_t *)arg1;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
612
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
622
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
625
if (AMD_IOMMU_REG_GET64(REGADDR64(iommu->aiomt_reg_status_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
630
iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
632
(void) amd_iommu_read_log(iommu, AMD_IOMMU_LOG_DISPLAY);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
634
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_status_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
639
if (AMD_IOMMU_REG_GET64(REGADDR64(iommu->aiomt_reg_status_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
643
iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
644
(void) amd_iommu_read_log(iommu, AMD_IOMMU_LOG_DISCARD);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
645
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_status_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
647
AMD_IOMMU_REG_SET64(REGADDR64(iommu->aiomt_reg_status_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
657
amd_iommu_setup_interrupts(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
659
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
676
"failed: idx=%d", f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
683
iommu->aiomt_idx, type);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
69
static int unmap_current_window(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
692
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
698
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
705
f, driver, instance, iommu->aiomt_idx, err);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
712
f, driver, instance, iommu->aiomt_idx, req);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
718
driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
726
driver, instance, iommu->aiomt_idx, err);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
733
f, driver, instance, iommu->aiomt_idx, avail);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
739
driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
746
"Failing init", f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
752
iommu->aiomt_intr_htable_sz = req * sizeof (ddi_intr_handle_t);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
753
iommu->aiomt_intr_htable = kmem_zalloc(iommu->aiomt_intr_htable_sz,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
756
iommu->aiomt_intr_state = AMD_IOMMU_INTR_TABLE;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
768
f, driver, instance, iommu->aiomt_idx, p2req, req);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
771
err = ddi_intr_alloc(iommu->aiomt_dip, iommu->aiomt_intr_htable,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
776
f, driver, instance, iommu->aiomt_idx, err);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
777
amd_iommu_teardown_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
781
iommu->aiomt_actual_intrs = actual;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
782
iommu->aiomt_intr_state = AMD_IOMMU_INTR_ALLOCED;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
787
f, driver, instance, iommu->aiomt_idx, actual);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
790
if (iommu->aiomt_actual_intrs < req) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
793
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
794
iommu->aiomt_actual_intrs, req);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
795
amd_iommu_teardown_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
799
for (i = 0; i < iommu->aiomt_actual_intrs; i++) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
800
if (ddi_intr_add_handler(iommu->aiomt_intr_htable[i],
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
801
amd_iommu_intr_handler, (void *)iommu, NULL)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
805
f, driver, instance, iommu->aiomt_idx, i, err);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
808
iommu->aiomt_intr_htable[j]);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
810
amd_iommu_teardown_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
814
iommu->aiomt_intr_state = AMD_IOMMU_INTR_HANDLER;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
817
if (ddi_intr_get_cap(iommu->aiomt_intr_htable[0], &intrcap0)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
820
iommu->aiomt_intr_htable[iommu->aiomt_actual_intrs - 1], &intrcapN)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
825
f, driver, instance, iommu->aiomt_idx, intrcap0, intrcapN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
826
amd_iommu_teardown_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
829
iommu->aiomt_intr_cap = intrcap0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
836
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
838
if (ddi_intr_block_enable(iommu->aiomt_intr_htable,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
839
iommu->aiomt_actual_intrs) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
842
instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
843
(void) ddi_intr_block_disable(iommu->aiomt_intr_htable,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
844
iommu->aiomt_actual_intrs);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
845
amd_iommu_teardown_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
852
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
854
for (i = 0; i < iommu->aiomt_actual_intrs; i++) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
855
if (ddi_intr_enable(iommu->aiomt_intr_htable[i])
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
859
driver, instance, iommu->aiomt_idx, i);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
862
iommu->aiomt_intr_htable[j]);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
864
amd_iommu_teardown_interrupts(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
869
iommu->aiomt_intr_state = AMD_IOMMU_INTR_ENABLED;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
874
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
876
"(individually)", iommu->aiomt_actual_intrs);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
883
amd_iommu_teardown_interrupts(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
887
if (iommu->aiomt_intr_state & AMD_IOMMU_INTR_ENABLED) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
888
if (iommu->aiomt_intr_cap & DDI_INTR_FLAG_BLOCK) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
889
(void) ddi_intr_block_disable(iommu->aiomt_intr_htable,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
890
iommu->aiomt_actual_intrs);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
892
for (i = 0; i < iommu->aiomt_actual_intrs; i++) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
894
iommu->aiomt_intr_htable[i]);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
899
if (iommu->aiomt_intr_state & AMD_IOMMU_INTR_HANDLER) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
900
for (i = 0; i < iommu->aiomt_actual_intrs; i++) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
902
iommu->aiomt_intr_htable[i]);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
906
if (iommu->aiomt_intr_state & AMD_IOMMU_INTR_ALLOCED) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
907
for (i = 0; i < iommu->aiomt_actual_intrs; i++) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
908
(void) ddi_intr_free(iommu->aiomt_intr_htable[i]);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
911
if (iommu->aiomt_intr_state & AMD_IOMMU_INTR_TABLE) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
912
kmem_free(iommu->aiomt_intr_htable,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
913
iommu->aiomt_intr_htable_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
915
iommu->aiomt_intr_htable = NULL;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
916
iommu->aiomt_intr_htable_sz = 0;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
917
iommu->aiomt_intr_state = AMD_IOMMU_INTR_INVALID;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
924
amd_iommu_t *iommu;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
947
iommu = kmem_zalloc(sizeof (amd_iommu_t), KM_SLEEP);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
948
mutex_init(&iommu->aiomt_mutex, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
949
mutex_enter(&iommu->aiomt_mutex);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
951
mutex_init(&iommu->aiomt_cmdlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
952
mutex_init(&iommu->aiomt_eventlock, NULL, MUTEX_DRIVER, NULL);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
954
iommu->aiomt_dip = dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
955
iommu->aiomt_idx = idx;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
957
if (acpica_get_bdf(iommu->aiomt_dip, &bus, &device, &func)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
965
iommu->aiomt_bdf = ((uint8_t)bus << 8) | ((uint8_t)device << 3) |
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
975
iommu->aiomt_cap_hdr = caphdr;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
976
iommu->aiomt_npcache = AMD_IOMMU_REG_GET32(&caphdr,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
978
iommu->aiomt_httun = AMD_IOMMU_REG_GET32(&caphdr, AMD_IOMMU_CAP_HTTUN);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
981
hinfop = amd_iommu_lookup_any_ivhd(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
984
iommu->aiomt_iotlb = hinfop->ach_IotlbSup;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
986
iommu->aiomt_iotlb =
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
989
iommu->aiomt_captype = AMD_IOMMU_REG_GET32(&caphdr, AMD_IOMMU_CAP_TYPE);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
990
iommu->aiomt_capid = AMD_IOMMU_REG_GET32(&caphdr, AMD_IOMMU_CAP_ID);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
997
iommu->aiomt_low_addr32 = low_addr32;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.c
998
iommu->aiomt_hi_addr32 = hi_addr32;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.h
480
int amd_iommu_cmd(amd_iommu_t *iommu, amd_iommu_cmd_t cmd,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_impl.h
485
int amd_iommu_read_log(amd_iommu_t *iommu, amd_iommu_log_op_t op);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
116
devtab_illegal_entry(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
125
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
126
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
155
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
165
io_page_fault(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
177
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
178
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
209
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
223
devtab_hw_error(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
233
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
234
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
262
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
272
pgtable_hw_error(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
283
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
284
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
315
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
325
cmdbuf_illegal_cmd(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
329
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
330
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
343
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
348
cmdbuf_hw_error(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
354
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
355
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
373
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
379
iotlb_inval_to(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
386
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
387
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
412
f, driver, instance, iommu->aiomt_idx, deviceid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
418
device_illegal_req(amd_iommu_t *iommu, uint32_t *event)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
426
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
427
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
451
f, driver, instance, iommu->aiomt_idx, deviceid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
458
amd_iommu_process_one_event(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
463
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
464
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
467
ASSERT(MUTEX_HELD(&iommu->aiomt_eventlock));
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
469
SYNC_FORKERN(iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
471
event[i] = iommu->aiomt_event_head[i];
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
478
devtab_illegal_entry(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
481
io_page_fault(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
484
devtab_hw_error(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
487
pgtable_hw_error(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
490
cmdbuf_hw_error(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
493
cmdbuf_illegal_cmd(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
496
iotlb_inval_to(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
499
device_illegal_req(iommu, event);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
503
f, driver, instance, iommu->aiomt_idx, event_type);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
509
amd_iommu_read_log(amd_iommu_t *iommu, amd_iommu_log_op_t op)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
517
mutex_enter(&iommu->aiomt_eventlock);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
519
ASSERT(iommu->aiomt_event_head != NULL);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
523
REGADDR64(iommu->aiomt_reg_eventlog_tail_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
528
ASSERT(evtail_off < iommu->aiomt_eventlog_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
530
evtail = iommu->aiomt_eventlog + evtail_off;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
534
iommu->aiomt_event_head = (uint32_t *)evtail;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
536
iommu->aiomt_reg_eventlog_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
539
mutex_exit(&iommu->aiomt_eventlock);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
545
if ((caddr_t)iommu->aiomt_event_head == evtail)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
550
(void *)iommu->aiomt_event_head,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
553
amd_iommu_process_one_event(iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
559
iommu->aiomt_event_head += 4;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
560
if ((caddr_t)iommu->aiomt_event_head >=
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
561
iommu->aiomt_eventlog + iommu->aiomt_eventlog_sz) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
563
iommu->aiomt_event_head =
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
565
(uint32_t *)iommu->aiomt_eventlog;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
568
evhead_off = (caddr_t)iommu->aiomt_event_head
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
570
- iommu->aiomt_eventlog;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
573
ASSERT(evhead_off < iommu->aiomt_eventlog_sz);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
576
iommu->aiomt_reg_eventlog_head_va),
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_log.c
579
mutex_exit(&iommu->aiomt_eventlock);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1091
amd_iommu_setup_1_pgtable(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1120
if (pt = amd_iommu_lookup_pgtable(iommu, ppt, dp, level, index)) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1127
if ((error = amd_iommu_alloc_pgtable(iommu, domainid, path, &pt,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1130
"path = %s", f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1162
amd_iommu_teardown_pdte(amd_iommu_t *iommu,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1201
amd_iommu_free_pgtable(iommu, pt);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1209
amd_iommu_create_pgtables(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1228
iommu->aiomt_idx, domainid, deviceid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
124
amd_iommu_init_page_tables(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1242
if ((error = amd_iommu_setup_1_pgtable(iommu, rdip, dmareq,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1248
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1269
if ((error = amd_iommu_set_devtbl_entry(iommu, rdip, domainid, deviceid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1275
iommu->aiomt_idx, (void *)rdip, deviceid, domainid, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1279
SYNC_FORDEV(iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1285
amd_iommu_destroy_pgtables(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1301
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1302
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1310
iommu->aiomt_idx, domainid, deviceid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
132
amd_iommu_fini_page_tables(amd_iommu_t *iommu)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1326
pt = amd_iommu_lookup_pgtable(iommu, ppt, dp, level, index);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1356
retval = amd_iommu_teardown_pdte(iommu, pt, index);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1392
if (amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_IOMMU_PAGES,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1397
iommu->aiomt_idx, domainid, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1405
error = amd_iommu_clear_devtbl_entry(iommu, rdip, domainid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1412
SYNC_FORDEV(iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
142
amd_iommu_lookup_domain(amd_iommu_t *iommu, domain_id_t domainid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1434
amd_iommu_map_pa2va(amd_iommu_t *iommu, dev_info_t *rdip, ddi_dma_attr_t *attrp,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1454
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1455
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1474
if (amd_iommu_get_deviceid(iommu, rdip, &deviceid, &alias, path)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1478
iommu->aiomt_idx, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1486
if (amd_iommu_get_domain(iommu, rdip, alias, deviceid, &domainid, path)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1490
iommu->aiomt_idx, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1495
dp = amd_iommu_lookup_domain(iommu, domainid, type, km_flags);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1499
iommu->aiomt_idx, domainid, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1563
if ((error = amd_iommu_create_pgtables(iommu, rdip, dmareq,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1595
amd_iommu_unmap_va(amd_iommu_t *iommu, dev_info_t *rdip, uint64_t start_va,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1611
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1612
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1630
if (amd_iommu_get_deviceid(iommu, rdip, &deviceid, &alias, path)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1634
iommu->aiomt_idx, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1642
if (amd_iommu_get_domain(iommu, rdip, alias, deviceid, &domainid, path)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1646
iommu->aiomt_idx, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1652
dp = amd_iommu_lookup_domain(iommu, domainid, AMD_IOMMU_INVALID_MAP,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1657
iommu->aiomt_idx, domainid, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1672
if (amd_iommu_destroy_pgtables(iommu, rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
1693
amd_iommu_teardown_domain(iommu, dp);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
170
iommu->aiomt_idx, domainid);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
196
amd_iommu_teardown_domain(amd_iommu_t *iommu, amd_iommu_domain_t *dp)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
228
if (amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_IOMMU_PAGES,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
232
f, iommu->aiomt_idx, cmdargs.ca_domainid);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
237
amd_iommu_get_deviceid(amd_iommu_t *iommu, dev_info_t *rdip, int32_t *deviceid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
245
dev_info_t *idip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
257
if (amd_iommu_get_src_bdf(iommu, -1, &src_bdf) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
261
f, driver, instance, iommu->aiomt_idx);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
278
f, driver, instance, iommu->aiomt_idx, (void *)rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
287
f, driver, instance, iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
299
iommu->aiomt_idx,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
307
if (amd_iommu_get_src_bdf(iommu, bdf, &src_bdf) != DDI_SUCCESS) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
310
f, driver, instance, iommu->aiomt_idx, (void *)pci_dip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
328
init_devtbl(amd_iommu_t *iommu, uint64_t *devtbl_entry, domain_id_t domainid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
387
amd_iommu_set_passthru(amd_iommu_t *iommu, dev_info_t *rdip)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
421
if (amd_iommu_get_deviceid(iommu, rdip, &deviceid, &alias, path)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
426
iommu->aiomt_idx, (void *)rdip, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
436
iommu->aiomt_devtbl_sz) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
440
instance, iommu->aiomt_idx, deviceid, (void *)rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
441
iommu->aiomt_devtbl_sz, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
446
devtbl_entry = (uint64_t *)&iommu->aiomt_devtbl
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
470
(void) amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_DEVTAB_ENTRY,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
479
amd_iommu_set_devtbl_entry(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
486
dev_info_t *idip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
497
iommu->aiomt_devtbl_sz) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
501
instance, iommu->aiomt_idx, deviceid, (void *)rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
502
iommu->aiomt_devtbl_sz, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
507
devtbl_entry = (uint64_t *)&iommu->aiomt_devtbl
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
520
error = amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_DEVTAB_ENTRY,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
525
f, iommu->aiomt_idx, deviceid);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
534
error = amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_IOMMU_PAGES,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
539
f, iommu->aiomt_idx, cmdargs.ca_domainid);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
544
if (init_devtbl(iommu, devtbl_entry, domainid, dp)) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
546
error = amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_DEVTAB_ENTRY,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
554
amd_iommu_clear_devtbl_entry(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
561
const char *driver = ddi_driver_name(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
562
int instance = ddi_get_instance(iommu->aiomt_dip);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
572
iommu->aiomt_devtbl_sz) {
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
576
iommu->aiomt_idx, deviceid, (void *)rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
577
iommu->aiomt_devtbl_sz, path);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
582
devtbl_entry = (uint64_t *)&iommu->aiomt_devtbl
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
605
SYNC_FORDEV(iommu->aiomt_dmahdl);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
615
error = amd_iommu_cmd(iommu, AMD_IOMMU_CMD_INVAL_DEVTAB_ENTRY,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
64
amd_iommu_get_src_bdf(amd_iommu_t *iommu, int32_t bdf, int32_t *src_bdfp)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
712
amd_iommu_lookup_pgtable(amd_iommu_t *iommu, amd_iommu_page_table_t *ppt,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
769
amd_iommu_alloc_pgtable(amd_iommu_t *iommu, domain_id_t domainid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
775
dev_info_t *idip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
87
amd_iommu_get_domain(amd_iommu_t *iommu, dev_info_t *rdip, int alias,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
923
amd_iommu_free_pgtable(amd_iommu_t *iommu, amd_iommu_page_table_t *pt)
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
927
dev_info_t *dip = iommu->aiomt_dip;
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.c
950
f, driver, instance, iommu->aiomt_idx, pt->pt_domainid,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h
118
int amd_iommu_map_pa2va(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h
122
int amd_iommu_unmap_va(amd_iommu_t *iommu, dev_info_t *rdip,
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h
124
void amd_iommu_init_page_tables(amd_iommu_t *iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h
125
void amd_iommu_fini_page_tables(amd_iommu_t *iommu);
usr/src/uts/i86pc/io/amd_iommu/amd_iommu_page_tables.h
126
void amd_iommu_set_passthru(amd_iommu_t *iommu, dev_info_t *rdip);
usr/src/uts/intel/io/vmm/vmm.c
1147
iommu_create_mapping(vm->iommu, gpa, hpa, sz);
usr/src/uts/intel/io/vmm/vmm.c
1149
iommu_remove_mapping(vm->iommu, gpa, sz);
usr/src/uts/intel/io/vmm/vmm.c
1161
iommu_invalidate_tlb(vm->iommu);
usr/src/uts/intel/io/vmm/vmm.c
1187
KASSERT(vm->iommu == NULL,
usr/src/uts/intel/io/vmm/vmm.c
1190
vm->iommu = iommu_create_domain(maxaddr);
usr/src/uts/intel/io/vmm/vmm.c
1191
if (vm->iommu == NULL)
usr/src/uts/intel/io/vmm/vmm.c
215
void *iommu; /* (x) iommu-specific data */
usr/src/uts/intel/io/vmm/vmm.c
3272
return (vm->iommu);
usr/src/uts/intel/io/vmm/vmm.c
555
vm->iommu = NULL;
usr/src/uts/intel/io/vmm/vmm.c
698
if (vm->iommu != NULL)
usr/src/uts/intel/io/vmm/vmm.c
699
iommu_destroy_domain(vm->iommu);
usr/src/uts/sun4u/sys/pci/pci_iommu.h
124
typedef struct iommu iommu_t;