[RFC/PATCH 3/3] ARM: Replace calls to __aeabi_{u}idiv with udiv/sdiv instructions

Stephen Boyd
2015-11-23T21:16:53Z

On 11/23, M?ns Rullg?rd wrote:
> Stephen Boyd <sboyd@codeaurora.org> writes:
>
> > On 11/21, M?ns Rullg?rd wrote:
> >>
> >> These functions are rather similar. Perhaps they could be combined
> >> somehow.
> >>
> >
> > Yes. I have this patch on top, just haven't folded it in because
> > it doesn't reduce the lines of code.
>
> I don't see any reason to split it anyhow. The end result isn't any
> harder to understand than the intermediate.

Yep.

>
> > ----8<----
> > From: Stephen Boyd <sboyd@codeaurora.org>
> > Subject: [PATCH] consolidate with module code
> >
> > Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> > ---
> > arch/arm/include/asm/setup.h | 3 +++
> > arch/arm/kernel/module.c | 16 +++++--------
> > arch/arm/kernel/setup.c | 54 +++++++++++++++++++++++++++-----------------
> > 3 files changed, 42 insertions(+), 31 deletions(-)
> >
> > diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h
> > index e0adb9f1bf94..3f251cdb94ef 100644
> > --- a/arch/arm/include/asm/setup.h
> > +++ b/arch/arm/include/asm/setup.h
> > @@ -25,4 +25,7 @@ extern int arm_add_memory(u64 start, u64 size);
> > extern void early_print(const char *str, ...);
> > extern void dump_machine_table(void);
> >
> > +extern void patch_uidiv(void *addr, size_t size);
> > +extern void patch_idiv(void *addr, size_t size);
>
> Why not call things sdiv and udiv like the actual instructions?
>

Sure. I'll fold this into v2.

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project