Patchwork [v9,0/3] PC system flash support

login
register
mail settings
Submitter Jordan Justen
Date Dec. 15, 2011, 9:02 p.m.
Message ID <CAFe8ug8LJFyYzYMhTk5T+3=EOdeD5eFH7JF-nrcPF795iz_12g@mail.gmail.com>
Download mbox | patch
Permalink /patch/131734/
State New
Headers show

Comments

Jordan Justen - Dec. 15, 2011, 9:02 p.m.
I verified that 'info mtree' and 'info qdev' are equivalent for pc-1.0
when using master and with my patches.

However, I did discover that v1.0 seems to differ from master for this
same test.

I've attached the logs.

   00000000fee00000-00000000feefffff (prio 0): apic
   4000000000000000-7fffffffffffffff (prio 0): alias pci-hole64 @pci
4000000000000000-7fffffffffffffff
 pc.ram
@@ -56,6 +58,7 @@
   00000000000003f8-00000000000003ff (prio 0): serial
   00000000000004d0-00000000000004d0 (prio 0): elcr
   00000000000004d1-00000000000004d1 (prio 0): elcr
+  0000000000000510-0000000000000511 (prio 0): fwcfg
   0000000000000cf8-0000000000000cfb (prio 0): pci-conf-idx
   0000000000000cfc-0000000000000cff (prio 0): pci-conf-data
   0000000000005658-0000000000005658 (prio 0): vmport
@@ -126,7 +129,7 @@
             dev-prop: opt_io_size = 0
             dev-prop: bootindex = -1
             dev-prop: discard_granularity = 0
-            dev-prop: ver = "1.0"
+            dev-prop: ver = "1.0.50"
             dev-prop: serial = "QM00003"
             bus-prop: unit = 0
         bus: ide.0
@@ -218,7 +221,7 @@
     dev-prop: data_iobase = 0x511
     irq 0
     mmio ffffffffffffffff/0000000000000002
-    mmio ffffffffffffffff/0000000000000002
+    mmio ffffffffffffffff/0000000000000001
   dev: apic, id ""
     dev-prop: id = 0
     irq 0

Thanks,

-Jordan

On Thu, Dec 15, 2011 at 12:51, Jordan Justen <jordan.l.justen@intel.com> wrote:
> Enable flash emulation in a PC system using pflash_cfi01.
>
> v9:
> * Add pc-1.1
> * pc-1.0 uses previous rom firmware init code path
>
> v8:
> * Cleanup two chunks of debug code (printf messages)
> * Fix comment in pc.h (pcflash.c => pc_sysfw.c)
>
> v7:
> * Do not add system firmware to qemu roms
> * If kvm is enabled, copy pflash drive contents into a
>  read-only ram region, since kvm cannot currently execute
>  code from a pflash device.
> * Rename pcflash.c to pc_sysfw.c
>
> v6:
> * Rebase for memory API
> * pflash_cfi01: Set error in status register when a write to
>  erase is attempted in read-only mode.
> * Add system firmware to qemu roms
>
> v5:
> * Enable pflash read-only mode
> * Enable -drive with if=pflash to define system firmware image
>
> v4:
> * Rebase
>
> v3:
> * Fix code style issues
> * Add additional comments
>
> v2:
> * Convert debug printf to DPRINTF
>
> Jordan Justen (3):
>  pc: Add pc-1.1 machine type
>  pflash: Support read-only mode
>  pc: Support system flash memory with pflash
>
>  Makefile.target                    |    1 +
>  blockdev.c                         |    3 +-
>  default-configs/i386-softmmu.mak   |    1 +
>  default-configs/x86_64-softmmu.mak |    1 +
>  hw/boards.h                        |    1 +
>  hw/pc.c                            |   58 +-------
>  hw/pc.h                            |    7 +-
>  hw/pc_piix.c                       |   40 +++++-
>  hw/pc_sysfw.c                      |  255 ++++++++++++++++++++++++++++++++++++
>  hw/pflash_cfi01.c                  |   44 ++++--
>  hw/pflash_cfi02.c                  |   83 +++++++------
>  vl.c                               |    2 +-
>  12 files changed, 382 insertions(+), 114 deletions(-)
>  create mode 100644 hw/pc_sysfw.c
>
>
Avi Kivity - Dec. 18, 2011, 10:04 a.m.
On 12/15/2011 11:02 PM, Jordan Justen wrote:
> I verified that 'info mtree' and 'info qdev' are equivalent for pc-1.0
> when using master and with my patches.
>
> However, I did discover that v1.0 seems to differ from master for this
> same test.
>

That's are fine; pre-memory-API devices don't show up in info mtree.

> @@ -218,7 +221,7 @@
>      dev-prop: data_iobase = 0x511
>      irq 0
>      mmio ffffffffffffffff/0000000000000002
> -    mmio ffffffffffffffff/0000000000000002
> +    mmio ffffffffffffffff/0000000000000001
>

This one isn't nice.  Doesn't affect pc though.
Jordan Justen - Dec. 19, 2011, 6:27 p.m.
On Sun, Dec 18, 2011 at 02:04, Avi Kivity <avi@redhat.com> wrote:
> On 12/15/2011 11:02 PM, Jordan Justen wrote:
>> I verified that 'info mtree' and 'info qdev' are equivalent for pc-1.0
>> when using master and with my patches.
>>
>> However, I did discover that v1.0 seems to differ from master for this
>> same test.
>>
>
> That's are fine; pre-memory-API devices don't show up in info mtree.
>
>> @@ -218,7 +221,7 @@
>>      dev-prop: data_iobase = 0x511
>>      irq 0
>>      mmio ffffffffffffffff/0000000000000002
>> -    mmio ffffffffffffffff/0000000000000002
>> +    mmio ffffffffffffffff/0000000000000001
>>
>
> This one isn't nice.  Doesn't affect pc though.

Thanks Avi.  Does this patch series now address your concerns about
qtree/mtree and pc-1.0 with regards to the x86 flash feature?

-Jordan
Avi Kivity - Dec. 20, 2011, 10:53 a.m.
On 12/19/2011 08:27 PM, Jordan Justen wrote:
> On Sun, Dec 18, 2011 at 02:04, Avi Kivity <avi@redhat.com> wrote:
> > On 12/15/2011 11:02 PM, Jordan Justen wrote:
> >> I verified that 'info mtree' and 'info qdev' are equivalent for pc-1.0
> >> when using master and with my patches.
> >>
> >> However, I did discover that v1.0 seems to differ from master for this
> >> same test.
> >>
> >
> > That's are fine; pre-memory-API devices don't show up in info mtree.
> >
> >> @@ -218,7 +221,7 @@
> >>      dev-prop: data_iobase = 0x511
> >>      irq 0
> >>      mmio ffffffffffffffff/0000000000000002
> >> -    mmio ffffffffffffffff/0000000000000002
> >> +    mmio ffffffffffffffff/0000000000000001
> >>
> >
> > This one isn't nice.  Doesn't affect pc though.
>
> Thanks Avi.  Does this patch series now address your concerns about
> qtree/mtree and pc-1.0 with regards to the x86 flash feature?
>

It's hard to review, since you move a large function and edit it in the
same patch.  Usually we separate this into two patches so the changes
are visible.

The test however indicates that it's probably fine.

Patch

--- v1.0-pc.log	2011-12-15 12:14:53.000000000 -0800
+++ master-pc-1.0.log	2011-12-15 12:25:04.000000000 -0800
@@ -1,4 +1,4 @@ 
-QEMU 1.0 monitor - type 'help' for more information
+QEMU 1.0.50 monitor - type 'help' for more information
 (qemu) info mtree
 memory
 0000000000000000-7ffffffffffffffe (prio 0): system
@@ -18,6 +18,8 @@ 
   00000000000ec000-00000000000effff (prio 1): alias pam-ram @pc.ram
00000000000ec000-00000000000effff
   00000000000f0000-00000000000fffff (prio 1): alias pam-rom @pc.ram
00000000000f0000-00000000000fffff
   0000000008000000-00000000ffffffff (prio 0): alias pci-hole @pci
0000000008000000-00000000ffffffff
+  00000000fec00000-00000000fec00fff (prio 0): ioapic
+  00000000fed00000-00000000fed003ff (prio 0): hpet