diff mbox series

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

Message ID 20220202103023.788916-1-ysato@users.sourceforge.jp
State New
Headers show
Series [v2] hw/rx: rx-gdbsim DTB load address aligned of 16byte. | expand

Commit Message

Yoshinori Sato Feb. 2, 2022, 10:30 a.m. UTC
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(-)

Comments

Yoshinori Sato Feb. 3, 2022, 3:24 p.m. UTC | #1
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.
diff mbox series

Patch

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 */