Skip to content

Commit

Permalink
Revert "hw/display/ramfb: initialize fw-config space with xres/ yres"
Browse files Browse the repository at this point in the history
This reverts commit f79081b.

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 <[email protected]>
Signed-off-by: Gerd Hoffmann <[email protected]>
Acked-by: Laszlo Ersek <[email protected]>
Message-id: [email protected]
  • Loading branch information
kraxel committed May 18, 2020
1 parent 63dc346 commit 2fc979c
Show file tree
Hide file tree
Showing 5 changed files with 6 additions and 30 deletions.
12 changes: 1 addition & 11 deletions hw/display/ramfb-standalone.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand All @@ -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)
Expand All @@ -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;
}
Expand Down
16 changes: 1 addition & 15 deletions hw/display/ramfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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;
};
Expand Down Expand Up @@ -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;
Expand All @@ -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");
Expand Down
4 changes: 2 additions & 2 deletions hw/vfio/display.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
}
Expand Down
2 changes: 1 addition & 1 deletion include/hw/display/ramfb.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion stubs/ramfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 2fc979c

Please sign in to comment.