All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jones <ajones@ventanamicro.com>
To: Ben Dooks <ben.dooks@codethink.co.uk>
Cc: linux-riscv@lists.infradead.org,
	Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Subject: Re: [PATCH] RISC-V: Fixup clear_page export when using Zicboz
Date: Fri, 24 Feb 2023 16:19:45 +0100	[thread overview]
Message-ID: <20230224151945.od3ye74pk5ye3paz@orel> (raw)
In-Reply-To: <d9944799-7887-8c0b-ace1-7b340dacf9af@codethink.co.uk>

On Fri, Feb 24, 2023 at 02:42:11PM +0000, Ben Dooks wrote:
> On 24/02/2023 14:18, Andrew Jones wrote:
> > On Fri, Feb 24, 2023 at 01:58:44PM +0000, Ben Dooks wrote:
> > > When the clear_page() via Zicboz is enabled, the module build
> > > fails as clear_page() is not marked as a ksym entry. Fix this
> > > by changing the asm code to use <asm-generic/export.h> to add
> > > the correct export.
> > > 
> > > Also remove the weak clear_page() as there's nothing else in
> > > the build defining this symbol, so just make it the entry when
> > > the Zicboz is enabled.
> > > 
> > > Fixes modpost errors such as this:
> > > ERROR: modpost: "clear_page" [drivers/gpu/drm/ttm/ttm.ko] undefined!
> > > 
> > > Reported-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
> > > Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> > > ---
> > >   arch/riscv/lib/clear_page.S | 6 ++++--
> > >   1 file changed, 4 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/arch/riscv/lib/clear_page.S b/arch/riscv/lib/clear_page.S
> > > index 7c7fa45b5ab5..4ed5fef52d80 100644
> > > --- a/arch/riscv/lib/clear_page.S
> > > +++ b/arch/riscv/lib/clear_page.S
> > > @@ -6,6 +6,7 @@
> > >   #include <linux/linkage.h>
> > >   #include <asm/asm.h>
> > >   #include <asm/alternative-macros.h>
> > > +#include <asm-generic/export.h>
> > >   #include <asm/hwcap.h>
> > >   #include <asm/insn-def.h>
> > >   #include <asm/page.h>
> > > @@ -17,7 +18,7 @@
> > >   /* void clear_page(void *page) */
> > >   ENTRY(__clear_page)
> > > -WEAK(clear_page)
> > > +SYM_FUNC_START(clear_page)
> > >   	li	a2, PAGE_SIZE
> > >   	/*
> > > @@ -70,4 +71,5 @@ WEAK(clear_page)
> > >   .Lno_zicboz:
> > >   	li	a1, 0
> > >   	tail	__memset
> > > -END(__clear_page)
> > > +SYM_FUNC_END(clear_page)
> > > +EXPORT_SYMBOL(clear_page)
> > > -- 
> > > 2.39.1
> > > 
> > 
> > Hi Ben,
> > 
> > This looks good to me. I agree that I shouldn't have made clear_page weak,
> > but not because there isn't currently anything else defining it, but
> > because it's not something a subsystem is likely to ever define. Exporting
> > for modules is also definitely needed.
> > 
> > Is there any reason I shouldn't just squash this into the patch which
> > introduces clear_page? That patch is still under review, and merging
> > it broken just to immediately fix it would break bisection for no reason.
> 
> Yeah, as long as you note fixes from myself an sudip, then go for it.

I'll mention it in the changelog, but there's not really a good way to
give credit for things like this. There's either nothing (except the
changelog) or a Co-developed-by tag. I don't think this warrants the
latter.

Of course, I'd be happy to pick up T-b's and/or R-b's from you and Sudip,
which would then be applied to the patch(es), if you submit them.

Thanks,
drew

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2023-02-24 15:20 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-21 19:09 [PATCH v5 0/8] RISC-V: Apply Zicboz to clear_page Andrew Jones
2023-02-21 19:09 ` Andrew Jones
2023-02-21 19:09 ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 1/8] RISC-V: alternatives: Support patching multiple insns in assembly Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 2/8] RISC-V: Factor out body of riscv_init_cbom_blocksize loop Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 3/8] dt-bindings: riscv: Document cboz-block-size Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 4/8] RISC-V: Add Zicboz detection and block size parsing Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 5/8] riscv: cpufeatures: Put the upper 16 bits of patch ID to work Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-22 17:27   ` Conor Dooley
2023-02-22 17:28     ` Conor Dooley
2023-02-22 17:27     ` Conor Dooley
2023-02-23 12:53     ` Andrew Jones
2023-02-23 12:53       ` Andrew Jones
2023-02-23 12:53       ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 6/8] RISC-V: Use Zicboz in clear_page when available Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-24 13:58   ` [PATCH] RISC-V: Fixup clear_page export when using Zicboz Ben Dooks
2023-02-24 14:18     ` Andrew Jones
2023-02-24 14:42       ` Ben Dooks
2023-02-24 15:19         ` Andrew Jones [this message]
2023-02-24 14:44     ` Sudip Mukherjee
2023-02-24 15:11       ` Andrew Jones
2023-02-24 14:00   ` [PATCH v5 6/8] RISC-V: Use Zicboz in clear_page when available Ben Dooks
2023-02-24 14:00     ` Ben Dooks
2023-02-24 14:00     ` Ben Dooks
2023-02-24 14:25     ` Andrew Jones
2023-02-24 14:25       ` Andrew Jones
2023-02-24 14:25       ` Andrew Jones
2023-02-24 14:36       ` Andrew Jones
2023-02-24 14:36         ` Andrew Jones
2023-02-24 14:36         ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 7/8] RISC-V: KVM: Provide UAPI for Zicboz block size Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09 ` [PATCH v5 8/8] RISC-V: KVM: Expose Zicboz to the guest Andrew Jones
2023-02-21 19:09   ` Andrew Jones
2023-02-21 19:09   ` Andrew Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230224151945.od3ye74pk5ye3paz@orel \
    --to=ajones@ventanamicro.com \
    --cc=ben.dooks@codethink.co.uk \
    --cc=linux-riscv@lists.infradead.org \
    --cc=sudip.mukherjee@codethink.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.