[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 1/5] xen/riscv: add stub for share_xen_page_with_guest()
On Thu, 2024-10-17 at 16:51 +0200, Jan Beulich wrote: > On 16.10.2024 11:15, Oleksii Kurochko wrote: > > To avoid the following linkage fail the stub for > > share_xen_page_with_guest() > > is introduced: > > What do you intend to express with "is introduced"? Is there a > problem now? > Would there be a problem with subsequent changes? I'm entirely fine > with > adding that stub, but the description should make clear why /when > exactly > it's needed. I mentioned that in the cover letter: ``` Also, after patch 3 ("xen/riscv: introduce setup_mm()") of this patch series, the linkage error mentioned in patch 1 ("xen/riscv: add stub for share_xen_page_with_guest()") began to occur, so patch 1 addresses this issue. ``` I thought it would be the better then just mention in the commit message that. Will it be fine to mention instead: ``` Introduction of setup memory management function will require share_xen_page_with_guest() defined, at least, as a stub otherwise the following linkage error will occur... ``` Perhaps it would be better just to merge these changes with patch 3 and add an explanation in patch 3 commit message. ~ Oleksii > > riscv64-linux-gnu-ld: prelink.o: in function `tasklet_kill': > > /build/xen/common/tasklet.c:176: undefined reference to > > `share_xen_page_with_guest' > > riscv64-linux-gnu-ld: ./.xen-syms.0: hidden symbol > > `share_xen_page_with_guest' isn't defined > > riscv64-linux-gnu-ld: final link failed: bad value > > > > $ find . -name \*.o | while read F; do nm $F | grep > > share_xen_page_with_guest && echo $F; done > > U share_xen_page_with_guest > > ./xen/common/built_in.o > > U share_xen_page_with_guest > > ./xen/common/trace.o > > U share_xen_page_with_guest > > ./xen/prelink.o > > > > Despite the linker fingering tasklet.c (very likely a toolchain > > bug), > > it's trace.o which has the undefined reference. > > > > Looking at trace.i, there is call of share_xen_page_with_guest() in > > share_xen_page_with_privileged_guests() from asm/mm.h. > > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> > > --- > > xen/arch/riscv/stubs.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c > > index 5951b0ce91..c9a590b225 100644 > > --- a/xen/arch/riscv/stubs.c > > +++ b/xen/arch/riscv/stubs.c > > @@ -2,7 +2,9 @@ > > #include <xen/cpumask.h> > > #include <xen/domain.h> > > #include <xen/irq.h> > > +#include <xen/mm.h> > > #include <xen/nodemask.h> > > +#include <xen/sched.h> > > #include <xen/sections.h> > > #include <xen/time.h> > > #include <public/domctl.h> > > @@ -409,3 +411,11 @@ unsigned long get_upper_mfn_bound(void) > > { > > BUG_ON("unimplemented"); > > } > > + > > +/* mm.c */ > > + > > +void share_xen_page_with_guest(struct page_info *page, struct > > domain *d, > > + enum XENSHARE_flags flags) > > +{ > > + BUG_ON("unimplemented"); > > +} >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |