From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38675) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XroIl-00077L-Sb for qemu-devel@nongnu.org; Fri, 21 Nov 2014 08:31:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XroIf-0005l0-4J for qemu-devel@nongnu.org; Fri, 21 Nov 2014 08:31:07 -0500 Received: from fldsmtpe04.verizon.com ([140.108.26.143]:18437) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XroIf-0005kJ-0f for qemu-devel@nongnu.org; Fri, 21 Nov 2014 08:31:01 -0500 From: Don Slutz Message-ID: <546F3E92.5080406@terremark.com> Date: Fri, 21 Nov 2014 08:30:58 -0500 MIME-Version: 1.0 References: <1416522776-22169-1-git-send-email-dslutz@verizon.com> <20141121020142.GC3137@thinpad.lan.raisama.net> In-Reply-To: <20141121020142.GC3137@thinpad.lan.raisama.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [BUGFIX][PATCH for 2.2 v5 1/1] -machine vmport=auto: Fix handling of VMWare ioport emulation for xen List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost Cc: Anthony Liguori , "Michael S. Tsirkin" , Michael Tokarev , qemu-devel@nongnu.org, Don Slutz , "Dr. David Alan Gilbert" , Stefan Hajnoczi , Paolo Bonzini On 11/20/14 21:01, Eduardo Habkost wrote: > On Thu, Nov 20, 2014 at 05:32:56PM -0500, Don Slutz wrote: > [...] >> @@ -1711,18 +1711,23 @@ static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v, >> pcms->max_ram_below_4g = value; >> } >> >> -static bool pc_machine_get_vmport(Object *obj, Error **errp) >> +static void pc_machine_get_vmport(Object *obj, Visitor *v, void *opaque, >> + const char *name, Error **errp) >> { >> PCMachineState *pcms = PC_MACHINE(obj); >> + int vmport = pcms->vmport; >> >> - return pcms->vmport; >> + visit_type_enum(v, &vmport, OnOffAuto_lookup, NULL, name, errp); > A visit_type_OnOffAuto() function is automatically generated by the QAPI > schema, so you don't need to deal with the low level visit_type_enum() > function. Ok. Will switch. >> } >> >> -static void pc_machine_set_vmport(Object *obj, bool value, Error **errp) >> +static void pc_machine_set_vmport(Object *obj, Visitor *v, void *opaque, >> + const char *name, Error **errp) >> { >> PCMachineState *pcms = PC_MACHINE(obj); >> + int vmport; >> >> - pcms->vmport = value; >> + visit_type_enum(v, &vmport, OnOffAuto_lookup, NULL, name, errp); >> + pcms->vmport = vmport; > 'vmport' may be undefined in case the visitor return an error, and in > this case you shouldn't change pcms->vmport. This won't be a problem if > you just call: > > visit_type_OnOffAuto(v, &pcms->vmport, name, errp); Will do. >> } >> >> static void pc_machine_initfn(Object *obj) >> @@ -1737,11 +1742,11 @@ static void pc_machine_initfn(Object *obj) >> pc_machine_get_max_ram_below_4g, >> pc_machine_set_max_ram_below_4g, >> NULL, NULL, NULL); >> - pcms->vmport = !xen_enabled(); >> - object_property_add_bool(obj, PC_MACHINE_VMPORT, >> - pc_machine_get_vmport, >> - pc_machine_set_vmport, >> - NULL); >> + pcms->vmport = ON_OFF_AUTO_AUTO; >> + object_property_add(obj, PC_MACHINE_VMPORT, "str", > I believe "OnOffAuto" is a valid type name, if it is defined in the QAPI > schema. I can only find: qapi-types.h:typedef enum OnOffAuto qapi-types.h:} OnOffAuto; Which I use to define pcms->vmport. The best I can translate this is that "str" is what you are looking to replace. So I plan no change here. -Don Slutz >> + pc_machine_get_vmport, >> + pc_machine_set_vmport, >> + NULL, NULL, NULL); >> } >> > [...] >