import goldfish_fb from android
HACK: goldfish_fb: remove FB_GET_FORMAT register
FB_GET_FORMAT and associated code poke at a bunch of display internals,
but are never referenced by the kernel. Revisit on top of the new qemu
display API if/when it's needed by the kernel.
HACK: goldfish_fb: disable UI rotation events
It's not clear how this worked or how to port it to the new display API,
so disable it for now
goldfish_fb: port to modern qemu apis
The device/object APIs and display APIs have been significantly
refactored. qemu also has a tracing API which can replace the debugging
printfs.
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Although the milkymist display device is indeed RGB565, it is
bigendian, so we can't actually borrow its drawfn helpers.
Implement our own instead.
After an FB_SET_BASE write, the guest is waiting for us to complete an
update cycle and notify it (via the FB_INT_BASE_UPDATE_DONE interrupt
status bit). Force the graphics backend to actually do a redraw
immediately; this avoids the guest timing out and producing periodic
"goldfish_fb_pan_display: timeout waiting for base update" warnings
on displays like VNC which make an effort to avoid redraw.
goldfish_fb: Don't use uninitialized ymin if screen is blank
Initialize ymin in the code path taken if the screen is blank,
to avoid use of an uninitialized variable.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
5 files changed