Lines Matching refs:irte
3387 static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte,
3411 irte->lo.val, irte->hi.val);
3431 static int modify_irte(u16 devid, int index, union irte *irte)
3446 table->table[index] = irte->val;
3481 union irte *irte = (union irte *) entry;
3483 irte->val = 0;
3484 irte->fields.vector = vector;
3485 irte->fields.int_type = delivery_mode;
3486 irte->fields.destination = dest_apicid;
3487 irte->fields.dm = dest_mode;
3488 irte->fields.valid = 1;
3495 struct irte_ga *irte = (struct irte_ga *) entry;
3497 irte->lo.val = 0;
3498 irte->hi.val = 0;
3499 irte->lo.fields_remap.int_type = delivery_mode;
3500 irte->lo.fields_remap.dm = dest_mode;
3501 irte->hi.fields.vector = vector;
3502 irte->lo.fields_remap.destination = APICID_TO_IRTE_DEST_LO(dest_apicid);
3503 irte->hi.fields.destination = APICID_TO_IRTE_DEST_HI(dest_apicid);
3504 irte->lo.fields_remap.valid = 1;
3509 union irte *irte = (union irte *) entry;
3511 irte->fields.valid = 1;
3512 modify_irte(devid, index, irte);
3517 struct irte_ga *irte = (struct irte_ga *) entry;
3519 irte->lo.fields_remap.valid = 1;
3520 modify_irte_ga(devid, index, irte, NULL);
3525 union irte *irte = (union irte *) entry;
3527 irte->fields.valid = 0;
3528 modify_irte(devid, index, irte);
3533 struct irte_ga *irte = (struct irte_ga *) entry;
3535 irte->lo.fields_remap.valid = 0;
3536 modify_irte_ga(devid, index, irte, NULL);
3542 union irte *irte = (union irte *) entry;
3544 irte->fields.vector = vector;
3545 irte->fields.destination = dest_apicid;
3546 modify_irte(devid, index, irte);
3552 struct irte_ga *irte = (struct irte_ga *) entry;
3554 if (!irte->lo.fields_remap.guest_mode) {
3555 irte->hi.fields.vector = vector;
3556 irte->lo.fields_remap.destination =
3558 irte->hi.fields.destination =
3560 modify_irte_ga(devid, index, irte, NULL);
3573 struct irte_ga *irte = &ptr[index];
3575 memset(&irte->lo.val, 0, sizeof(u64));
3576 memset(&irte->hi.val, 0, sizeof(u64));
3577 irte->hi.fields.vector = 0xff;
3582 union irte *ptr = (union irte *)table->table;
3583 union irte *irte = &ptr[index];
3585 return irte->val != 0;
3591 struct irte_ga *irte = &ptr[index];
3593 return irte->hi.fields.vector != 0;
3604 struct irte_ga *irte = &ptr[index];
3606 memset(&irte->lo.val, 0, sizeof(u64));
3607 memset(&irte->hi.val, 0, sizeof(u64));
3818 data->entry = kzalloc(sizeof(union irte), GFP_KERNEL);