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
#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"
SysBusDevice parent_obj;
QemuConsole *con;
RAMFBState *state;
- uint32_t xres;
- uint32_t yres;
} RAMFBStandaloneState;
static void display_update_wrapper(void *dev)
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;
}
#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"
struct RAMFBState {
DisplaySurface *ds;
uint32_t width, height;
- uint32_t starting_width, starting_height;
struct RAMFBCfg cfg;
bool locked;
};
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;
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");
&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;
&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;
}
/* 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"
{
}
-RAMFBState *ramfb_setup(DeviceState* dev, Error **errp)
+RAMFBState *ramfb_setup(Error **errp)
{
error_setg(errp, "ramfb support not available");
return NULL;