mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 2fc979cb9d
			
		
	
	
		2fc979cb9d
		
	
	
	
	
		
			
			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
		
	
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "qemu/osdep.h"
 | |
| #include "qapi/error.h"
 | |
| #include "qemu/module.h"
 | |
| #include "hw/loader.h"
 | |
| #include "hw/qdev-properties.h"
 | |
| #include "hw/display/ramfb.h"
 | |
| #include "ui/console.h"
 | |
| 
 | |
| #define RAMFB(obj) OBJECT_CHECK(RAMFBStandaloneState, (obj), TYPE_RAMFB_DEVICE)
 | |
| 
 | |
| typedef struct RAMFBStandaloneState {
 | |
|     SysBusDevice parent_obj;
 | |
|     QemuConsole *con;
 | |
|     RAMFBState *state;
 | |
| } RAMFBStandaloneState;
 | |
| 
 | |
| static void display_update_wrapper(void *dev)
 | |
| {
 | |
|     RAMFBStandaloneState *ramfb = RAMFB(dev);
 | |
| 
 | |
|     if (0 /* native driver active */) {
 | |
|         /* non-standalone device would run native display update here */;
 | |
|     } else {
 | |
|         ramfb_display_update(ramfb->con, ramfb->state);
 | |
|     }
 | |
| }
 | |
| 
 | |
| static const GraphicHwOps wrapper_ops = {
 | |
|     .gfx_update = display_update_wrapper,
 | |
| };
 | |
| 
 | |
| 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(errp);
 | |
| }
 | |
| 
 | |
| 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;
 | |
|     dc->desc = "ram framebuffer standalone device";
 | |
|     dc->user_creatable = true;
 | |
| }
 | |
| 
 | |
| static const TypeInfo ramfb_info = {
 | |
|     .name          = TYPE_RAMFB_DEVICE,
 | |
|     .parent        = TYPE_SYS_BUS_DEVICE,
 | |
|     .instance_size = sizeof(RAMFBStandaloneState),
 | |
|     .class_init    = ramfb_class_initfn,
 | |
| };
 | |
| 
 | |
| static void ramfb_register_types(void)
 | |
| {
 | |
|     type_register_static(&ramfb_info);
 | |
| }
 | |
| 
 | |
| type_init(ramfb_register_types)
 |