RE: [PATCH qemu v2] change the fdt_load_addr variable datatype to handle 64-bit DRAM address

2023-06-23 Thread Lakshmi Bai Raja Subramanian
Dear Daniel,

Thanks for your comments. Incorporated the same and updated the patch set as 
v3. 

https://lists.gnu.org/archive/html/qemu-riscv/2023-06/msg00570.html

Regards,
Lakshmi

-Original Message-
From: Daniel Henrique Barboza  
Sent: Friday, June 23, 2023 12:16 AM
To: Lakshmi Bai Raja Subramanian 
; qemu-ri...@nongnu.org; 
Alistair Francis 
Cc: qemu-devel@nongnu.org
Subject: Re: [PATCH qemu v2] change the fdt_load_addr variable datatype to 
handle 64-bit DRAM address

(CC-ing Alistair)

On 6/20/23 14:44, ~rlakshmibai wrote:
> From: Lakshmi Bai Raja Subramanian 
> 
> 
> fdt_load_addr is getting overflowed when there is no DRAM at lower 32 bit 
> address space.
> To support pure 64-bit DRAM address, fdt_load_addr variable's data 
> type is changed to uint64_t instead of uint32_t.

It's worth mentioning that fdt_load_addr receives the result of 
riscv_compute_fdt_addr(), which is an uint64_t.

> 
> Signed-off-by: Lakshmi Bai Raja Subramanian 
> 
> ---

Reviewed-by: Daniel Henrique Barboza 

>   hw/riscv/virt.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 
> 95708d890e..c348529ac0 100644
> --- a/hw/riscv/virt.c
> +++ b/hw/riscv/virt.c
> @@ -1244,7 +1244,7 @@ static void virt_machine_done(Notifier *notifier, void 
> *data)
>   target_ulong start_addr = memmap[VIRT_DRAM].base;
>   target_ulong firmware_end_addr, kernel_start_addr;
>   const char *firmware_name = riscv_default_firmware_name(>soc[0]);
> -uint32_t fdt_load_addr;
> +uint64_t fdt_load_addr;



>   uint64_t kernel_entry = 0;
>   BlockBackend *pflash_blk0;
>   


Re: [PATCH qemu v2] change the fdt_load_addr variable datatype to handle 64-bit DRAM address

2023-06-22 Thread Daniel Henrique Barboza

(CC-ing Alistair)

On 6/20/23 14:44, ~rlakshmibai wrote:

From: Lakshmi Bai Raja Subramanian 


fdt_load_addr is getting overflowed when there is no DRAM at lower 32 bit 
address space.
To support pure 64-bit DRAM address, fdt_load_addr variable's data type is 
changed to uint64_t
instead of uint32_t.


It's worth mentioning that fdt_load_addr receives the result of
riscv_compute_fdt_addr(), which is an uint64_t.



Signed-off-by: Lakshmi Bai Raja Subramanian 

---


Reviewed-by: Daniel Henrique Barboza 


  hw/riscv/virt.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index 95708d890e..c348529ac0 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -1244,7 +1244,7 @@ static void virt_machine_done(Notifier *notifier, void 
*data)
  target_ulong start_addr = memmap[VIRT_DRAM].base;
  target_ulong firmware_end_addr, kernel_start_addr;
  const char *firmware_name = riscv_default_firmware_name(>soc[0]);
-uint32_t fdt_load_addr;
+uint64_t fdt_load_addr;





  uint64_t kernel_entry = 0;
  BlockBackend *pflash_blk0;
  




[PATCH qemu v2] change the fdt_load_addr variable datatype to handle 64-bit DRAM address

2023-06-20 Thread ~rlakshmibai
From: Lakshmi Bai Raja Subramanian 


fdt_load_addr is getting overflowed when there is no DRAM at lower 32 bit 
address space.
To support pure 64-bit DRAM address, fdt_load_addr variable's data type is 
changed to uint64_t
instead of uint32_t.

Signed-off-by: Lakshmi Bai Raja Subramanian 

---
 hw/riscv/virt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index 95708d890e..c348529ac0 100644
--- a/hw/riscv/virt.c
+++ b/hw/riscv/virt.c
@@ -1244,7 +1244,7 @@ static void virt_machine_done(Notifier *notifier, void 
*data)
 target_ulong start_addr = memmap[VIRT_DRAM].base;
 target_ulong firmware_end_addr, kernel_start_addr;
 const char *firmware_name = riscv_default_firmware_name(>soc[0]);
-uint32_t fdt_load_addr;
+uint64_t fdt_load_addr;
 uint64_t kernel_entry = 0;
 BlockBackend *pflash_blk0;
 
-- 
2.38.5