1/* 2 * Copyright (c) 2014, University of Washington. 3 * All rights reserved. 4 * 5 * This file is distributed under the terms in the attached LICENSE file. 6 * If you do not find this file, copies can be found by writing to: 7 * ETH Zurich D-INFK, CAB F.78, Universitaetstr. 6, CH-8092 Zurich. 8 * Attn: Systems Group. 9 */ 10 11device vtd_iotlb msbfirst ( addr base ) "VT-d IOTLB Registers" { 12 register iva_reg addr(base, 0x000) "Invalidate Address Register" { 13 addr 52 wo "Address"; 14 _ 5 mbz; 15 ih 1 wo "Invalidation Hint"; 16 am 6 wo "Address Mask"; 17 }; 18 19 constants iirg_ "IOTLB Invalidation Request Granularity" { 20 rsvd_ir = 0b00 "Reserved"; 21 gir = 0b01 "Global Invalidation request"; 22 domir = 0b10 "Domain-selective invalidation request"; 23 pir = 0b11 "Page-selective-within-domain invalidation request"; 24 }; 25 26 constants iaig_ "IOTLB Actual Request Granularity" { 27 rsvd_ip = 0b00 "Reserved"; 28 gip = 0b01 "Global Invalidation performed"; 29 domip = 0b10 "Domain-selective invalidation performed"; 30 devip = 0b11 "Device-selective invalidation performed"; 31 }; 32 33 register iotlb_reg addr(base, 0x008) "IOTLB Invalidate Register" { 34 ivt 1 rw "Invalidate IOTLB"; 35 _ 1 mbz; 36 iirg 2 rw type(iirg_) "IOTLB Invalidation Request Granularity"; 37 _ 1 mbz; 38 iaig 2 ro type(iaig_) "IOTLB Actual Invalidation Granularity"; 39 _ 7 mbz; 40 dr 1 rw "Drain Reads"; 41 dw 1 rw "Drain Writes"; 42 did 16 rw "Domain-ID"; 43 _ 32 mbz; 44 }; 45}; 46