[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH] ppc: exit if compat mode is unknown
From: |
Greg Kurz |
Subject: |
Re: [Qemu-ppc] [PATCH] ppc: exit if compat mode is unknown |
Date: |
Thu, 14 Jul 2016 07:09:50 +0200 |
On Thu, 14 Jul 2016 12:05:42 +1000
David Gibson <address@hidden> wrote:
> On Wed, Jul 13, 2016 at 02:34:32PM +0200, Greg Kurz wrote:
> > On Wed, 13 Jul 2016 11:10:21 +0200
> > Greg Kurz <address@hidden> wrote:
> >
> > > Now that properties are set with -global, if we pass a bogus value for
> > > compat mode, a warning is printed and the property is simply ignored.
> > > For example, if the host is POWER8 and we pass compat=POWER7 instead of
> > > compat=power7 the guest will see a POWER8 cpu.
> > >
> > > While here, this patch also changes the error message to be more explicit.
> > >
> > > Signed-off-by: Greg Kurz <address@hidden>
> > > ---
> >
> > Of course this causes qom-set to exit as well... not sure this is
> > what we want.
>
> Yeah, that seems wrong. If I'm reading this right this is obsoleted
> by your later generic patch adding an &error_fatal to the generic
> code, yes?
>
Yes it is indeed.
> >
> > > target-ppc/translate_init.c | 6 +++++-
> > > 1 file changed, 5 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
> > > index 8f257fb74aa7..55688db9c9db 100644
> > > --- a/target-ppc/translate_init.c
> > > +++ b/target-ppc/translate_init.c
> > > @@ -8475,7 +8475,11 @@ static void powerpc_set_compat(Object *obj,
> > > Visitor *v, const char *name,
> > > } else if (strcmp(value, "power8") == 0) {
> > > *max_compat = CPU_POWERPC_LOGICAL_2_07;
> > > } else {
> > > - error_setg(errp, "Invalid compatibility mode \"%s\"", value);
> > > + /* This is called from -global, which does not exit on error.
> > > Since we
> > > + * don't want to start with a wrong compat mode, we exit now.
> > > + */
> > > + error_report("PPC does not support compatibility mode \"%s\"",
> > > value);
> > > + exit(1);
> > > }
> > >
> > > g_free(value);
> > >
> > >
> >
>
pgpD4KY_EkgnW.pgp
Description: OpenPGP digital signature