Commit 2fc979cb authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

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



This reverts commit f79081b4.

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: default avatarGerd Hoffmann <kraxel@redhat.com>
Acked-by: default avatarLaszlo Ersek <lersek@redhat.com>
Message-id: 20200429115236.28709-2-kraxel@redhat.com
parent 63dc3465
Loading
Loading
Loading
Loading
+1 −11
Original line number Diff line number Diff line
@@ -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;
}
+1 −15
Original line number Diff line number Diff line
@@ -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");
+2 −2
Original line number Diff line number Diff line
@@ -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;
}
+1 −1
Original line number Diff line number Diff line
@@ -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"
+1 −1
Original line number Diff line number Diff line
@@ -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;