Commit Graph

6 Commits

Author SHA1 Message Date
Bruce Ashfield 88dd324d41 qemu-native/powerpc: add qemu 0.12.4 powerpc support
In order to force 0.12.4 to allow a powerpc system boot, we need
a patch to qemu, and a new powerpc (not ppc) ROM.

This configuration supports non-graphical booting only, since the
ROM does not have support to pass a graphics device via the
device tree yet.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-07-15 11:19:01 +01:00
Kevin Tian 9207cd4015 qemu: fix VMware VGA depth calculation error
VMware SVGA presents to the guest with the depth of the host surface it renders
to, and rejects to work if the two sides are mismatched. One problem is that
current VMware VGA may calculate a wrong host depth, and then memcpy from virtual
framebuffer to host surface may trigger segmentation fault. For example, when
launching Qemu in a VNC connection, VMware SVGA thinks depth as '32', however the
actual depth of VNC is '16'. The fault also happens when the host depth is not
32 bit.

Qemu <4b5db3749c5fdba93e1ac0e8748c9a9a1064319f> tempts to fix a similar issue, by
changing from hard-coded 24bit depth to instead query the surface allocator
(e.g. sdl). However it doesn't really work, because the point where query
is invoked is earlier than the point where sdl is initialized. At query time,
qemu uses a default surface allocator which, again, provides another hard-coded
depth value - 32bit. So it happens to make VMware SVGA working on some hosts,
but still fails in others.

To solve this issue, this commit introduces a postcall interface to display
surface, which is walked after surface allocators are actually initialized.
At that point it's then safe to query host depth and present to the guest.

Signed-off-by Kevin Tian <kevin.tian@intel.com>
2010-06-29 12:34:38 +01:00
Richard Purdie 824895f14e qemu: Enable ppc system emulation and fix ppc build
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-06-24 08:19:58 +01:00
Jeff Dike 8ce85086f6 qemu: Work around the crash seen on Ubuntu.
Due to different stack contents in sdl_display_init on Ubuntu vs other distros,
an uninitialized structure is causing a crash.  Zeroing the structure makes the
behavior uniform across distros, avoiding the Ubuntu crash, but doesn't fix the
underlying bugs, notably:
the return value of SDL_GetWMInfo needs to be checked, as it's currently
failing silently
the underlying reason for the failure of SDL_GetWMInfo needs to be found -
there is a GetWMINfo method in the internal SDL structure which is NULL, and
the reason for this needs to be found.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-06-23 17:32:12 +01:00
Joshua Lock c87bf0cfc6 qemu: Fix linking of the native package on Fedora 13
Fedora 13 switched the default behaviour of the linker to no longer
indirectly link to required libraries (i.e. dependencies of a library
already linked to). Therefore we need to explicitly pass the depended on
libraries into the linker for building to work on Fedora 13.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-06-15 12:33:11 +01:00
Jeff Dike bf59d217a8 qemu: Update to 0.12.4
Renamed the recipe to 0.12.4.

Moved the patches directory to qemu-0.12.4 - when it was named
qemu-0.12, bitbake silently ignored the patches, and only failed when
it came time to apply them.

Added a FILESDIR to the git recipe and changed its PV to 0.12.4 so it
can use the same patches as the normal recipe for now.

Removed the series file - it wasn't needed.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
2010-06-07 16:10:19 +01:00