[PATCH v2] hw/rx: rx-gdbsim DTB load address aligned of 16byte.

Yoshinori Sato posted 1 patch 2 years, 3 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220202103023.788916-1-ysato@users.sourceforge.jp
There is a newer version of this series
hw/rx/rx-gdbsim.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] hw/rx: rx-gdbsim DTB load address aligned of 16byte.
Posted by Yoshinori Sato 2 years, 3 months ago
Linux kernel required alined address of DTB.
But missing align in dtb load function.
Fixed to load to the correct address.

v2 changes.
Use ROUND_DOWN macro.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/rx/rx-gdbsim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c
index 75d1fec6ca..2356af83a0 100644
--- a/hw/rx/rx-gdbsim.c
+++ b/hw/rx/rx-gdbsim.c
@@ -142,7 +142,7 @@ static void rx_gdbsim_init(MachineState *machine)
                 exit(1);
             }
             /* DTB is located at the end of SDRAM space. */
-            dtb_offset = machine->ram_size - dtb_size;
+            dtb_offset = ROUND_DOWN(machine->ram_size - dtb_size, 16 - 1);
             rom_add_blob_fixed("dtb", dtb, dtb_size,
                                SDRAM_BASE + dtb_offset);
             /* Set dtb address to R1 */
-- 
2.30.2


Re: [PATCH v2] hw/rx: rx-gdbsim DTB load address aligned of 16byte.
Posted by Philippe Mathieu-Daudé via 2 years, 3 months ago
On 2/2/22 11:30, Yoshinori Sato wrote:
> Linux kernel required alined address of DTB.
> But missing align in dtb load function.
> Fixed to load to the correct address.
> 
> v2 changes.
> Use ROUND_DOWN macro.
> 
> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>   hw/rx/rx-gdbsim.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c
> index 75d1fec6ca..2356af83a0 100644
> --- a/hw/rx/rx-gdbsim.c
> +++ b/hw/rx/rx-gdbsim.c
> @@ -142,7 +142,7 @@ static void rx_gdbsim_init(MachineState *machine)
>                   exit(1);
>               }
>               /* DTB is located at the end of SDRAM space. */
> -            dtb_offset = machine->ram_size - dtb_size;
> +            dtb_offset = ROUND_DOWN(machine->ram_size - dtb_size, 16 - 1);

Why did you add '-1'?

Re: [PATCH v2] hw/rx: rx-gdbsim DTB load address aligned of 16byte.
Posted by Yoshinori Sato 2 years, 2 months ago
On Wed, 02 Feb 2022 21:46:22 +0900,
Philippe Mathieu-Daudé via wrote:
> 
> On 2/2/22 11:30, Yoshinori Sato wrote:
> > Linux kernel required alined address of DTB.
> > But missing align in dtb load function.
> > Fixed to load to the correct address.
> > 
> > v2 changes.
> > Use ROUND_DOWN macro.
> > 
> > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> > ---
> >   hw/rx/rx-gdbsim.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c
> > index 75d1fec6ca..2356af83a0 100644
> > --- a/hw/rx/rx-gdbsim.c
> > +++ b/hw/rx/rx-gdbsim.c
> > @@ -142,7 +142,7 @@ static void rx_gdbsim_init(MachineState *machine)
> >                   exit(1);
> >               }
> >               /* DTB is located at the end of SDRAM space. */
> > -            dtb_offset = machine->ram_size - dtb_size;
> > +            dtb_offset = ROUND_DOWN(machine->ram_size - dtb_size, 16 - 1);
> 
> Why did you add '-1'?
> 

Oh. I misunderstood.
I'll sent v3.
Thanks.

-- 
Yosinori Sato