[libvirt] [PATCH v8 3/7] conf: Remove the implicit PS2 mouse for non-X86 platforms and add an implicit PS2 keyboard device for X86 platforms.

Ján Tomko jtomko at redhat.com
Mon Feb 17 09:17:01 UTC 2014


On 02/17/2014 10:04 AM, Li Zhang wrote:
> On 2014年02月17日 16:48, Ján Tomko wrote:
>> On 02/17/2014 08:33 AM, Li Zhang wrote:
>>> From: Li Zhang <zhlcindy at linux.vnet.ibm.com>
>>>
>>> PS2 device only works for X86 platform, other platforms may need
>>> USB mouse. Athough it doesn't influence the QEMU command line, but
>>> it's not right to add one PS2 mouse for non-X86 platform.
>>>
>>> What's more, PS2 keyboard can be supported for X86.
>>>
>>> So, this patch is to remove PS2 mouse for non-x86 platforms and also add
>>> an implicit PS2 keyboard device for X86.
>>>
>>> Signed-off-by: Li Zhang <zhlcindy at linux.vnet.ibm.com>
>>> ---
>>> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>>> index 3301398..10c753c 100644
>>> --- a/src/conf/domain_conf.c
>>> +++ b/src/conf/domain_conf.c
>>> @@ -12495,29 +12496,27 @@ virDomainDefParseXML(xmlDocPtr xml,
>>>       VIR_FREE(nodes);
>>>         /* If graphics are enabled, there's an implicit PS2 mouse */
>>> -    if (def->ngraphics > 0) {
>>> -        virDomainInputDefPtr input;
>>> +    if (def->ngraphics > 0 &&
>>> +        ARCH_IS_X86(def->os.arch)) {
>>> +        int input_bus = VIR_DOMAIN_INPUT_BUS_XEN;
>>>   -        if (VIR_ALLOC(input) < 0) {
>>> -            goto error;
>>> -        }
>>> -        if (STREQ(def->os.type, "hvm")) {
>>> -            input->type = VIR_DOMAIN_INPUT_TYPE_MOUSE;
>>> -            input->bus = VIR_DOMAIN_INPUT_BUS_PS2;
>>> -        } else {
>>> -            input->type = VIR_DOMAIN_INPUT_TYPE_MOUSE;
>>> -            input->bus = VIR_DOMAIN_INPUT_BUS_XEN;
>>> -        }
>>> +        if (STREQ(def->os.type, "hvm"))
>>> +            input_bus = VIR_DOMAIN_INPUT_BUS_PS2;
>>>   -        if (VIR_REALLOC_N(def->inputs, def->ninputs + 1) < 0) {
>>> -            virDomainInputDefFree(input);
>>> +        if (virDomainDefMaybeAddInput(def,
>>> +                                      VIR_DOMAIN_INPUT_TYPE_MOUSE,
>>> +                                      input_bus) < 0)
>>>               goto error;
>>> +
>>> +        /*Ignore keyboard for XEN, only add a PS2 keyboard device for hvm*/
>>> +        if (STREQ(def->os.type, "hvm")) {
>>> +            if (virDomainDefMaybeAddInput(def,
>>> +                                          VIR_DOMAIN_INPUT_TYPE_KBD,
>>> +                                          input_bus) < 0)
>>> +                goto error;
>>>           }
>> Adding the default keyboard should be in the patch that adds it to the parser
>> according to
>> https://www.redhat.com/archives/libvir-list/2014-February/msg00889.html
> 
> Do you mean merge this patch to the first patch?
> 

I mean merging the part dealing with keyboards with the first patch and only
touch the implicit mouse in this patch.

Jan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140217/0f12bf91/attachment-0001.sig>


More information about the libvir-list mailing list