diff mbox series

ppc440: Avoid reporting error when reading non-existent RAM slot

Message ID 20190109224919.2082F7456A2@zero.eik.bme.hu
State New
Headers show
Series ppc440: Avoid reporting error when reading non-existent RAM slot | expand

Commit Message

BALATON Zoltan Jan. 9, 2019, 10:37 p.m. UTC
When reading base register of RAM slot with no RAM we should not try
to calculate register value because that will result printing an error
due to invalid RAM size. Just return 0 without the error in this case.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
 hw/ppc/ppc440_uc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

David Gibson Jan. 11, 2019, 12:21 a.m. UTC | #1
On Wed, Jan 09, 2019 at 11:37:33PM +0100, BALATON Zoltan wrote:
> When reading base register of RAM slot with no RAM we should not try
> to calculate register value because that will result printing an error
> due to invalid RAM size. Just return 0 without the error in this case.
> 
> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>

Applied, thanks.

> ---
>  hw/ppc/ppc440_uc.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c
> index c489368905..9130eb314c 100644
> --- a/hw/ppc/ppc440_uc.c
> +++ b/hw/ppc/ppc440_uc.c
> @@ -613,8 +613,10 @@ static uint32_t dcr_read_sdram(void *opaque, int dcrn)
>      case SDRAM_R1BAS:
>      case SDRAM_R2BAS:
>      case SDRAM_R3BAS:
> -        ret = sdram_bcr(sdram->ram_bases[dcrn - SDRAM_R0BAS],
> -                        sdram->ram_sizes[dcrn - SDRAM_R0BAS]);
> +        if (sdram->ram_sizes[dcrn - SDRAM_R0BAS]) {
> +            ret = sdram_bcr(sdram->ram_bases[dcrn - SDRAM_R0BAS],
> +                            sdram->ram_sizes[dcrn - SDRAM_R0BAS]);
> +        }
>          break;
>      case SDRAM_CONF1HB:
>      case SDRAM_CONF1LL:
diff mbox series

Patch

diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c
index c489368905..9130eb314c 100644
--- a/hw/ppc/ppc440_uc.c
+++ b/hw/ppc/ppc440_uc.c
@@ -613,8 +613,10 @@  static uint32_t dcr_read_sdram(void *opaque, int dcrn)
     case SDRAM_R1BAS:
     case SDRAM_R2BAS:
     case SDRAM_R3BAS:
-        ret = sdram_bcr(sdram->ram_bases[dcrn - SDRAM_R0BAS],
-                        sdram->ram_sizes[dcrn - SDRAM_R0BAS]);
+        if (sdram->ram_sizes[dcrn - SDRAM_R0BAS]) {
+            ret = sdram_bcr(sdram->ram_bases[dcrn - SDRAM_R0BAS],
+                            sdram->ram_sizes[dcrn - SDRAM_R0BAS]);
+        }
         break;
     case SDRAM_CONF1HB:
     case SDRAM_CONF1LL: