|
From: | Mark Cave-Ayland |
Subject: | Re: [Qemu-devel] [PATCHv3 1/2] sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM |
Date: | Wed, 19 Feb 2014 21:39:09 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12 |
On 19/02/14 13:35, Leandro Dorileo wrote: Hi Leandro,
+static void cg3_realizefn(DeviceState *dev, Error **errp) +{ + SysBusDevice *sbd = SYS_BUS_DEVICE(dev); + CG3State *s = CG3(dev); + int ret; + char *fcode_filename; + + /* FCode ROM */ + memory_region_init_ram(&s->rom, NULL, "cg3.prom", FCODE_MAX_ROM_SIZE); + vmstate_register_ram_global(&s->rom); + memory_region_set_readonly(&s->rom, true); + sysbus_init_mmio(sbd,&s->rom); +I think this initialization code could be done in a SysBusDeviceClass init operation, don't you think?
I think it's possible since these MemoryRegions don't depend upon properties, but I leave that to Andres who seems reasonably happy with the patchset in its current form.
+ fcode_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, CG3_ROM_FILE); + if (fcode_filename) { + ret = load_image_targphys(fcode_filename, s->prom_addr, + FCODE_MAX_ROM_SIZE); + if (ret< 0 || ret> FCODE_MAX_ROM_SIZE) { + error_report("cg3: could not load prom '%s'", CG3_ROM_FILE);What happens if we fail to load the rom file? is the framebuffer supposed to work?
I guess the framebuffer would still "work" although nothing would be able to find its address because the node wouldn't exist in the device tree?
ATB, Mark.
[Prev in Thread] | Current Thread | [Next in Thread] |