Message ID | 20230728082502.26439-2-jason.chien@sifive.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] hw/intc: Fix upper/lower mtime write calculation | expand |
Hi, The patch seems to be ignored. I am not sure who to ping. Could someone please review this patch? Thank you! patch link: https://lore.kernel.org/qemu-devel/20230728082502.26439-2-jason.chien@sifive.com/ Jason On Fri, Jul 28, 2023 at 4:25 PM Jason Chien <jason.chien@sifive.com> wrote: > The variables whose values are given by cpu_riscv_read_rtc() should be > named > "rtc". The variables whose value are given by cpu_riscv_read_rtc_raw() > should be named "rtc_r". > > Signed-off-by: Jason Chien <jason.chien@sifive.com> > --- > hw/intc/riscv_aclint.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/hw/intc/riscv_aclint.c b/hw/intc/riscv_aclint.c > index bf77e29a70..25cf7a5d9d 100644 > --- a/hw/intc/riscv_aclint.c > +++ b/hw/intc/riscv_aclint.c > @@ -64,13 +64,13 @@ static void > riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > uint64_t next; > uint64_t diff; > > - uint64_t rtc_r = cpu_riscv_read_rtc(mtimer); > + uint64_t rtc = cpu_riscv_read_rtc(mtimer); > > /* Compute the relative hartid w.r.t the socket */ > hartid = hartid - mtimer->hartid_base; > > mtimer->timecmp[hartid] = value; > - if (mtimer->timecmp[hartid] <= rtc_r) { > + if (mtimer->timecmp[hartid] <= rtc) { > /* > * If we're setting an MTIMECMP value in the "past", > * immediately raise the timer interrupt > @@ -81,7 +81,7 @@ static void > riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > > /* otherwise, set up the future timer interrupt */ > qemu_irq_lower(mtimer->timer_irqs[hartid]); > - diff = mtimer->timecmp[hartid] - rtc_r; > + diff = mtimer->timecmp[hartid] - rtc; > /* back to ns (note args switched in muldiv64) */ > uint64_t ns_diff = muldiv64(diff, NANOSECONDS_PER_SECOND, > timebase_freq); > > -- > 2.17.1 > >
On Fri, Jul 28, 2023 at 4:57 AM Jason Chien <jason.chien@sifive.com> wrote: > > The variables whose values are given by cpu_riscv_read_rtc() should be named > "rtc". The variables whose value are given by cpu_riscv_read_rtc_raw() > should be named "rtc_r". > > Signed-off-by: Jason Chien <jason.chien@sifive.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > hw/intc/riscv_aclint.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/hw/intc/riscv_aclint.c b/hw/intc/riscv_aclint.c > index bf77e29a70..25cf7a5d9d 100644 > --- a/hw/intc/riscv_aclint.c > +++ b/hw/intc/riscv_aclint.c > @@ -64,13 +64,13 @@ static void riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > uint64_t next; > uint64_t diff; > > - uint64_t rtc_r = cpu_riscv_read_rtc(mtimer); > + uint64_t rtc = cpu_riscv_read_rtc(mtimer); > > /* Compute the relative hartid w.r.t the socket */ > hartid = hartid - mtimer->hartid_base; > > mtimer->timecmp[hartid] = value; > - if (mtimer->timecmp[hartid] <= rtc_r) { > + if (mtimer->timecmp[hartid] <= rtc) { > /* > * If we're setting an MTIMECMP value in the "past", > * immediately raise the timer interrupt > @@ -81,7 +81,7 @@ static void riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > > /* otherwise, set up the future timer interrupt */ > qemu_irq_lower(mtimer->timer_irqs[hartid]); > - diff = mtimer->timecmp[hartid] - rtc_r; > + diff = mtimer->timecmp[hartid] - rtc; > /* back to ns (note args switched in muldiv64) */ > uint64_t ns_diff = muldiv64(diff, NANOSECONDS_PER_SECOND, timebase_freq); > > -- > 2.17.1 > >
Ping. On Fri, Aug 11, 2023 at 2:25 AM Alistair Francis <alistair23@gmail.com> wrote: > On Fri, Jul 28, 2023 at 4:57 AM Jason Chien <jason.chien@sifive.com> > wrote: > > > > The variables whose values are given by cpu_riscv_read_rtc() should be > named > > "rtc". The variables whose value are given by cpu_riscv_read_rtc_raw() > > should be named "rtc_r". > > > > Signed-off-by: Jason Chien <jason.chien@sifive.com> > > Reviewed-by: Alistair Francis <alistair.francis@wdc.com> > > Alistair > > > --- > > hw/intc/riscv_aclint.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/hw/intc/riscv_aclint.c b/hw/intc/riscv_aclint.c > > index bf77e29a70..25cf7a5d9d 100644 > > --- a/hw/intc/riscv_aclint.c > > +++ b/hw/intc/riscv_aclint.c > > @@ -64,13 +64,13 @@ static void > riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > > uint64_t next; > > uint64_t diff; > > > > - uint64_t rtc_r = cpu_riscv_read_rtc(mtimer); > > + uint64_t rtc = cpu_riscv_read_rtc(mtimer); > > > > /* Compute the relative hartid w.r.t the socket */ > > hartid = hartid - mtimer->hartid_base; > > > > mtimer->timecmp[hartid] = value; > > - if (mtimer->timecmp[hartid] <= rtc_r) { > > + if (mtimer->timecmp[hartid] <= rtc) { > > /* > > * If we're setting an MTIMECMP value in the "past", > > * immediately raise the timer interrupt > > @@ -81,7 +81,7 @@ static void > riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > > > > /* otherwise, set up the future timer interrupt */ > > qemu_irq_lower(mtimer->timer_irqs[hartid]); > > - diff = mtimer->timecmp[hartid] - rtc_r; > > + diff = mtimer->timecmp[hartid] - rtc; > > /* back to ns (note args switched in muldiv64) */ > > uint64_t ns_diff = muldiv64(diff, NANOSECONDS_PER_SECOND, > timebase_freq); > > > > -- > > 2.17.1 > > > > >
On Mon, Aug 21, 2023 at 12:15 PM Jason Chien <jason.chien@sifive.com> wrote: > > Ping. This has been applied to the RISC-V tree. It will go in after the QEMU release freeze is over (probably a week or two). Alistair > > On Fri, Aug 11, 2023 at 2:25 AM Alistair Francis <alistair23@gmail.com> wrote: >> >> On Fri, Jul 28, 2023 at 4:57 AM Jason Chien <jason.chien@sifive.com> wrote: >> > >> > The variables whose values are given by cpu_riscv_read_rtc() should be named >> > "rtc". The variables whose value are given by cpu_riscv_read_rtc_raw() >> > should be named "rtc_r". >> > >> > Signed-off-by: Jason Chien <jason.chien@sifive.com> >> >> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> >> >> Alistair >> >> > --- >> > hw/intc/riscv_aclint.c | 6 +++--- >> > 1 file changed, 3 insertions(+), 3 deletions(-) >> > >> > diff --git a/hw/intc/riscv_aclint.c b/hw/intc/riscv_aclint.c >> > index bf77e29a70..25cf7a5d9d 100644 >> > --- a/hw/intc/riscv_aclint.c >> > +++ b/hw/intc/riscv_aclint.c >> > @@ -64,13 +64,13 @@ static void riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, >> > uint64_t next; >> > uint64_t diff; >> > >> > - uint64_t rtc_r = cpu_riscv_read_rtc(mtimer); >> > + uint64_t rtc = cpu_riscv_read_rtc(mtimer); >> > >> > /* Compute the relative hartid w.r.t the socket */ >> > hartid = hartid - mtimer->hartid_base; >> > >> > mtimer->timecmp[hartid] = value; >> > - if (mtimer->timecmp[hartid] <= rtc_r) { >> > + if (mtimer->timecmp[hartid] <= rtc) { >> > /* >> > * If we're setting an MTIMECMP value in the "past", >> > * immediately raise the timer interrupt >> > @@ -81,7 +81,7 @@ static void riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, >> > >> > /* otherwise, set up the future timer interrupt */ >> > qemu_irq_lower(mtimer->timer_irqs[hartid]); >> > - diff = mtimer->timecmp[hartid] - rtc_r; >> > + diff = mtimer->timecmp[hartid] - rtc; >> > /* back to ns (note args switched in muldiv64) */ >> > uint64_t ns_diff = muldiv64(diff, NANOSECONDS_PER_SECOND, timebase_freq); >> > >> > -- >> > 2.17.1 >> > >> >
Thanks for the update. On Tue, Aug 22, 2023 at 1:53 AM Alistair Francis <alistair23@gmail.com> wrote: > On Mon, Aug 21, 2023 at 12:15 PM Jason Chien <jason.chien@sifive.com> > wrote: > > > > Ping. > > This has been applied to the RISC-V tree. It will go in after the QEMU > release freeze is over (probably a week or two). > > Alistair > > > > > On Fri, Aug 11, 2023 at 2:25 AM Alistair Francis <alistair23@gmail.com> > wrote: > >> > >> On Fri, Jul 28, 2023 at 4:57 AM Jason Chien <jason.chien@sifive.com> > wrote: > >> > > >> > The variables whose values are given by cpu_riscv_read_rtc() should > be named > >> > "rtc". The variables whose value are given by cpu_riscv_read_rtc_raw() > >> > should be named "rtc_r". > >> > > >> > Signed-off-by: Jason Chien <jason.chien@sifive.com> > >> > >> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> > >> > >> Alistair > >> > >> > --- > >> > hw/intc/riscv_aclint.c | 6 +++--- > >> > 1 file changed, 3 insertions(+), 3 deletions(-) > >> > > >> > diff --git a/hw/intc/riscv_aclint.c b/hw/intc/riscv_aclint.c > >> > index bf77e29a70..25cf7a5d9d 100644 > >> > --- a/hw/intc/riscv_aclint.c > >> > +++ b/hw/intc/riscv_aclint.c > >> > @@ -64,13 +64,13 @@ static void > riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > >> > uint64_t next; > >> > uint64_t diff; > >> > > >> > - uint64_t rtc_r = cpu_riscv_read_rtc(mtimer); > >> > + uint64_t rtc = cpu_riscv_read_rtc(mtimer); > >> > > >> > /* Compute the relative hartid w.r.t the socket */ > >> > hartid = hartid - mtimer->hartid_base; > >> > > >> > mtimer->timecmp[hartid] = value; > >> > - if (mtimer->timecmp[hartid] <= rtc_r) { > >> > + if (mtimer->timecmp[hartid] <= rtc) { > >> > /* > >> > * If we're setting an MTIMECMP value in the "past", > >> > * immediately raise the timer interrupt > >> > @@ -81,7 +81,7 @@ static void > riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, > >> > > >> > /* otherwise, set up the future timer interrupt */ > >> > qemu_irq_lower(mtimer->timer_irqs[hartid]); > >> > - diff = mtimer->timecmp[hartid] - rtc_r; > >> > + diff = mtimer->timecmp[hartid] - rtc; > >> > /* back to ns (note args switched in muldiv64) */ > >> > uint64_t ns_diff = muldiv64(diff, NANOSECONDS_PER_SECOND, > timebase_freq); > >> > > >> > -- > >> > 2.17.1 > >> > > >> > >
diff --git a/hw/intc/riscv_aclint.c b/hw/intc/riscv_aclint.c index bf77e29a70..25cf7a5d9d 100644 --- a/hw/intc/riscv_aclint.c +++ b/hw/intc/riscv_aclint.c @@ -64,13 +64,13 @@ static void riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, uint64_t next; uint64_t diff; - uint64_t rtc_r = cpu_riscv_read_rtc(mtimer); + uint64_t rtc = cpu_riscv_read_rtc(mtimer); /* Compute the relative hartid w.r.t the socket */ hartid = hartid - mtimer->hartid_base; mtimer->timecmp[hartid] = value; - if (mtimer->timecmp[hartid] <= rtc_r) { + if (mtimer->timecmp[hartid] <= rtc) { /* * If we're setting an MTIMECMP value in the "past", * immediately raise the timer interrupt @@ -81,7 +81,7 @@ static void riscv_aclint_mtimer_write_timecmp(RISCVAclintMTimerState *mtimer, /* otherwise, set up the future timer interrupt */ qemu_irq_lower(mtimer->timer_irqs[hartid]); - diff = mtimer->timecmp[hartid] - rtc_r; + diff = mtimer->timecmp[hartid] - rtc; /* back to ns (note args switched in muldiv64) */ uint64_t ns_diff = muldiv64(diff, NANOSECONDS_PER_SECOND, timebase_freq);
The variables whose values are given by cpu_riscv_read_rtc() should be named "rtc". The variables whose value are given by cpu_riscv_read_rtc_raw() should be named "rtc_r". Signed-off-by: Jason Chien <jason.chien@sifive.com> --- hw/intc/riscv_aclint.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)