[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv3 1/2] sun4m: Add Sun CG3 framebuffer and corres
From: |
Leandro Dorileo |
Subject: |
Re: [Qemu-devel] [PATCHv3 1/2] sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM |
Date: |
Thu, 20 Feb 2014 12:23:48 +0000 |
User-agent: |
Mutt/1.5.22 (2013-10-16) |
On Wed, Feb 19, 2014 at 09:39:09PM +0000, Mark Cave-Ayland wrote:
> 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.
Yes, I just saw his comment in the patch 02...
>
> >
> >>+ 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?
>
Ok, when we move this code to an instance init op we handle it a bit better.
>
> ATB,
>
> Mark.
--
Leandro Dorileo