Hi, Xiantao >> [3/17] Add firmware virtualization support. +void kvm_sal_emul(struct kvm_vcpu *vcpu) +{ + + struct sal_ret_values result; + u64 index, in1, in2, in3, in4, in5, in6, in7; + + kvm_get_sal_call_data(vcpu, &index, &in1, &in2, + &in3, &in4, &in5, &in6, &in7); + if (index) { + result = sal_emulator(index, in1, in2, in3, + in4, in5, in6, in7); + set_sal_result(vcpu, result); + } else + printk(KERN_WARNING"kvm:Unsupported sal call called," + " index:%d!\n", index); +} The printk always show index:0. And set_sal_result() doesn't work at the time of index=0. So I think the following code is better. +void kvm_sal_emul(struct kvm_vcpu *vcpu) +{ + + struct sal_ret_values result; + u64 index, in1, in2, in3, in4, in5, in6, in7; + + kvm_get_sal_call_data(vcpu, &index, &in1, &in2, + &in3, &in4, &in5, &in6, &in7); + result = sal_emulator(index, in1, in2, in3, + in4, in5, in6, in7); + set_sal_result(vcpu, result); +} Best Regards, Akio Takebe - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |