diff mbox series

[RFC] linux-user: ensure nios2 processes queued work

Message ID 20240220170803.888143-1-alex.bennee@linaro.org
State Superseded
Headers show
Series [RFC] linux-user: ensure nios2 processes queued work | expand

Commit Message

Alex Bennée Feb. 20, 2024, 5:08 p.m. UTC
While async processes are rare for linux-user we do use them from time
to time. The most obvious one is tb_flush when we run out of
translation space. We will also need this when we move plugin
vcpu_init to an async task.

Fix nios2 to follow its older, wiser and more stable siblings.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 linux-user/nios2/cpu_loop.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Philippe Mathieu-Daudé Feb. 20, 2024, 6:54 p.m. UTC | #1
On 20/2/24 18:08, Alex Bennée wrote:
> While async processes are rare for linux-user we do use them from time
> to time. The most obvious one is tb_flush when we run out of
> translation space. We will also need this when we move plugin
> vcpu_init to an async task.
> 
> Fix nios2 to follow its older, wiser and more stable siblings.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   linux-user/nios2/cpu_loop.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c
> index da77ede76bd..7fe08c87501 100644
> --- a/linux-user/nios2/cpu_loop.c
> +++ b/linux-user/nios2/cpu_loop.c
> @@ -32,6 +32,7 @@ void cpu_loop(CPUNios2State *env)
>           cpu_exec_start(cs);
>           trapnr = cpu_exec(cs);
>           cpu_exec_end(cs);
> +        process_queued_cpu_work(cs);

We really should abstract that pattern for user emulation.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Richard Henderson Feb. 20, 2024, 7:08 p.m. UTC | #2
On 2/20/24 07:08, Alex Bennée wrote:
> While async processes are rare for linux-user we do use them from time
> to time. The most obvious one is tb_flush when we run out of
> translation space. We will also need this when we move plugin
> vcpu_init to an async task.
> 
> Fix nios2 to follow its older, wiser and more stable siblings.
> 
> Signed-off-by: Alex Bennée<alex.bennee@linaro.org>
> ---
>   linux-user/nios2/cpu_loop.c | 1 +
>   1 file changed, 1 insertion(+)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
diff mbox series

Patch

diff --git a/linux-user/nios2/cpu_loop.c b/linux-user/nios2/cpu_loop.c
index da77ede76bd..7fe08c87501 100644
--- a/linux-user/nios2/cpu_loop.c
+++ b/linux-user/nios2/cpu_loop.c
@@ -32,6 +32,7 @@  void cpu_loop(CPUNios2State *env)
         cpu_exec_start(cs);
         trapnr = cpu_exec(cs);
         cpu_exec_end(cs);
+        process_queued_cpu_work(cs);
 
         switch (trapnr) {
         case EXCP_INTERRUPT: