Revert "hw/display/ramfb: initialize fw-config space with xres/ yres"

This reverts commit f79081b4b71b72640bedd40a7cd76f864c8287f1.

Patch has broken byteorder handling: RAMFBCfg fields are in bigendian
byteorder, the reset function doesn't care so native byteorder is used
instead.  Given this went unnoticed so far the feature is obviously
unused, so just revert the patch.

Cc: Hou Qiming <hqm03ster@gmail.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Message-id: 20200429115236.28709-2-kraxel@redhat.com
This commit is contained in:
Gerd Hoffmann 2020-04-29 13:52:31 +02:00
parent 63dc3465d6
commit 2fc979cb9d
5 changed files with 6 additions and 30 deletions
hw
include/hw/display
stubs

@ -3,7 +3,6 @@
#include "qemu/module.h"
#include "hw/loader.h"
#include "hw/qdev-properties.h"
#include "hw/isa/isa.h"
#include "hw/display/ramfb.h"
#include "ui/console.h"
@ -13,8 +12,6 @@ typedef struct RAMFBStandaloneState {
SysBusDevice parent_obj;
QemuConsole *con;
RAMFBState *state;
uint32_t xres;
uint32_t yres;
} RAMFBStandaloneState;
static void display_update_wrapper(void *dev)
@ -37,22 +34,15 @@ static void ramfb_realizefn(DeviceState *dev, Error **errp)
RAMFBStandaloneState *ramfb = RAMFB(dev);
ramfb->con = graphic_console_init(dev, 0, &wrapper_ops, dev);
ramfb->state = ramfb_setup(dev, errp);
ramfb->state = ramfb_setup(errp);
}
static Property ramfb_properties[] = {
DEFINE_PROP_UINT32("xres", RAMFBStandaloneState, xres, 0),
DEFINE_PROP_UINT32("yres", RAMFBStandaloneState, yres, 0),
DEFINE_PROP_END_OF_LIST(),
};
static void ramfb_class_initfn(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories);
dc->realize = ramfb_realizefn;
device_class_set_props(dc, ramfb_properties);
dc->desc = "ram framebuffer standalone device";
dc->user_creatable = true;
}

@ -13,7 +13,6 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/option.h"
#include "hw/loader.h"
#include "hw/display/ramfb.h"
#include "ui/console.h"
@ -31,7 +30,6 @@ struct QEMU_PACKED RAMFBCfg {
struct RAMFBState {
DisplaySurface *ds;
uint32_t width, height;
uint32_t starting_width, starting_height;
struct RAMFBCfg cfg;
bool locked;
};
@ -117,11 +115,9 @@ static void ramfb_reset(void *opaque)
RAMFBState *s = (RAMFBState *)opaque;
s->locked = false;
memset(&s->cfg, 0, sizeof(s->cfg));
s->cfg.width = s->starting_width;
s->cfg.height = s->starting_height;
}
RAMFBState *ramfb_setup(DeviceState* dev, Error **errp)
RAMFBState *ramfb_setup(Error **errp)
{
FWCfgState *fw_cfg = fw_cfg_find();
RAMFBState *s;
@ -133,16 +129,6 @@ RAMFBState *ramfb_setup(DeviceState* dev, Error **errp)
s = g_new0(RAMFBState, 1);
const char *s_fb_width = qemu_opt_get(dev->opts, "xres");
const char *s_fb_height = qemu_opt_get(dev->opts, "yres");
if (s_fb_width) {
s->cfg.width = atoi(s_fb_width);
s->starting_width = s->cfg.width;
}
if (s_fb_height) {
s->cfg.height = atoi(s_fb_height);
s->starting_height = s->cfg.height;
}
s->locked = false;
rom_add_vga("vgabios-ramfb.bin");

@ -353,7 +353,7 @@ static int vfio_display_dmabuf_init(VFIOPCIDevice *vdev, Error **errp)
&vfio_display_dmabuf_ops,
vdev);
if (vdev->enable_ramfb) {
vdev->dpy->ramfb = ramfb_setup(DEVICE(vdev), errp);
vdev->dpy->ramfb = ramfb_setup(errp);
}
vfio_display_edid_init(vdev);
return 0;
@ -479,7 +479,7 @@ static int vfio_display_region_init(VFIOPCIDevice *vdev, Error **errp)
&vfio_display_region_ops,
vdev);
if (vdev->enable_ramfb) {
vdev->dpy->ramfb = ramfb_setup(DEVICE(vdev), errp);
vdev->dpy->ramfb = ramfb_setup(errp);
}
return 0;
}

@ -4,7 +4,7 @@
/* ramfb.c */
typedef struct RAMFBState RAMFBState;
void ramfb_display_update(QemuConsole *con, RAMFBState *s);
RAMFBState *ramfb_setup(DeviceState *dev, Error **errp);
RAMFBState *ramfb_setup(Error **errp);
/* ramfb-standalone.c */
#define TYPE_RAMFB_DEVICE "ramfb"

@ -6,7 +6,7 @@ void ramfb_display_update(QemuConsole *con, RAMFBState *s)
{
}
RAMFBState *ramfb_setup(DeviceState* dev, Error **errp)
RAMFBState *ramfb_setup(Error **errp)
{
error_setg(errp, "ramfb support not available");
return NULL;