On 1/12/26 5:20 PM, Jan Beulich wrote:
On 24.12.2025 18:03, Oleksii Kurochko wrote:As the tasklet subsystem is now initialized, it is necessary to implement sync_local_execstate(), since it is invoked when something calls tasklet_softirq_action(), which is registered in tasklet_subsys_init(). After introducing sync_local_execstate(), the following linker issue occurs: riscv64-linux-gnu-ld: prelink.o: in function `bitmap_and': /build/xen/./include/xen/bitmap.h:147: undefined reference to `sync_vcpu_execstate' riscv64-linux-gnu-ld: ./.xen-syms.0: hidden symbol `sync_vcpu_execstate' isn't defined riscv64-linux-gnu-ld: final link failed: bad valueHow that when ...--- a/xen/arch/riscv/stubs.c +++ b/xen/arch/riscv/stubs.c @@ -91,16 +91,6 @@ void continue_running(struct vcpu *same) BUG_ON("unimplemented"); }-void sync_local_execstate(void)-{ - BUG_ON("unimplemented"); -} - -void sync_vcpu_execstate(struct vcpu *v) -{ - BUG_ON("unimplemented"); -}... there was a (stub) implementation? (The code changes look okay, it's just that I can't make sense of that part of the description.)
I haven’t investigated this further. I wanted to look into it now, but I can’t reproduce the issue anymore. I reverted|sync_vcpu_execstate()| to a stub and no longer see the problem. I will move the introduction of|sync_vcpu_execstate()|. It doesn’t seem to be really needed at the moment, but since it is already introduced and there are no specific comments against it, I think it can be added as a separate patch in this series. Thanks. ~ Olesii
