I think I understand the situation, like when I called
pflash_cfi01_register, it verifies BlockDriverState is < 0.
Was my understanding correct?

If ie so. I think I need to change  drive_get(IF_PFLASH, 0, 0)  to
drive_get_next(IF_PFLASH) on second flash access by
keeping  drive_get(IF_PFLASH, 0, 0
on first flash, correct?

But I am wondering why it's still detecting 2 Flashes with 128MB when I
tested through u-boot.
Even I was written Linux and Ramdisk on to flashes again read back and able
to boot it, Fine.

Please find the attachment for u-boot log.

I haven't tested -pflash argument through ./qemu-system-arm
because it again asking about kernel argument, do I need to test this also?

Regards,
Jagan.

On Fri, Jul 20, 2012 at 6:58 AM, Peter Crosthwaite <
peter.crosthwa...@petalogix.com> wrote:

> On Thu, Jul 19, 2012 at 7:16 PM, jagan <402ja...@gmail.com> wrote:
> > Yes, I have used same  drive_get(IF_PFLASH, 0, 0) with two flashes.
> > As these flashes are two different banks with individual bases address, I
> > used the same.
> >
> > Was there any block allocation problem with this..will you please
> elaborate.
> > I couldn't understand about drive_get_next(),
>
> s/drive_get(IF_PFLASH, 0, 0) /drive_get_next(IF_PFLASH)/
>
> This will mean you have two -fplash arguments on qemu cmd line your two
> flashes.
>
> qemu-system-arm ... -pflash nor0.bin -pflash nor1.bin
>
> Currently you back (or attempt to back) both flashes to the same bdrv
> which means they share storage. The two flashes will corrupt each
> others data.
>
> Regards,
> Peter
>
>  I think function can be useful
> > single drive devices SD/MTD.
> >
> > Please suggest your comments.
> >
> > Regards,
> > Jagan.
> >
> > On Thu, Jul 19, 2012 at 5:27 AM, Peter Crosthwaite
> > <peter.crosthwa...@petalogix.com> wrote:
> >>
> >> On Thu, Jul 19, 2012 at 5:03 AM,  <402ja...@gmail.com> wrote:
> >> > From: Jagan <402ja...@gmail.com>
> >> >
> >> > This patch adds support for NOR1 flash (Bank #2) on
> >> > vexpress-a9 platform. It is 64MB CFI01 compliant flash.
> >> >
> >> > Tested on stable u-boot version through Linux.
> >> >
> >> > Signed-off-by: Jagan <402ja...@gmail.com>
> >> > ---
> >> >  hw/vexpress.c |   10 +++++++++-
> >> >  1 files changed, 9 insertions(+), 1 deletions(-)
> >> >
> >> > diff --git a/hw/vexpress.c b/hw/vexpress.c
> >> > index 2e889a8..b4262ed 100644
> >> > --- a/hw/vexpress.c
> >> > +++ b/hw/vexpress.c
> >> > @@ -422,7 +422,15 @@ static void vexpress_common_init(const
> VEDBoardInfo
> >> > *daughterboard,
> >> >      }
> >> >
> >> >      /* VE_NORFLASH0ALIAS: not modelled */
> >> > -    /* VE_NORFLASH1: not modelled */
> >> > +    /* VE_NORFLASH1: */
> >> > +    dinfo = drive_get(IF_PFLASH, 0, 0);
> >>
> >> Both flashes use drive_get(IF_PFLASH, 0, 0). Doesnt this means they
> >> are both going to back to the same file (one -pflash argument) and
> >> share storage? Should this use drive_get_next() and you specify two
> >> -pflash args, one for each device?
> >>
> >> Regards
> >> Peter
> >>
> >> > +    if (!pflash_cfi01_register(map[VE_NORFLASH1], NULL,
> >> > "vexpress.flash1",
> >> > +        VEXPRESS_FLASH_SIZE, dinfo ? dinfo->bdrv : NULL,
> >> > +        VEXPRESS_FLASH_SECT_SIZE,
> >> > +        VEXPRESS_FLASH_SIZE / VEXPRESS_FLASH_SECT_SIZE,
> >> > +        4, 0x0089, 0x0018, 0x0000, 0x1, 0)) {
> >> > +        fprintf(stderr, "qemu: Error registering flash1 memory.\n");
> >> > +    }
> >> >
> >> >      sram_size = 0x2000000;
> >> >      memory_region_init_ram(sram, "vexpress.sram", sram_size);
> >> > --
> >> > 1.7.0.4
> >> >
> >> >
> >
> >
>

Attachment: vexpress-a9_flash.log
Description: Binary data

Reply via email to