File 20593-keymap.patch of Package xen

# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1260258594 0
# Node ID ab0d71f7f596048194c4389bd4fc8a25221ac380
# Parent  cf4f3e2f425c86d54f4e8cebe1e193ca7839dbd9
xend: Add keymap to vfb config for existing hvm guests

I submitted a patch a while back to add keymap to vfb config for hvm
guests.  This patch works fine for new config (xm create|new) but not
existing, managed guests.  To cover the latter case I've introduced a
validator method in XendConfig.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>

Index: xen-3.3.1-testing/tools/python/xen/xend/XendConfig.py
===================================================================
--- xen-3.3.1-testing.orig/tools/python/xen/xend/XendConfig.py
+++ xen-3.3.1-testing/tools/python/xen/xend/XendConfig.py
@@ -465,6 +465,14 @@ class XendConfig(dict):
                self['platform'].get('enable_audio'):
                 self['platform']['soundhw'] = 'sb16'
 
+    def _vfb_sanity_check(self):
+        if 'keymap' in self['platform']:
+            for con in self['console_refs']:
+                if self['devices'][con][0] == 'vfb':
+                    if 'keymap' not in self['devices'][con][1]:
+                        self['devices'][con][1]['keymap'] = \
+                            self['platform']['keymap']
+
     def validate(self):
         self._uuid_sanity_check()
         self._name_sanity_check()
@@ -472,6 +480,7 @@ class XendConfig(dict):
         self._actions_sanity_check()
         self._vcpus_sanity_check()
         self._platform_sanity_check()
+        self._vfb_sanity_check()
 
     def _dominfo_to_xapi(self, dominfo, update_mem = False):
         self['domid'] = dominfo['domid']
openSUSE Build Service is sponsored by