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

This reverts commit f79081b4b7.

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

View File

@ -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;
}

View File

@ -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");

View File

@ -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;
}

View File

@ -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"

View File

@ -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;