intel_iommu.c (206d0c24361a083fbdcb2cc86fb75dc8b7f251a2) | intel_iommu.c (fb9f592623b0f9bb82a88d68d7921fb581918ef5) |
---|---|
1/* 2 * QEMU emulation of an Intel IOMMU (VT-d) 3 * (DMA Remapping device) 4 * 5 * Copyright (C) 2013 Knut Omang, Oracle <knut.omang@oracle.com> 6 * Copyright (C) 2014 Le Tan, <tamlokveer@gmail.com> 7 * 8 * This program is free software; you can redistribute it and/or modify --- 2439 unchanged lines hidden (view full) --- 2448static void vtd_realize(DeviceState *dev, Error **errp) 2449{ 2450 PCMachineState *pcms = PC_MACHINE(qdev_get_machine()); 2451 PCIBus *bus = pcms->bus; 2452 IntelIOMMUState *s = INTEL_IOMMU_DEVICE(dev); 2453 X86IOMMUState *x86_iommu = X86_IOMMU_DEVICE(dev); 2454 2455 VTD_DPRINTF(GENERAL, ""); | 1/* 2 * QEMU emulation of an Intel IOMMU (VT-d) 3 * (DMA Remapping device) 4 * 5 * Copyright (C) 2013 Knut Omang, Oracle <knut.omang@oracle.com> 6 * Copyright (C) 2014 Le Tan, <tamlokveer@gmail.com> 7 * 8 * This program is free software; you can redistribute it and/or modify --- 2439 unchanged lines hidden (view full) --- 2448static void vtd_realize(DeviceState *dev, Error **errp) 2449{ 2450 PCMachineState *pcms = PC_MACHINE(qdev_get_machine()); 2451 PCIBus *bus = pcms->bus; 2452 IntelIOMMUState *s = INTEL_IOMMU_DEVICE(dev); 2453 X86IOMMUState *x86_iommu = X86_IOMMU_DEVICE(dev); 2454 2455 VTD_DPRINTF(GENERAL, ""); |
2456 x86_iommu->type = TYPE_INTEL; |
|
2456 memset(s->vtd_as_by_bus_num, 0, sizeof(s->vtd_as_by_bus_num)); 2457 memory_region_init_io(&s->csrmem, OBJECT(s), &vtd_mem_ops, s, 2458 "intel_iommu", DMAR_REG_SIZE); 2459 sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->csrmem); 2460 /* No corresponding destroy */ 2461 s->iotlb = g_hash_table_new_full(vtd_uint64_hash, vtd_uint64_equal, 2462 g_free, g_free); 2463 s->vtd_as_by_busptr = g_hash_table_new_full(vtd_uint64_hash, vtd_uint64_equal, --- 43 unchanged lines hidden --- | 2457 memset(s->vtd_as_by_bus_num, 0, sizeof(s->vtd_as_by_bus_num)); 2458 memory_region_init_io(&s->csrmem, OBJECT(s), &vtd_mem_ops, s, 2459 "intel_iommu", DMAR_REG_SIZE); 2460 sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->csrmem); 2461 /* No corresponding destroy */ 2462 s->iotlb = g_hash_table_new_full(vtd_uint64_hash, vtd_uint64_equal, 2463 g_free, g_free); 2464 s->vtd_as_by_busptr = g_hash_table_new_full(vtd_uint64_hash, vtd_uint64_equal, --- 43 unchanged lines hidden --- |