• Home
  • Raw
  • Download

Lines Matching full:sregs

1462                            struct kvm_sregs *sregs)  in get_sregs_base()  argument
1466 sregs->u.e.features |= KVM_SREGS_E_BASE; in get_sregs_base()
1468 sregs->u.e.csrr0 = vcpu->arch.csrr0; in get_sregs_base()
1469 sregs->u.e.csrr1 = vcpu->arch.csrr1; in get_sregs_base()
1470 sregs->u.e.mcsr = vcpu->arch.mcsr; in get_sregs_base()
1471 sregs->u.e.esr = kvmppc_get_esr(vcpu); in get_sregs_base()
1472 sregs->u.e.dear = kvmppc_get_dar(vcpu); in get_sregs_base()
1473 sregs->u.e.tsr = vcpu->arch.tsr; in get_sregs_base()
1474 sregs->u.e.tcr = vcpu->arch.tcr; in get_sregs_base()
1475 sregs->u.e.dec = kvmppc_get_dec(vcpu, tb); in get_sregs_base()
1476 sregs->u.e.tb = tb; in get_sregs_base()
1477 sregs->u.e.vrsave = vcpu->arch.vrsave; in get_sregs_base()
1481 struct kvm_sregs *sregs) in set_sregs_base() argument
1483 if (!(sregs->u.e.features & KVM_SREGS_E_BASE)) in set_sregs_base()
1486 vcpu->arch.csrr0 = sregs->u.e.csrr0; in set_sregs_base()
1487 vcpu->arch.csrr1 = sregs->u.e.csrr1; in set_sregs_base()
1488 vcpu->arch.mcsr = sregs->u.e.mcsr; in set_sregs_base()
1489 kvmppc_set_esr(vcpu, sregs->u.e.esr); in set_sregs_base()
1490 kvmppc_set_dar(vcpu, sregs->u.e.dear); in set_sregs_base()
1491 vcpu->arch.vrsave = sregs->u.e.vrsave; in set_sregs_base()
1492 kvmppc_set_tcr(vcpu, sregs->u.e.tcr); in set_sregs_base()
1494 if (sregs->u.e.update_special & KVM_SREGS_E_UPDATE_DEC) { in set_sregs_base()
1495 vcpu->arch.dec = sregs->u.e.dec; in set_sregs_base()
1499 if (sregs->u.e.update_special & KVM_SREGS_E_UPDATE_TSR) in set_sregs_base()
1500 kvmppc_set_tsr(vcpu, sregs->u.e.tsr); in set_sregs_base()
1506 struct kvm_sregs *sregs) in get_sregs_arch206() argument
1508 sregs->u.e.features |= KVM_SREGS_E_ARCH206; in get_sregs_arch206()
1510 sregs->u.e.pir = vcpu->vcpu_id; in get_sregs_arch206()
1511 sregs->u.e.mcsrr0 = vcpu->arch.mcsrr0; in get_sregs_arch206()
1512 sregs->u.e.mcsrr1 = vcpu->arch.mcsrr1; in get_sregs_arch206()
1513 sregs->u.e.decar = vcpu->arch.decar; in get_sregs_arch206()
1514 sregs->u.e.ivpr = vcpu->arch.ivpr; in get_sregs_arch206()
1518 struct kvm_sregs *sregs) in set_sregs_arch206() argument
1520 if (!(sregs->u.e.features & KVM_SREGS_E_ARCH206)) in set_sregs_arch206()
1523 if (sregs->u.e.pir != vcpu->vcpu_id) in set_sregs_arch206()
1526 vcpu->arch.mcsrr0 = sregs->u.e.mcsrr0; in set_sregs_arch206()
1527 vcpu->arch.mcsrr1 = sregs->u.e.mcsrr1; in set_sregs_arch206()
1528 vcpu->arch.decar = sregs->u.e.decar; in set_sregs_arch206()
1529 vcpu->arch.ivpr = sregs->u.e.ivpr; in set_sregs_arch206()
1534 int kvmppc_get_sregs_ivor(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs) in kvmppc_get_sregs_ivor() argument
1536 sregs->u.e.features |= KVM_SREGS_E_IVOR; in kvmppc_get_sregs_ivor()
1538 sregs->u.e.ivor_low[0] = vcpu->arch.ivor[BOOKE_IRQPRIO_CRITICAL]; in kvmppc_get_sregs_ivor()
1539 sregs->u.e.ivor_low[1] = vcpu->arch.ivor[BOOKE_IRQPRIO_MACHINE_CHECK]; in kvmppc_get_sregs_ivor()
1540 sregs->u.e.ivor_low[2] = vcpu->arch.ivor[BOOKE_IRQPRIO_DATA_STORAGE]; in kvmppc_get_sregs_ivor()
1541 sregs->u.e.ivor_low[3] = vcpu->arch.ivor[BOOKE_IRQPRIO_INST_STORAGE]; in kvmppc_get_sregs_ivor()
1542 sregs->u.e.ivor_low[4] = vcpu->arch.ivor[BOOKE_IRQPRIO_EXTERNAL]; in kvmppc_get_sregs_ivor()
1543 sregs->u.e.ivor_low[5] = vcpu->arch.ivor[BOOKE_IRQPRIO_ALIGNMENT]; in kvmppc_get_sregs_ivor()
1544 sregs->u.e.ivor_low[6] = vcpu->arch.ivor[BOOKE_IRQPRIO_PROGRAM]; in kvmppc_get_sregs_ivor()
1545 sregs->u.e.ivor_low[7] = vcpu->arch.ivor[BOOKE_IRQPRIO_FP_UNAVAIL]; in kvmppc_get_sregs_ivor()
1546 sregs->u.e.ivor_low[8] = vcpu->arch.ivor[BOOKE_IRQPRIO_SYSCALL]; in kvmppc_get_sregs_ivor()
1547 sregs->u.e.ivor_low[9] = vcpu->arch.ivor[BOOKE_IRQPRIO_AP_UNAVAIL]; in kvmppc_get_sregs_ivor()
1548 sregs->u.e.ivor_low[10] = vcpu->arch.ivor[BOOKE_IRQPRIO_DECREMENTER]; in kvmppc_get_sregs_ivor()
1549 sregs->u.e.ivor_low[11] = vcpu->arch.ivor[BOOKE_IRQPRIO_FIT]; in kvmppc_get_sregs_ivor()
1550 sregs->u.e.ivor_low[12] = vcpu->arch.ivor[BOOKE_IRQPRIO_WATCHDOG]; in kvmppc_get_sregs_ivor()
1551 sregs->u.e.ivor_low[13] = vcpu->arch.ivor[BOOKE_IRQPRIO_DTLB_MISS]; in kvmppc_get_sregs_ivor()
1552 sregs->u.e.ivor_low[14] = vcpu->arch.ivor[BOOKE_IRQPRIO_ITLB_MISS]; in kvmppc_get_sregs_ivor()
1553 sregs->u.e.ivor_low[15] = vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG]; in kvmppc_get_sregs_ivor()
1557 int kvmppc_set_sregs_ivor(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs) in kvmppc_set_sregs_ivor() argument
1559 if (!(sregs->u.e.features & KVM_SREGS_E_IVOR)) in kvmppc_set_sregs_ivor()
1562 vcpu->arch.ivor[BOOKE_IRQPRIO_CRITICAL] = sregs->u.e.ivor_low[0]; in kvmppc_set_sregs_ivor()
1563 vcpu->arch.ivor[BOOKE_IRQPRIO_MACHINE_CHECK] = sregs->u.e.ivor_low[1]; in kvmppc_set_sregs_ivor()
1564 vcpu->arch.ivor[BOOKE_IRQPRIO_DATA_STORAGE] = sregs->u.e.ivor_low[2]; in kvmppc_set_sregs_ivor()
1565 vcpu->arch.ivor[BOOKE_IRQPRIO_INST_STORAGE] = sregs->u.e.ivor_low[3]; in kvmppc_set_sregs_ivor()
1566 vcpu->arch.ivor[BOOKE_IRQPRIO_EXTERNAL] = sregs->u.e.ivor_low[4]; in kvmppc_set_sregs_ivor()
1567 vcpu->arch.ivor[BOOKE_IRQPRIO_ALIGNMENT] = sregs->u.e.ivor_low[5]; in kvmppc_set_sregs_ivor()
1568 vcpu->arch.ivor[BOOKE_IRQPRIO_PROGRAM] = sregs->u.e.ivor_low[6]; in kvmppc_set_sregs_ivor()
1569 vcpu->arch.ivor[BOOKE_IRQPRIO_FP_UNAVAIL] = sregs->u.e.ivor_low[7]; in kvmppc_set_sregs_ivor()
1570 vcpu->arch.ivor[BOOKE_IRQPRIO_SYSCALL] = sregs->u.e.ivor_low[8]; in kvmppc_set_sregs_ivor()
1571 vcpu->arch.ivor[BOOKE_IRQPRIO_AP_UNAVAIL] = sregs->u.e.ivor_low[9]; in kvmppc_set_sregs_ivor()
1572 vcpu->arch.ivor[BOOKE_IRQPRIO_DECREMENTER] = sregs->u.e.ivor_low[10]; in kvmppc_set_sregs_ivor()
1573 vcpu->arch.ivor[BOOKE_IRQPRIO_FIT] = sregs->u.e.ivor_low[11]; in kvmppc_set_sregs_ivor()
1574 vcpu->arch.ivor[BOOKE_IRQPRIO_WATCHDOG] = sregs->u.e.ivor_low[12]; in kvmppc_set_sregs_ivor()
1575 vcpu->arch.ivor[BOOKE_IRQPRIO_DTLB_MISS] = sregs->u.e.ivor_low[13]; in kvmppc_set_sregs_ivor()
1576 vcpu->arch.ivor[BOOKE_IRQPRIO_ITLB_MISS] = sregs->u.e.ivor_low[14]; in kvmppc_set_sregs_ivor()
1577 vcpu->arch.ivor[BOOKE_IRQPRIO_DEBUG] = sregs->u.e.ivor_low[15]; in kvmppc_set_sregs_ivor()
1583 struct kvm_sregs *sregs) in kvm_arch_vcpu_ioctl_get_sregs() argument
1589 sregs->pvr = vcpu->arch.pvr; in kvm_arch_vcpu_ioctl_get_sregs()
1591 get_sregs_base(vcpu, sregs); in kvm_arch_vcpu_ioctl_get_sregs()
1592 get_sregs_arch206(vcpu, sregs); in kvm_arch_vcpu_ioctl_get_sregs()
1593 ret = vcpu->kvm->arch.kvm_ops->get_sregs(vcpu, sregs); in kvm_arch_vcpu_ioctl_get_sregs()
1600 struct kvm_sregs *sregs) in kvm_arch_vcpu_ioctl_set_sregs() argument
1605 if (vcpu->arch.pvr != sregs->pvr) in kvm_arch_vcpu_ioctl_set_sregs()
1608 ret = set_sregs_base(vcpu, sregs); in kvm_arch_vcpu_ioctl_set_sregs()
1612 ret = set_sregs_arch206(vcpu, sregs); in kvm_arch_vcpu_ioctl_set_sregs()
1616 ret = vcpu->kvm->arch.kvm_ops->set_sregs(vcpu, sregs); in kvm_arch_vcpu_ioctl_set_sregs()