|
From: | Paolo Bonzini |
Subject: | Re: [RFC PATCH] semihosting: suspend recieving CPU when blocked (HACK, WIP) |
Date: | Tue, 17 Dec 2019 14:48:44 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
On 17/12/19 14:42, Alex Bennée wrote: >> Why do you need to set exception_index to something other than -1 (using >> cpu_loop_exit_noexc for example)? > If there is no exception to process we won't exit the main loop which we > need to do if we want to wait until there is data to read. Okay. >> Using ->stop here is a bit weird, since ->stop is usually related to >> pause_all_vcpus. > > Arguably we could come up with a better API to cpu.c but this allows us > to use cpu_resume(c->sleeping_cpu) when waking up rather than hand > rolling our own wake-up mechanism. But we already have the right wake-up mechanism, which is cpu->halted/cpu_has_work. That also makes it possible to just use EXCP_HALTED instead of adding a new EXCP_BLOCKED. Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |