diff mbox

hw/arm/virt: fix pl031 addr typo

Message ID 1406648690-8880-1-git-send-email-drjones@redhat.com
State New
Headers show

Commit Message

Andrew Jones July 29, 2014, 3:44 p.m. UTC
pl031's base address should be 0x9001000, 0x90010000. While in there
also add some spacing and zeros to make it easier to read the map.

Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 hw/arm/virt.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Comments

Peter Maydell July 29, 2014, 3:51 p.m. UTC | #1
On 29 July 2014 16:44, Andrew Jones <drjones@redhat.com> wrote:
> pl031's base address should be 0x9001000, 0x90010000. While in there
> also add some spacing and zeros to make it easier to read the map.

Please don't do both in one patch, it's really hard to tell
what you actually changed.

thanks
-- PMM
Peter Maydell July 29, 2014, 3:58 p.m. UTC | #2
On 29 July 2014 16:44, Andrew Jones <drjones@redhat.com> wrote:
> pl031's base address should be 0x9001000, 0x90010000. While in there
> also add some spacing and zeros to make it easier to read the map.
>
> Signed-off-by: Andrew Jones <drjones@redhat.com>
> -    [VIRT_RTC] = { 0x90010000, 0x1000 },
> +    [VIRT_RTC] =        { 0x09001000, 0x00001000 },

...and assuming from the commit message that this is the
only actual change, the alignment to 64K is deliberate,
for the benefit of guests with 64K pages.

thanks
-- PMM
Andrew Jones July 29, 2014, 4:06 p.m. UTC | #3
On Tue, Jul 29, 2014 at 04:58:44PM +0100, Peter Maydell wrote:
> On 29 July 2014 16:44, Andrew Jones <drjones@redhat.com> wrote:
> > pl031's base address should be 0x9001000, 0x90010000. While in there
                                             ^ meant to type 'not' here,
but guess that was obvious
> > also add some spacing and zeros to make it easier to read the map.

I can send two separate patches for the fix and the formatting, but
you'd still have to check the formatting patch closely to make sure
nothing else changed...

> >
> > Signed-off-by: Andrew Jones <drjones@redhat.com>
> > -    [VIRT_RTC] = { 0x90010000, 0x1000 },
> > +    [VIRT_RTC] =        { 0x09001000, 0x00001000 },
> 
> ...and assuming from the commit message that this is the
> only actual change, the alignment to 64K is deliberate,
> for the benefit of guests with 64K pages.

0K, so it needs to be 0x09010000, which is still not what it is.
As it is right now it's sitting in RAM, when configuring a guest
to have greater than 1G.

drew

> 
> thanks
> -- PMM
>
Peter Maydell July 29, 2014, 4:11 p.m. UTC | #4
On 29 July 2014 17:06, Andrew Jones <drjones@redhat.com> wrote:
> On Tue, Jul 29, 2014 at 04:58:44PM +0100, Peter Maydell wrote:
>> On 29 July 2014 16:44, Andrew Jones <drjones@redhat.com> wrote:
>> > pl031's base address should be 0x9001000, 0x90010000. While in there
>                                              ^ meant to type 'not' here,
> but guess that was obvious
>> > also add some spacing and zeros to make it easier to read the map.
>
> I can send two separate patches for the fix and the formatting, but
> you'd still have to check the formatting patch closely to make sure
> nothing else changed...

Yes, or you could just not mess with the formatting at all.

>> > Signed-off-by: Andrew Jones <drjones@redhat.com>
>> > -    [VIRT_RTC] = { 0x90010000, 0x1000 },
>> > +    [VIRT_RTC] =        { 0x09001000, 0x00001000 },
>>
>> ...and assuming from the commit message that this is the
>> only actual change, the alignment to 64K is deliberate,
>> for the benefit of guests with 64K pages.
>
> 0K, so it needs to be 0x09010000, which is still not what it is.
> As it is right now it's sitting in RAM, when configuring a guest
> to have greater than 1G.

Ah, I see now. That is a bad bug and it's really
unfortunate that you've missed the boat for 2.1
by about 24 hours :-(

thanks
-- PMM
diff mbox

Patch

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 405c61d39c1e9..f817820972475 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -98,17 +98,17 @@  typedef struct VirtBoardInfo {
  */
 static const MemMapEntry a15memmap[] = {
     /* Space up to 0x8000000 is reserved for a boot ROM */
-    [VIRT_FLASH] = { 0, 0x8000000 },
-    [VIRT_CPUPERIPHS] = { 0x8000000, 0x20000 },
+    [VIRT_FLASH] =      {          0, 0x08000000 },
+    [VIRT_CPUPERIPHS] = { 0x08000000, 0x00020000 },
     /* GIC distributor and CPU interfaces sit inside the CPU peripheral space */
-    [VIRT_GIC_DIST] = { 0x8000000, 0x10000 },
-    [VIRT_GIC_CPU] = { 0x8010000, 0x10000 },
-    [VIRT_UART] = { 0x9000000, 0x1000 },
-    [VIRT_RTC] = { 0x90010000, 0x1000 },
-    [VIRT_MMIO] = { 0xa000000, 0x200 },
+    [VIRT_GIC_DIST] =   { 0x08000000, 0x00010000 },
+    [VIRT_GIC_CPU] =    { 0x08010000, 0x00010000 },
+    [VIRT_UART] =       { 0x09000000, 0x00001000 },
+    [VIRT_RTC] =        { 0x09001000, 0x00001000 },
+    [VIRT_MMIO] =       { 0x0a000000, 0x00000200 },
     /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of that size */
     /* 0x10000000 .. 0x40000000 reserved for PCI */
-    [VIRT_MEM] = { 0x40000000, 30ULL * 1024 * 1024 * 1024 },
+    [VIRT_MEM] =        { 0x40000000, 30ULL * 1024 * 1024 * 1024 },
 };
 
 static const int a15irqmap[] = {