On 02/08/19 09:47, Anup Patel wrote: > + /* Save Host SSTATUS, HSTATUS, SCRATCH and STVEC */ > + csrr t0, CSR_SSTATUS > + REG_S t0, (KVM_ARCH_HOST_SSTATUS)(a0) > + csrr t1, CSR_HSTATUS > + REG_S t1, (KVM_ARCH_HOST_HSTATUS)(a0) > + csrr t2, CSR_SSCRATCH > + REG_S t2, (KVM_ARCH_HOST_SSCRATCH)(a0) > + csrr t3, CSR_STVEC > + REG_S t3, (KVM_ARCH_HOST_STVEC)(a0) > + A possible optimization: if these cannot change while Linux runs (I am thinking especially of STVEC and HSTATUS, but perhaps SSCRATCH can be saved on kvm_arch_vcpu_load too) you can avoid the csrr and store. Paolo