* [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) @ 2009-01-26 19:54 Anthony Liguori 2009-01-27 10:15 ` Kevin Wolf 0 siblings, 1 reply; 7+ messages in thread From: Anthony Liguori @ 2009-01-26 19:54 UTC (permalink / raw) To: qemu-devel Revision: 6453 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6453 Author: aliguori Date: 2009-01-26 19:54:36 +0000 (Mon, 26 Jan 2009) Log Message: ----------- x86: Issue reset on triple faults (Jan Kiszka) As discussed a few times on this list: A triple fault causes a system reset on x86, and some guests make use of this (e.g. 386BSD). To keep the chance of tracing unexpected resets, log them if CPU_LOG_RESET is set. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Modified Paths: -------------- trunk/target-i386/op_helper.c Modified: trunk/target-i386/op_helper.c =================================================================== --- trunk/target-i386/op_helper.c 2009-01-26 19:54:31 UTC (rev 6452) +++ trunk/target-i386/op_helper.c 2009-01-26 19:54:36 UTC (rev 6453) @@ -1251,6 +1251,9 @@ } } +/* This should come from sysemu.h - if we could include it here... */ +void qemu_system_reset_request(void); + /* * Check nested exceptions and change to double or triple fault if * needed. It should only be called, if this is not an interrupt. @@ -1267,9 +1270,19 @@ qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new 0x%x\n", env->old_exception, intno); - if (env->old_exception == EXCP08_DBLE) - cpu_abort(env, "triple fault"); +#if !defined(CONFIG_USER_ONLY) + if (env->old_exception == EXCP08_DBLE) { + if (env->hflags & HF_SVMI_MASK) + helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ + if (loglevel & CPU_LOG_RESET) + fprintf(logfile, "Triple fault\n"); + + qemu_system_reset_request(); + return EXCP_HLT; + } +#endif + if ((first_contributory && second_contributory) || (env->old_exception == EXCP0E_PAGE && (second_contributory || (intno == EXCP0E_PAGE)))) { ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) 2009-01-26 19:54 [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) Anthony Liguori @ 2009-01-27 10:15 ` Kevin Wolf 2009-01-27 10:24 ` Jan Kiszka 0 siblings, 1 reply; 7+ messages in thread From: Kevin Wolf @ 2009-01-27 10:15 UTC (permalink / raw) To: Jan Kiszka; +Cc: qemu-devel Anthony Liguori schrieb: > Revision: 6453 > http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6453 > Author: aliguori > Date: 2009-01-26 19:54:36 +0000 (Mon, 26 Jan 2009) > > Log Message: > ----------- > x86: Issue reset on triple faults (Jan Kiszka) > > As discussed a few times on this list: A triple fault causes a system > reset on x86, and some guests make use of this (e.g. 386BSD). To keep > the chance of tracing unexpected resets, log them if CPU_LOG_RESET is > set. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> > Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> > > Modified Paths: > -------------- > trunk/target-i386/op_helper.c > > Modified: trunk/target-i386/op_helper.c > =================================================================== > --- trunk/target-i386/op_helper.c 2009-01-26 19:54:31 UTC (rev 6452) > +++ trunk/target-i386/op_helper.c 2009-01-26 19:54:36 UTC (rev 6453) > @@ -1251,6 +1251,9 @@ > } > } > > +/* This should come from sysemu.h - if we could include it here... */ > +void qemu_system_reset_request(void); > + > /* > * Check nested exceptions and change to double or triple fault if > * needed. It should only be called, if this is not an interrupt. > @@ -1267,9 +1270,19 @@ > qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new 0x%x\n", > env->old_exception, intno); > > - if (env->old_exception == EXCP08_DBLE) > - cpu_abort(env, "triple fault"); > +#if !defined(CONFIG_USER_ONLY) > + if (env->old_exception == EXCP08_DBLE) { > + if (env->hflags & HF_SVMI_MASK) > + helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ > > + if (loglevel & CPU_LOG_RESET) > + fprintf(logfile, "Triple fault\n"); I think this one should use the new logging macros as well. Kevin ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) 2009-01-27 10:15 ` Kevin Wolf @ 2009-01-27 10:24 ` Jan Kiszka 2009-01-27 10:33 ` Kevin Wolf 0 siblings, 1 reply; 7+ messages in thread From: Jan Kiszka @ 2009-01-27 10:24 UTC (permalink / raw) To: Kevin Wolf; +Cc: qemu-devel Kevin Wolf wrote: > Anthony Liguori schrieb: >> Revision: 6453 >> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6453 >> Author: aliguori >> Date: 2009-01-26 19:54:36 +0000 (Mon, 26 Jan 2009) >> >> Log Message: >> ----------- >> x86: Issue reset on triple faults (Jan Kiszka) >> >> As discussed a few times on this list: A triple fault causes a system >> reset on x86, and some guests make use of this (e.g. 386BSD). To keep >> the chance of tracing unexpected resets, log them if CPU_LOG_RESET is >> set. >> >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> >> >> Modified Paths: >> -------------- >> trunk/target-i386/op_helper.c >> >> Modified: trunk/target-i386/op_helper.c >> =================================================================== >> --- trunk/target-i386/op_helper.c 2009-01-26 19:54:31 UTC (rev 6452) >> +++ trunk/target-i386/op_helper.c 2009-01-26 19:54:36 UTC (rev 6453) >> @@ -1251,6 +1251,9 @@ >> } >> } >> >> +/* This should come from sysemu.h - if we could include it here... */ >> +void qemu_system_reset_request(void); >> + >> /* >> * Check nested exceptions and change to double or triple fault if >> * needed. It should only be called, if this is not an interrupt. >> @@ -1267,9 +1270,19 @@ >> qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new 0x%x\n", >> env->old_exception, intno); >> >> - if (env->old_exception == EXCP08_DBLE) >> - cpu_abort(env, "triple fault"); >> +#if !defined(CONFIG_USER_ONLY) >> + if (env->old_exception == EXCP08_DBLE) { >> + if (env->hflags & HF_SVMI_MASK) >> + helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ >> >> + if (loglevel & CPU_LOG_RESET) >> + fprintf(logfile, "Triple fault\n"); > > I think this one should use the new logging macros as well. Or in other words: ---------> Use new logging API. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c index 8cf3bb2..edf569e 100644 --- a/target-i386/op_helper.c +++ b/target-i386/op_helper.c @@ -1275,7 +1275,7 @@ static int check_exception(int intno, int *error_code) if (env->hflags & HF_SVMI_MASK) helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ - if (loglevel & CPU_LOG_RESET) + if (qemu_loglevel_mask(CPU_LOG_RESET)) fprintf(logfile, "Triple fault\n"); qemu_system_reset_request(); ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) 2009-01-27 10:24 ` Jan Kiszka @ 2009-01-27 10:33 ` Kevin Wolf 2009-01-27 10:31 ` Jan Kiszka 0 siblings, 1 reply; 7+ messages in thread From: Kevin Wolf @ 2009-01-27 10:33 UTC (permalink / raw) To: Jan Kiszka; +Cc: qemu-devel Jan Kiszka schrieb: > Kevin Wolf wrote: >> Anthony Liguori schrieb: >>> Revision: 6453 >>> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6453 >>> Author: aliguori >>> Date: 2009-01-26 19:54:36 +0000 (Mon, 26 Jan 2009) >>> >>> Log Message: >>> ----------- >>> x86: Issue reset on triple faults (Jan Kiszka) >>> >>> As discussed a few times on this list: A triple fault causes a system >>> reset on x86, and some guests make use of this (e.g. 386BSD). To keep >>> the chance of tracing unexpected resets, log them if CPU_LOG_RESET is >>> set. >>> >>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> >>> >>> Modified Paths: >>> -------------- >>> trunk/target-i386/op_helper.c >>> >>> Modified: trunk/target-i386/op_helper.c >>> =================================================================== >>> --- trunk/target-i386/op_helper.c 2009-01-26 19:54:31 UTC (rev 6452) >>> +++ trunk/target-i386/op_helper.c 2009-01-26 19:54:36 UTC (rev 6453) >>> @@ -1251,6 +1251,9 @@ >>> } >>> } >>> >>> +/* This should come from sysemu.h - if we could include it here... */ >>> +void qemu_system_reset_request(void); >>> + >>> /* >>> * Check nested exceptions and change to double or triple fault if >>> * needed. It should only be called, if this is not an interrupt. >>> @@ -1267,9 +1270,19 @@ >>> qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new 0x%x\n", >>> env->old_exception, intno); >>> >>> - if (env->old_exception == EXCP08_DBLE) >>> - cpu_abort(env, "triple fault"); >>> +#if !defined(CONFIG_USER_ONLY) >>> + if (env->old_exception == EXCP08_DBLE) { >>> + if (env->hflags & HF_SVMI_MASK) >>> + helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ >>> >>> + if (loglevel & CPU_LOG_RESET) >>> + fprintf(logfile, "Triple fault\n"); >> I think this one should use the new logging macros as well. > > Or in other words: > > ---------> > > Use new logging API. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> > > diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c > index 8cf3bb2..edf569e 100644 > --- a/target-i386/op_helper.c > +++ b/target-i386/op_helper.c > @@ -1275,7 +1275,7 @@ static int check_exception(int intno, int *error_code) > if (env->hflags & HF_SVMI_MASK) > helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ > > - if (loglevel & CPU_LOG_RESET) > + if (qemu_loglevel_mask(CPU_LOG_RESET)) > fprintf(logfile, "Triple fault\n"); > > qemu_system_reset_request(); Well, no. There's still a fprintf on logfile. ;-) qemu_log_mask(CPU_LOG_RESET, "Triple fault\n") should do the right thing. Kevin ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) 2009-01-27 10:33 ` Kevin Wolf @ 2009-01-27 10:31 ` Jan Kiszka 2009-01-29 17:04 ` Anthony Liguori 0 siblings, 1 reply; 7+ messages in thread From: Jan Kiszka @ 2009-01-27 10:31 UTC (permalink / raw) To: Kevin Wolf; +Cc: qemu-devel Kevin Wolf wrote: > Jan Kiszka schrieb: >> Kevin Wolf wrote: >>> Anthony Liguori schrieb: >>>> Revision: 6453 >>>> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6453 >>>> Author: aliguori >>>> Date: 2009-01-26 19:54:36 +0000 (Mon, 26 Jan 2009) >>>> >>>> Log Message: >>>> ----------- >>>> x86: Issue reset on triple faults (Jan Kiszka) >>>> >>>> As discussed a few times on this list: A triple fault causes a system >>>> reset on x86, and some guests make use of this (e.g. 386BSD). To keep >>>> the chance of tracing unexpected resets, log them if CPU_LOG_RESET is >>>> set. >>>> >>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> >>>> >>>> Modified Paths: >>>> -------------- >>>> trunk/target-i386/op_helper.c >>>> >>>> Modified: trunk/target-i386/op_helper.c >>>> =================================================================== >>>> --- trunk/target-i386/op_helper.c 2009-01-26 19:54:31 UTC (rev 6452) >>>> +++ trunk/target-i386/op_helper.c 2009-01-26 19:54:36 UTC (rev 6453) >>>> @@ -1251,6 +1251,9 @@ >>>> } >>>> } >>>> >>>> +/* This should come from sysemu.h - if we could include it here... */ >>>> +void qemu_system_reset_request(void); >>>> + >>>> /* >>>> * Check nested exceptions and change to double or triple fault if >>>> * needed. It should only be called, if this is not an interrupt. >>>> @@ -1267,9 +1270,19 @@ >>>> qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new 0x%x\n", >>>> env->old_exception, intno); >>>> >>>> - if (env->old_exception == EXCP08_DBLE) >>>> - cpu_abort(env, "triple fault"); >>>> +#if !defined(CONFIG_USER_ONLY) >>>> + if (env->old_exception == EXCP08_DBLE) { >>>> + if (env->hflags & HF_SVMI_MASK) >>>> + helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ >>>> >>>> + if (loglevel & CPU_LOG_RESET) >>>> + fprintf(logfile, "Triple fault\n"); >>> I think this one should use the new logging macros as well. >> Or in other words: >> >> ---------> >> >> Use new logging API. >> >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >> >> diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c >> index 8cf3bb2..edf569e 100644 >> --- a/target-i386/op_helper.c >> +++ b/target-i386/op_helper.c >> @@ -1275,7 +1275,7 @@ static int check_exception(int intno, int *error_code) >> if (env->hflags & HF_SVMI_MASK) >> helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ >> >> - if (loglevel & CPU_LOG_RESET) >> + if (qemu_loglevel_mask(CPU_LOG_RESET)) >> fprintf(logfile, "Triple fault\n"); >> >> qemu_system_reset_request(); > > Well, no. There's still a fprintf on logfile. ;-) > > qemu_log_mask(CPU_LOG_RESET, "Triple fault\n") should do the right thing. > Use new logging API. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c index 8cf3bb2..9e73b1e 100644 --- a/target-i386/op_helper.c +++ b/target-i386/op_helper.c @@ -1275,8 +1275,7 @@ static int check_exception(int intno, int *error_code) if (env->hflags & HF_SVMI_MASK) helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ - if (loglevel & CPU_LOG_RESET) - fprintf(logfile, "Triple fault\n"); + qemu_log_mask(CPU_LOG_RESET, "Triple fault\n"); qemu_system_reset_request(); return EXCP_HLT; ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) 2009-01-27 10:31 ` Jan Kiszka @ 2009-01-29 17:04 ` Anthony Liguori 2009-01-29 17:21 ` Jan Kiszka 0 siblings, 1 reply; 7+ messages in thread From: Anthony Liguori @ 2009-01-29 17:04 UTC (permalink / raw) To: Jan Kiszka; +Cc: Kevin Wolf, qemu-devel Jan Kiszka wrote: > Kevin Wolf wrote: > >> Jan Kiszka schrieb: >> >>> Kevin Wolf wrote: >>> >>>> Anthony Liguori schrieb: >>>> >>>>> Revision: 6453 >>>>> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6453 >>>>> Author: aliguori >>>>> Date: 2009-01-26 19:54:36 +0000 (Mon, 26 Jan 2009) >>>>> >>>>> Log Message: >>>>> ----------- >>>>> x86: Issue reset on triple faults (Jan Kiszka) >>>>> >>>>> As discussed a few times on this list: A triple fault causes a system >>>>> reset on x86, and some guests make use of this (e.g. 386BSD). To keep >>>>> the chance of tracing unexpected resets, log them if CPU_LOG_RESET is >>>>> set. >>>>> >>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>>>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> >>>>> >>>>> Modified Paths: >>>>> -------------- >>>>> trunk/target-i386/op_helper.c >>>>> >>>>> Modified: trunk/target-i386/op_helper.c >>>>> =================================================================== >>>>> --- trunk/target-i386/op_helper.c 2009-01-26 19:54:31 UTC (rev 6452) >>>>> +++ trunk/target-i386/op_helper.c 2009-01-26 19:54:36 UTC (rev 6453) >>>>> @@ -1251,6 +1251,9 @@ >>>>> } >>>>> } >>>>> >>>>> +/* This should come from sysemu.h - if we could include it here... */ >>>>> +void qemu_system_reset_request(void); >>>>> + >>>>> /* >>>>> * Check nested exceptions and change to double or triple fault if >>>>> * needed. It should only be called, if this is not an interrupt. >>>>> @@ -1267,9 +1270,19 @@ >>>>> qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new 0x%x\n", >>>>> env->old_exception, intno); >>>>> >>>>> - if (env->old_exception == EXCP08_DBLE) >>>>> - cpu_abort(env, "triple fault"); >>>>> +#if !defined(CONFIG_USER_ONLY) >>>>> + if (env->old_exception == EXCP08_DBLE) { >>>>> + if (env->hflags & HF_SVMI_MASK) >>>>> + helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ >>>>> >>>>> + if (loglevel & CPU_LOG_RESET) >>>>> + fprintf(logfile, "Triple fault\n"); >>>>> >>>> I think this one should use the new logging macros as well. >>>> >>> Or in other words: >>> >>> ---------> >>> >>> Use new logging API. >>> >>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>> >>> diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c >>> index 8cf3bb2..edf569e 100644 >>> --- a/target-i386/op_helper.c >>> +++ b/target-i386/op_helper.c >>> @@ -1275,7 +1275,7 @@ static int check_exception(int intno, int *error_code) >>> if (env->hflags & HF_SVMI_MASK) >>> helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ >>> >>> - if (loglevel & CPU_LOG_RESET) >>> + if (qemu_loglevel_mask(CPU_LOG_RESET)) >>> fprintf(logfile, "Triple fault\n"); >>> >>> qemu_system_reset_request(); >>> >> Well, no. There's still a fprintf on logfile. ;-) >> >> qemu_log_mask(CPU_LOG_RESET, "Triple fault\n") should do the right thing. >> >> > > Use new logging API. > > Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> > Applied. Thanks. FWIW, it's easier for me to apply patches that have a [PATCH] in the subject. Even if it's a reply to a thread, it's helpful to rewrite the subject. Easier to apply == applied more quickly :-) Regards, Anthony Liguori > diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c > index 8cf3bb2..9e73b1e 100644 > --- a/target-i386/op_helper.c > +++ b/target-i386/op_helper.c > @@ -1275,8 +1275,7 @@ static int check_exception(int intno, int *error_code) > if (env->hflags & HF_SVMI_MASK) > helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ > > - if (loglevel & CPU_LOG_RESET) > - fprintf(logfile, "Triple fault\n"); > + qemu_log_mask(CPU_LOG_RESET, "Triple fault\n"); > > qemu_system_reset_request(); > return EXCP_HLT; > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) 2009-01-29 17:04 ` Anthony Liguori @ 2009-01-29 17:21 ` Jan Kiszka 0 siblings, 0 replies; 7+ messages in thread From: Jan Kiszka @ 2009-01-29 17:21 UTC (permalink / raw) To: Anthony Liguori; +Cc: Kevin Wolf, qemu-devel Anthony Liguori wrote: > Jan Kiszka wrote: >> Kevin Wolf wrote: >> >>> Jan Kiszka schrieb: >>> >>>> Kevin Wolf wrote: >>>> >>>>> Anthony Liguori schrieb: >>>>> >>>>>> Revision: 6453 >>>>>> >>>>>> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6453 >>>>>> Author: aliguori >>>>>> Date: 2009-01-26 19:54:36 +0000 (Mon, 26 Jan 2009) >>>>>> >>>>>> Log Message: >>>>>> ----------- >>>>>> x86: Issue reset on triple faults (Jan Kiszka) >>>>>> >>>>>> As discussed a few times on this list: A triple fault causes a system >>>>>> reset on x86, and some guests make use of this (e.g. 386BSD). To keep >>>>>> the chance of tracing unexpected resets, log them if CPU_LOG_RESET is >>>>>> set. >>>>>> >>>>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>>>>> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> >>>>>> >>>>>> Modified Paths: >>>>>> -------------- >>>>>> trunk/target-i386/op_helper.c >>>>>> >>>>>> Modified: trunk/target-i386/op_helper.c >>>>>> =================================================================== >>>>>> --- trunk/target-i386/op_helper.c 2009-01-26 19:54:31 UTC (rev >>>>>> 6452) >>>>>> +++ trunk/target-i386/op_helper.c 2009-01-26 19:54:36 UTC (rev >>>>>> 6453) >>>>>> @@ -1251,6 +1251,9 @@ >>>>>> } >>>>>> } >>>>>> >>>>>> +/* This should come from sysemu.h - if we could include it >>>>>> here... */ >>>>>> +void qemu_system_reset_request(void); >>>>>> + >>>>>> /* >>>>>> * Check nested exceptions and change to double or triple fault if >>>>>> * needed. It should only be called, if this is not an interrupt. >>>>>> @@ -1267,9 +1270,19 @@ >>>>>> qemu_log_mask(CPU_LOG_INT, "check_exception old: 0x%x new >>>>>> 0x%x\n", >>>>>> env->old_exception, intno); >>>>>> >>>>>> - if (env->old_exception == EXCP08_DBLE) >>>>>> - cpu_abort(env, "triple fault"); >>>>>> +#if !defined(CONFIG_USER_ONLY) >>>>>> + if (env->old_exception == EXCP08_DBLE) { >>>>>> + if (env->hflags & HF_SVMI_MASK) >>>>>> + helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not >>>>>> return */ >>>>>> >>>>>> + if (loglevel & CPU_LOG_RESET) >>>>>> + fprintf(logfile, "Triple fault\n"); >>>>>> >>>>> I think this one should use the new logging macros as well. >>>>> >>>> Or in other words: >>>> >>>> ---------> >>>> >>>> Use new logging API. >>>> >>>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >>>> >>>> diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c >>>> index 8cf3bb2..edf569e 100644 >>>> --- a/target-i386/op_helper.c >>>> +++ b/target-i386/op_helper.c >>>> @@ -1275,7 +1275,7 @@ static int check_exception(int intno, int >>>> *error_code) >>>> if (env->hflags & HF_SVMI_MASK) >>>> helper_vmexit(SVM_EXIT_SHUTDOWN, 0); /* does not return */ >>>> >>>> - if (loglevel & CPU_LOG_RESET) >>>> + if (qemu_loglevel_mask(CPU_LOG_RESET)) >>>> fprintf(logfile, "Triple fault\n"); >>>> >>>> qemu_system_reset_request(); >>>> >>> Well, no. There's still a fprintf on logfile. ;-) >>> >>> qemu_log_mask(CPU_LOG_RESET, "Triple fault\n") should do the right >>> thing. >>> >>> >> >> Use new logging API. >> >> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> >> > > Applied. Thanks. > > FWIW, it's easier for me to apply patches that have a [PATCH] in the > subject. Even if it's a reply to a thread, it's helpful to rewrite the > subject. Easier to apply == applied more quickly :-) If it only were that easy... :) Yeah, will follow this rule now for all patches. Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-01-29 17:21 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-01-26 19:54 [Qemu-devel] [6453] x86: Issue reset on triple faults (Jan Kiszka) Anthony Liguori 2009-01-27 10:15 ` Kevin Wolf 2009-01-27 10:24 ` Jan Kiszka 2009-01-27 10:33 ` Kevin Wolf 2009-01-27 10:31 ` Jan Kiszka 2009-01-29 17:04 ` Anthony Liguori 2009-01-29 17:21 ` Jan Kiszka
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).