mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
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:
parent
63dc3465d6
commit
2fc979cb9d
5 changed files with 6 additions and 30 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue