Bug 435158 - PVFB fails because of missing xc_map_foreign_pages in libxenctrl.so compat library
PVFB fails because of missing xc_map_foreign_pages in libxenctrl.so compat l...
Product: Fedora
Classification: Fedora
Component: xenner (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Gerd Hoffmann
Fedora Extras Quality Assurance
Depends On:
Blocks: LibvirtXenner
  Show dependency treegraph
Reported: 2008-02-27 13:03 EST by Daniel Berrange
Modified: 2008-02-27 16:37 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-02-27 16:37:33 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Workaround for missing xc_map_foreign_pages (487 bytes, patch)
2008-02-27 16:28 EST, Daniel Berrange
no flags Details | Diff

  None (edit)
Description Daniel Berrange 2008-02-27 13:03:10 EST
Description of problem:
Configuring a Xenner guest with the PVFB activated, the qemu-dm process gets 1/2
way through the front/back device handshake and then aborts due to a missing
symbol. The log is

FB: Waiting for KBD backend creation
Doing backend watch on /local/domain/0/backend/vkbd/10272/0
FB: Waiting for FB backend creation
Doing backend watch on /local/domain/0/backend/vfb/10272/0
FB: Waiting for KBD frontend initialization
Doing frontend watch on /local/domain/10272/device/vkbd/0
FB: Carry on waiting
FB: Carry on waiting
FB: Carry on waiting
FB: Waiting for FB frontend initialization
Doing frontend watch on /local/domain/10272/device/vfb/0
Framebuffer depth 32 width 800 height 600 line 3200
/usr/lib64/xen/bin/qemu-dm: symbol lookup error: /usr/lib64/xen/bin/qemu-dm:
undefined symbol: xc_map_foreign_pages

NB, this was with 

export LD_LIBRARY_PATH=/usr/lib64/xenner 

To make it find Xenner's fake  libxenctrl.so

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
Actual results:

Expected results:

Additional info:
Comment 1 Daniel Berrange 2008-02-27 13:26:33 EST
This problem is caused by the new API in xen 3.2.0 - xenner's compat library
only implemnets the old API - should be easy enough to fixup

changeset:   15837:9071521d4864
user:        kfraser@localhost.localdomain
date:        Fri Sep 07 11:39:10 2007 +0100
files:       tools/ioemu/hw/cirrus_vga.c tools/ioemu/vl.c tools/libxc/xc_misc.c
tools/libxc/xenctrl.h tools/xenfb/xenfb.c
xc_map_foreign_pages(), a convenient alternative to xc_map_foreign_batch()

xc_map_foreign_batch() can succeed partially.  It is awkward to use
when you're only interested in complete success.  Provide new
xc_map_foreign_pages() convenience function for that kind of use.
Also convert two obvious calls to use it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>

Comment 2 Daniel Berrange 2008-02-27 16:28:17 EST
Created attachment 296126 [details]
Workaround for missing xc_map_foreign_pages

This patch is a quick, minimal hack to deal with xc_map_foreign_pages.

It does not provide the failure case guarentees that the real libxc version of
this symbol does, but it is good enough to make the PVFB work in the normal
Comment 3 Daniel Berrange 2008-02-27 16:37:33 EST
I have built this patch into xenner-0.25-4.fc9

Note You need to log in before you can comment on or make changes to this bug.