qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [RESENT][PATCH 2/2] x86: Issue reset on triple faults


From: Jan Kiszka
Subject: [Qemu-devel] Re: [RESENT][PATCH 2/2] x86: Issue reset on triple faults
Date: Mon, 23 Jun 2008 17:35:24 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

Jamie Lokier wrote:
> Jan Kiszka wrote:
>> As discussed a few times on this list: A triple fault causes a system
>> reset on x86, and some guests make use of this. To keep the chance of
>> tracing unexpected resets, log them if CPU_LOG_RESET is set.
> 
> It might be worth distinguishing between
> triple-fault-used-by-guest-for-context-switch and triple faults which
> trigger a normal reset, and log only the latter.  There's a
> standardish way of distinguishing them, which the BIOS should check.

You refer to setting some return address at some magic BIOS location?
Isn't this something the BIOS should handle, not QEMU?

> 
>> +#if !defined(CONFIG_USER_ONLY)
>> +    if (env->old_exception == EXCP08_DBLE) {
>> +        if (env->hflags & HF_SVMI_MASK)
>> +            helper_vmexit(SVM_EXIT_SHUTDOWN, 0);
>> +
>> +        if (loglevel & CPU_LOG_RESET)
>> +            fprintf(logfile, "Triple fault\n");
>> +
>> +        qemu_system_reset_request();
>> +        return EXCP_HLT;
>> +    }
>> +#endif
> 
> When helper(SVM_EXIT_SHUTDOWN, 0) is called, should it still also call
> qemu_system_reset_request()?

helper_vmexit() is not expected to return (cpu_loop_exit).

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux




reply via email to

[Prev in Thread] Current Thread [Next in Thread]