@@ -43,35 +43,30 @@ SYM_FUNC_START(__kvm_riscv_switch_to)
43
43
44
44
/* Load Guest CSR values */
45
45
REG_L t0, (KVM_ARCH_GUEST_SSTATUS)(a0 )
46
- REG_L t1, (KVM_ARCH_GUEST_HSTATUS)(a0 )
47
- REG_L t2, (KVM_ARCH_GUEST_SCOUNTEREN)(a0 )
48
- la t4, .Lkvm_switch_return
49
- REG_L t5, (KVM_ARCH_GUEST_SEPC)(a0 )
46
+ REG_L t1, (KVM_ARCH_GUEST_SCOUNTEREN)(a0 )
47
+ la t3, .Lkvm_switch_return
48
+ REG_L t4, (KVM_ARCH_GUEST_SEPC)(a0 )
50
49
51
50
/* Save Host and Restore Guest SSTATUS */
52
51
csrrw t0, CSR_SSTATUS, t0
53
52
54
- /* Save Host and Restore Guest HSTATUS */
55
- csrrw t1, CSR_HSTATUS, t1
56
-
57
53
/* Save Host and Restore Guest SCOUNTEREN */
58
- csrrw t2 , CSR_SCOUNTEREN, t2
54
+ csrrw t1 , CSR_SCOUNTEREN, t1
59
55
60
56
/* Save Host STVEC and change it to return path */
61
- csrrw t4 , CSR_STVEC, t4
57
+ csrrw t3 , CSR_STVEC, t3
62
58
63
59
/* Save Host SSCRATCH and change it to struct kvm_vcpu_arch pointer */
64
- csrrw t3 , CSR_SSCRATCH, a0
60
+ csrrw t2 , CSR_SSCRATCH, a0
65
61
66
62
/* Restore Guest SEPC */
67
- csrw CSR_SEPC, t5
63
+ csrw CSR_SEPC, t4
68
64
69
65
/* Store Host CSR values */
70
66
REG_S t0, (KVM_ARCH_HOST_SSTATUS)(a0 )
71
- REG_S t1, (KVM_ARCH_HOST_HSTATUS)(a0 )
72
- REG_S t2, (KVM_ARCH_HOST_SCOUNTEREN)(a0 )
73
- REG_S t3, (KVM_ARCH_HOST_SSCRATCH)(a0 )
74
- REG_S t4, (KVM_ARCH_HOST_STVEC)(a0 )
67
+ REG_S t1, (KVM_ARCH_HOST_SCOUNTEREN)(a0 )
68
+ REG_S t2, (KVM_ARCH_HOST_SSCRATCH)(a0 )
69
+ REG_S t3, (KVM_ARCH_HOST_STVEC)(a0 )
75
70
76
71
/* Restore Guest GPRs (except A0) */
77
72
REG_L ra, (KVM_ARCH_GUEST_RA)(a0 )
@@ -153,8 +148,7 @@ SYM_FUNC_START(__kvm_riscv_switch_to)
153
148
REG_L t1, (KVM_ARCH_HOST_STVEC)(a0 )
154
149
REG_L t2, (KVM_ARCH_HOST_SSCRATCH)(a0 )
155
150
REG_L t3, (KVM_ARCH_HOST_SCOUNTEREN)(a0 )
156
- REG_L t4, (KVM_ARCH_HOST_HSTATUS)(a0 )
157
- REG_L t5, (KVM_ARCH_HOST_SSTATUS)(a0 )
151
+ REG_L t4, (KVM_ARCH_HOST_SSTATUS)(a0 )
158
152
159
153
/* Save Guest SEPC */
160
154
csrr t0, CSR_SEPC
@@ -168,18 +162,14 @@ SYM_FUNC_START(__kvm_riscv_switch_to)
168
162
/* Save Guest and Restore Host SCOUNTEREN */
169
163
csrrw t3, CSR_SCOUNTEREN, t3
170
164
171
- /* Save Guest and Restore Host HSTATUS */
172
- csrrw t4, CSR_HSTATUS, t4
173
-
174
165
/* Save Guest and Restore Host SSTATUS */
175
- csrrw t5 , CSR_SSTATUS, t5
166
+ csrrw t4 , CSR_SSTATUS, t4
176
167
177
168
/* Store Guest CSR values */
178
169
REG_S t0, (KVM_ARCH_GUEST_SEPC)(a0 )
179
170
REG_S t2, (KVM_ARCH_GUEST_A0)(a0 )
180
171
REG_S t3, (KVM_ARCH_GUEST_SCOUNTEREN)(a0 )
181
- REG_S t4, (KVM_ARCH_GUEST_HSTATUS)(a0 )
182
- REG_S t5, (KVM_ARCH_GUEST_SSTATUS)(a0 )
172
+ REG_S t4, (KVM_ARCH_GUEST_SSTATUS)(a0 )
183
173
184
174
/* Restore Host GPRs (except A0 and T0-T6) */
185
175
REG_L ra, (KVM_ARCH_HOST_RA)(a0 )
0 commit comments