[SeaBIOS] [QUESTION]stuck in SeaBIOS and vm cannot be reset any more

Paolo Bonzini bonzini at gnu.org
Thu Aug 11 15:37:12 CEST 2016



On 11/08/2016 04:13, Xulei (Stone) wrote:
> Following your suggestion, I found this problem may be caused by the flag of 
> HF_SMM_MASK. I'm now sure QEMU is sending the KVM_SMI ioctl, and 
> kmod already handles this ioctl.
> 
> I add printk in inject_pending_event(), like this:
> 
> /* try to inject new event if pending */
> +  if(get_smi)
> +    printk(KERN_INFO "is_smm:%d\n", is_smm(vcpu));
> +
>    if (vcpu->arch.smi_pending && !is_smm(vcpu)) {
>            vcpu->arch.smi_pending = false;
>            process_smi(vcpu);
>    }
> 
> Then I found that the normal output is (is_smm is 0):
> 2016-08-11T09:44:45.090078+08:00|info|kernel[-]|[1269634.151054get smi ioctl from qemu
> 2016-08-11T09:44:45.090097+08:00|info|kernel[-]|[1269634.151056in process_smi_request
> 2016-08-11T09:44:45.090114+08:00|info|kernel[-]|[1269634.151057is_smm:0
> 2016-08-11T09:44:45.090131+08:00|info|kernel[-]|[1269634.151058process smi
> 2016-08-11T09:44:45.090914+08:00|info|kernel[-]|[1269634.151575get smi ioctl from qemu
> 2016-08-11T09:44:45.090947+08:00|info|kernel[-]|[1269634.151578in process_smi_request
> 2016-08-11T09:44:45.090972+08:00|info|kernel[-]|[1269634.151579is_smm:0
> 
> When problem occurs the output is (is_smm is 1):
> 2016-08-11T10:07:11.755982+08:00|info|kernel[-]|[1270981.916056get smi ioctl from qemu
> 2016-08-11T10:07:11.756035+08:00|info|kernel[-]|[1270981.916062in process_smi_request
> 2016-08-11T10:07:11.756078+08:00|info|kernel[-]|[1270981.916064is_smm:1
> 2016-08-11T10:07:13.896977+08:00|info|kernel[-]|[1270984.058117get smi ioctl from qemu
> 2016-08-11T10:07:13.897063+08:00|info|kernel[-]|[1270984.058121in process_smi_request
> 2016-08-11T10:07:13.897091+08:00|info|kernel[-]|[1270984.058123is_smm:1
> 
> So, it seems kvm cannot set HF_SMM_MASK flag correctly when we continuously reset VM.
> Any futher suggestion? Paolo :)

I guess a KVM_SET_VCPU_EVENTS is missing at reset time.

Paolo



More information about the SeaBIOS mailing list