[{"id":1765854,"web_url":"http://patchwork.ozlabs.org/comment/1765854/","msgid":"<20170909201657.GF7570@localhost.localdomain>","list_archive_url":null,"date":"2017-09-09T20:16:57","subject":"Re: [Qemu-devel] [RFC v1 1/2] machine: Add a valid_cpu_types\n\tproperty","submitter":{"id":195,"url":"http://patchwork.ozlabs.org/api/people/195/","name":"Eduardo Habkost","email":"ehabkost@redhat.com"},"content":"On Tue, Sep 05, 2017 at 05:12:01PM -0700, Alistair Francis wrote:\n> Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>\n> ---\n> \n>  hw/core/machine.c   | 27 +++++++++++++++++++++++++++\n>  include/hw/boards.h |  1 +\n>  2 files changed, 28 insertions(+)\n> \n> diff --git a/hw/core/machine.c b/hw/core/machine.c\n> index 41b53a17ad..de0f127d27 100644\n> --- a/hw/core/machine.c\n> +++ b/hw/core/machine.c\n> @@ -758,6 +758,33 @@ void machine_run_board_init(MachineState *machine)\n>          machine_numa_finish_init(machine);\n>      }\n>      machine_class->init(machine);\n> +\n> +    if (machine_class->valid_cpu_types && machine->cpu_model) {\n> +        const char *temp;\n> +        int i, len = machine_class->valid_cpu_types->len;\n\nI suggest doing this after Igor's series that replaces the\ncpu_model field (full -cpu string) with cpu_type (only the CPU\ntype name).\n\n> +\n> +        for (i = 0; i < len; i++) {\n> +            temp = g_array_index(machine_class->valid_cpu_types, char *, i);\n> +            if (!strcmp(machine->cpu_model, temp)) {\n> +                /* The user specificed CPU is in the valid field, we are\n> +                 * good to go.\n> +                 */\n> +                g_array_free(machine_class->valid_cpu_types, true);\n> +                return;\n\nI suggest checking for:\n  object_class_dynamic_cast(object_class_get_name(machine->cpu_type), type)\ninstead.  This way machines could just enumerate a common parent\ntype to all supported CPU models.\n\n> +            }\n> +        }\n> +        /* The user specified CPU must not be a valid CPU, print a sane error */\n> +        temp = g_array_index(machine_class->valid_cpu_types, char *, 0);\n> +        error_report(\"Invalid CPU: %s\", machine->cpu_model);\n> +        error_printf(\"The valid options are: %s\", temp);\n> +        for (i = 1; i < len; i++) {\n> +            temp = g_array_index(machine_class->valid_cpu_types, char *, i);\n> +            error_printf(\", %s\", temp);\n> +        }\n> +        error_printf(\"\\n\");\n\nNow we have a completely new method to list the valid CPU types\nin addition to arch_query_cpu_definitions() and list_cpus()\n(which are already a bit messy and need to share more code).\n\nI think this should share code with \"-cpu\nhelp\"/query-cpu-definitions instead.  This means\narch_query_cpu_definitions() will need a MachineClass* argument,\nif the user wants only the CPU types supported by a specific\nmachine type, but I think it would be an interesting improvement\nto query-cpu-definitions.\n\n> +        g_array_free(machine_class->valid_cpu_types, true);\n> +        exit(1);\n> +    }\n>  }\n>  \n>  static void machine_class_finalize(ObjectClass *klass, void *data)\n> diff --git a/include/hw/boards.h b/include/hw/boards.h\n> index 3363dd19fd..78678f84a9 100644\n> --- a/include/hw/boards.h\n> +++ b/include/hw/boards.h\n> @@ -172,6 +172,7 @@ struct MachineClass {\n>      int minimum_page_bits;\n>      bool has_hotpluggable_cpus;\n>      int numa_mem_align_shift;\n> +    GArray *valid_cpu_types;\n\nThe list of CPU types for a machine are very likely to be\nstatically defined at build time.  Any specific reason to not\nmake it a simple char** pointer?\n\n>      void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,\n>                                   int nb_nodes, ram_addr_t size);\n>  \n> -- \n> 2.11.0\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=ehabkost@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xqQVz5HJ1z9s83\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 10 Sep 2017 06:18:34 +1000 (AEST)","from localhost ([::1]:50750 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dqmD2-0006Wu-4m\n\tfor incoming@patchwork.ozlabs.org; Sat, 09 Sep 2017 16:18:32 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:41515)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <ehabkost@redhat.com>) id 1dqmBe-0005yl-Ul\n\tfor qemu-devel@nongnu.org; Sat, 09 Sep 2017 16:17:08 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <ehabkost@redhat.com>) id 1dqmBb-0000xk-Po\n\tfor qemu-devel@nongnu.org; Sat, 09 Sep 2017 16:17:06 -0400","from mx1.redhat.com ([209.132.183.28]:48070)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <ehabkost@redhat.com>) id 1dqmBb-0000sL-Gi\n\tfor qemu-devel@nongnu.org; Sat, 09 Sep 2017 16:17:03 -0400","from smtp.corp.redhat.com\n\t(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 88423C04B329;\n\tSat,  9 Sep 2017 20:17:01 +0000 (UTC)","from localhost (ovpn-116-45.gru2.redhat.com [10.97.116.45])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 4146E600C2;\n\tSat,  9 Sep 2017 20:16:59 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 88423C04B329","Date":"Sat, 9 Sep 2017 17:16:57 -0300","From":"Eduardo Habkost <ehabkost@redhat.com>","To":"Alistair Francis <alistair.francis@xilinx.com>","Message-ID":"<20170909201657.GF7570@localhost.localdomain>","References":"<cover.1504656490.git.alistair.francis@xilinx.com>\n\t<b2bfe1ee20bd9764572015df0d167d3015036ef0.1504656490.git.alistair.francis@xilinx.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<b2bfe1ee20bd9764572015df0d167d3015036ef0.1504656490.git.alistair.francis@xilinx.com>","X-Fnord":"you can see the fnord","User-Agent":"Mutt/1.8.3 (2017-05-23)","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.11","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.31]);\n\tSat, 09 Sep 2017 20:17:01 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [RFC v1 1/2] machine: Add a valid_cpu_types\n\tproperty","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"marcel@redhat.com, alistair23@gmail.com, qemu-devel@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1766252,"web_url":"http://patchwork.ozlabs.org/comment/1766252/","msgid":"<20170911133139.518caf34@nial.brq.redhat.com>","list_archive_url":null,"date":"2017-09-11T11:31:39","subject":"Re: [Qemu-devel] [RFC v1 1/2] machine: Add a valid_cpu_types\n\tproperty","submitter":{"id":11305,"url":"http://patchwork.ozlabs.org/api/people/11305/","name":"Igor Mammedov","email":"imammedo@redhat.com"},"content":"On Sat, 9 Sep 2017 17:16:57 -0300\nEduardo Habkost <ehabkost@redhat.com> wrote:\n\n> On Tue, Sep 05, 2017 at 05:12:01PM -0700, Alistair Francis wrote:\n> > Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>\n> > ---\n> > \n> >  hw/core/machine.c   | 27 +++++++++++++++++++++++++++\n> >  include/hw/boards.h |  1 +\n> >  2 files changed, 28 insertions(+)\n> > \n> > diff --git a/hw/core/machine.c b/hw/core/machine.c\n> > index 41b53a17ad..de0f127d27 100644\n> > --- a/hw/core/machine.c\n> > +++ b/hw/core/machine.c\n> > @@ -758,6 +758,33 @@ void machine_run_board_init(MachineState *machine)\n> >          machine_numa_finish_init(machine);\n> >      }\n> >      machine_class->init(machine);\n> > +\n> > +    if (machine_class->valid_cpu_types && machine->cpu_model) {\n> > +        const char *temp;\n> > +        int i, len = machine_class->valid_cpu_types->len;  \n> \n> I suggest doing this after Igor's series that replaces the\n> cpu_model field (full -cpu string) with cpu_type (only the CPU\n> type name).\n\nin addition check should run before\n  machine_class->init(machine);\nit should be possible after cpu_model -> cpu_type refactoring is complete\n\n[...]\n\n> > diff --git a/include/hw/boards.h b/include/hw/boards.h\n> > index 3363dd19fd..78678f84a9 100644\n> > --- a/include/hw/boards.h\n> > +++ b/include/hw/boards.h\n> > @@ -172,6 +172,7 @@ struct MachineClass {\n> >      int minimum_page_bits;\n> >      bool has_hotpluggable_cpus;\n> >      int numa_mem_align_shift;\n> > +    GArray *valid_cpu_types;  \n> \n> The list of CPU types for a machine are very likely to be\n> statically defined at build time.  Any specific reason to not\n> make it a simple char** pointer?\nwile working on cpu_model, I've seen only static checks\nused in some machines. So +1 to static null terminated array\n[\n  TYPE_FOO1,\n  TYPE_FOO2,\n  NULL\n]\n\n> \n> >      void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,\n> >                                   int nb_nodes, ram_addr_t size);\n> >  \n> > -- \n> > 2.11.0\n> >   \n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=imammedo@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xrR4q3kt0z9s83\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 21:47:55 +1000 (AEST)","from localhost ([::1]:56956 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1drNBx-0006wa-MF\n\tfor incoming@patchwork.ozlabs.org; Mon, 11 Sep 2017 07:47:53 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:51579)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <imammedo@redhat.com>) id 1drMwO-0002RL-KG\n\tfor qemu-devel@nongnu.org; Mon, 11 Sep 2017 07:31:54 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <imammedo@redhat.com>) id 1drMwN-0001NA-Jq\n\tfor qemu-devel@nongnu.org; Mon, 11 Sep 2017 07:31:48 -0400","from mx1.redhat.com ([209.132.183.28]:54822)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <imammedo@redhat.com>) id 1drMwN-0001Md-Dp\n\tfor qemu-devel@nongnu.org; Mon, 11 Sep 2017 07:31:47 -0400","from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 62F7F234A43;\n\tMon, 11 Sep 2017 11:31:46 +0000 (UTC)","from nial.brq.redhat.com (unknown [10.43.2.209])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 2EA866AD3F;\n\tMon, 11 Sep 2017 11:31:40 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 62F7F234A43","Date":"Mon, 11 Sep 2017 13:31:39 +0200","From":"Igor Mammedov <imammedo@redhat.com>","To":"Eduardo Habkost <ehabkost@redhat.com>","Message-ID":"<20170911133139.518caf34@nial.brq.redhat.com>","In-Reply-To":"<20170909201657.GF7570@localhost.localdomain>","References":"<cover.1504656490.git.alistair.francis@xilinx.com>\n\t<b2bfe1ee20bd9764572015df0d167d3015036ef0.1504656490.git.alistair.francis@xilinx.com>\n\t<20170909201657.GF7570@localhost.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.15","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.38]);\n\tMon, 11 Sep 2017 11:31:46 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [RFC v1 1/2] machine: Add a valid_cpu_types\n\tproperty","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"marcel@redhat.com, alistair23@gmail.com, qemu-devel@nongnu.org,\n\tAlistair Francis <alistair.francis@xilinx.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1773170,"web_url":"http://patchwork.ozlabs.org/comment/1773170/","msgid":"<CAKmqyKPJVLROtA7uT7YC9P8DVwNcTWURophsZ5id+bJ_oexwGg@mail.gmail.com>","list_archive_url":null,"date":"2017-09-21T23:06:54","subject":"Re: [Qemu-devel] [RFC v1 1/2] machine: Add a valid_cpu_types\n\tproperty","submitter":{"id":47878,"url":"http://patchwork.ozlabs.org/api/people/47878/","name":"Alistair Francis","email":"alistair.francis@xilinx.com"},"content":"On Sat, Sep 9, 2017 at 1:16 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:\n> On Tue, Sep 05, 2017 at 05:12:01PM -0700, Alistair Francis wrote:\n>> Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>\n>> ---\n>>\n>>  hw/core/machine.c   | 27 +++++++++++++++++++++++++++\n>>  include/hw/boards.h |  1 +\n>>  2 files changed, 28 insertions(+)\n>>\n>> diff --git a/hw/core/machine.c b/hw/core/machine.c\n>> index 41b53a17ad..de0f127d27 100644\n>> --- a/hw/core/machine.c\n>> +++ b/hw/core/machine.c\n>> @@ -758,6 +758,33 @@ void machine_run_board_init(MachineState *machine)\n>>          machine_numa_finish_init(machine);\n>>      }\n>>      machine_class->init(machine);\n>> +\n>> +    if (machine_class->valid_cpu_types && machine->cpu_model) {\n>> +        const char *temp;\n>> +        int i, len = machine_class->valid_cpu_types->len;\n>\n> I suggest doing this after Igor's series that replaces the\n> cpu_model field (full -cpu string) with cpu_type (only the CPU\n> type name).\n>\n>> +\n>> +        for (i = 0; i < len; i++) {\n>> +            temp = g_array_index(machine_class->valid_cpu_types, char *, i);\n>> +            if (!strcmp(machine->cpu_model, temp)) {\n>> +                /* The user specificed CPU is in the valid field, we are\n>> +                 * good to go.\n>> +                 */\n>> +                g_array_free(machine_class->valid_cpu_types, true);\n>> +                return;\n>\n> I suggest checking for:\n>   object_class_dynamic_cast(object_class_get_name(machine->cpu_type), type)\n> instead.  This way machines could just enumerate a common parent\n> type to all supported CPU models.\n>\n>> +            }\n>> +        }\n>> +        /* The user specified CPU must not be a valid CPU, print a sane error */\n>> +        temp = g_array_index(machine_class->valid_cpu_types, char *, 0);\n>> +        error_report(\"Invalid CPU: %s\", machine->cpu_model);\n>> +        error_printf(\"The valid options are: %s\", temp);\n>> +        for (i = 1; i < len; i++) {\n>> +            temp = g_array_index(machine_class->valid_cpu_types, char *, i);\n>> +            error_printf(\", %s\", temp);\n>> +        }\n>> +        error_printf(\"\\n\");\n>\n> Now we have a completely new method to list the valid CPU types\n> in addition to arch_query_cpu_definitions() and list_cpus()\n> (which are already a bit messy and need to share more code).\n>\n> I think this should share code with \"-cpu\n> help\"/query-cpu-definitions instead.  This means\n> arch_query_cpu_definitions() will need a MachineClass* argument,\n> if the user wants only the CPU types supported by a specific\n> machine type, but I think it would be an interesting improvement\n> to query-cpu-definitions.\n\nI don't see the improvement here. arch_query_cpu_definitions() is just\na pretty simple list of that arch's CPUs. I don't really see how it\nhelps in this case. We don't re-use much code at all.\n\nIdeally I would like to see less arch dependent code in QEMU, and\nrelying on arch_query_cpu_definitions() is moving in the opposite\ndirection. It looks like arch_query_cpu_definitions() isn't supported\nby every architecture as well. I only see ARM, x86, PPC and S390x\nsupport.\n\nI have addressed all the other comments so I'm going to send an RFCv2\nout later today. The code looks a lot nicer now. I'm happy to keep\ndiscussing this though, just want to keep the ball rolling.\n\nThanks,\nAlistair\n\n>\n>> +        g_array_free(machine_class->valid_cpu_types, true);\n>> +        exit(1);\n>> +    }\n>>  }\n>>\n>>  static void machine_class_finalize(ObjectClass *klass, void *data)\n>> diff --git a/include/hw/boards.h b/include/hw/boards.h\n>> index 3363dd19fd..78678f84a9 100644\n>> --- a/include/hw/boards.h\n>> +++ b/include/hw/boards.h\n>> @@ -172,6 +172,7 @@ struct MachineClass {\n>>      int minimum_page_bits;\n>>      bool has_hotpluggable_cpus;\n>>      int numa_mem_align_shift;\n>> +    GArray *valid_cpu_types;\n>\n> The list of CPU types for a machine are very likely to be\n> statically defined at build time.  Any specific reason to not\n> make it a simple char** pointer?\n>\n>>      void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,\n>>                                   int nb_nodes, ram_addr_t size);\n>>\n>> --\n>> 2.11.0\n>>\n>\n> --\n> Eduardo","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"Ktm2vmhA\"; dkim-atps=neutral"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xyskZ1YgKz9t30\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 09:09:26 +1000 (AEST)","from localhost ([::1]:55823 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dvAay-0005jN-9A\n\tfor incoming@patchwork.ozlabs.org; Thu, 21 Sep 2017 19:09:24 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:33576)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <alistair23@gmail.com>) id 1dvAZ7-0004uT-Py\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 19:07:31 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <alistair23@gmail.com>) id 1dvAZ6-0000Ba-DG\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 19:07:29 -0400","from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:37056)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.71) (envelope-from <alistair23@gmail.com>)\n\tid 1dvAZ6-000093-4F\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 19:07:28 -0400","by mail-wm0-x241.google.com with SMTP id f4so6409388wmh.4\n\tfor <qemu-devel@nongnu.org>; Thu, 21 Sep 2017 16:07:26 -0700 (PDT)","by 10.28.191.130 with HTTP; Thu, 21 Sep 2017 16:06:54 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=mime-version:sender:in-reply-to:references:from:date:message-id\n\t:subject:to:cc;\n\tbh=Z8be6lq0PHh+HNjwNq0pTzSPU7WAoxS4LTgkloKRJnQ=;\n\tb=Ktm2vmhAksV1SBOZAQugp3z9cwbaEeAjNmjwRwdMG3ggd7MCbQywyZooOkMopJRiBz\n\tA1LqD+QFKdTaTAAXJb+rMLWlmRNIFSlGtZHaIZ/wAomNV0h8wtviKM4vSA35rP3h0Jeg\n\tQYMhPDpgqJh4YVEgUaGmgl3aeKxkHoBqCRMROSM3Hq5RKRSaLJiP8XEWAMIvwCJ7/wvW\n\tiK0489oZA7BAJnVv8SCflI51oSurt8wvFVXEdQ15Ju77J584dq5nLMs2aVhzACFaWllX\n\txBGvFrCvRBBAPLbMiG6WFIdQ/OrelT28nOuArRnplkEy7iD4CdQss22lnP9bSgCnCjr1\n\ttvbQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:sender:in-reply-to:references:from\n\t:date:message-id:subject:to:cc;\n\tbh=Z8be6lq0PHh+HNjwNq0pTzSPU7WAoxS4LTgkloKRJnQ=;\n\tb=B8V6CDCy31Q2kxlV+7brnwsAZ9SnRrSXrAddbqxcQnkodbJMfAN7VdMmtgLwawq8cN\n\tIRHpWpMgQ2lIWSjq9A4QbfOlD4/V7gt0rt94QTdnqFCybBV5Jc6Eq4UtZYE+ZUi8g4/T\n\t+iNviJwyl68ZnIDk0HfddFO9uvW46ceglu+3gHyHgiZawKMGPSdjerj+iBiKK8YreMn3\n\t+izOWV4HrUuvxmrhofmtOUzCIs88sJRSgqcwUq58GL87Jm2YzllG9JsV5Lhb8yyB74ZL\n\tm30fY0g9ER+VXFXlY6qSCAsGsOWXhuB0KEmHDN1rWZ2DWYcjMxam0+m1OpyvRKBpA/xU\n\t7+Dw==","X-Gm-Message-State":"AHPjjUgQrxBsOkUiuDa3srAMeNPnN57DKhs1G0tVaQeGHXJagQkIb0wU\n\tox3ZuYvwd7xYxfXq18UAwuL1LI63QhI4uEWedd6iiyP3","X-Google-Smtp-Source":"AOwi7QBMvCn969hgTi33bwQY7vWKj1WYz86Drm8tC7kZ6071ma5RDIwmk4tRI8v/uxNksSdgpejsHuJhajjkFJ4TYXA=","X-Received":"by 10.28.125.205 with SMTP id y196mr2395504wmc.128.1506035245443;\n\tThu, 21 Sep 2017 16:07:25 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<20170909201657.GF7570@localhost.localdomain>","References":"<cover.1504656490.git.alistair.francis@xilinx.com>\n\t<b2bfe1ee20bd9764572015df0d167d3015036ef0.1504656490.git.alistair.francis@xilinx.com>\n\t<20170909201657.GF7570@localhost.localdomain>","From":"Alistair Francis <alistair.francis@xilinx.com>","Date":"Thu, 21 Sep 2017 16:06:54 -0700","X-Google-Sender-Auth":"73myaE77SfralYv8ndPx5XyDPcg","Message-ID":"<CAKmqyKPJVLROtA7uT7YC9P8DVwNcTWURophsZ5id+bJ_oexwGg@mail.gmail.com>","To":"Eduardo Habkost <ehabkost@redhat.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-detected-operating-system":"by eggs.gnu.org: Genre and OS details not\n\trecognized.","X-Received-From":"2a00:1450:400c:c09::241","Subject":"Re: [Qemu-devel] [RFC v1 1/2] machine: Add a valid_cpu_types\n\tproperty","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"Marcel Apfelbaum <marcel@redhat.com>,\n\t\"qemu-devel@nongnu.org Developers\" <qemu-devel@nongnu.org>,\n\tAlistair Francis <alistair.francis@xilinx.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]