mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
cpus-common: move CPU work item management to common code
Make CPU work core functions common between system and user-mode emulation. User-mode does not use run_on_cpu, so do not implement it. Signed-off-by: Sergey Fedorov <serge.fdrv@gmail.com> Signed-off-by: Sergey Fedorov <sergey.fedorov@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <1470158864-17651-10-git-send-email-alex.bennee@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
267f685b8b
commit
d148d90ee8
5 changed files with 148 additions and 91 deletions
|
@ -68,11 +68,11 @@ int cpu_get_pic_interrupt(CPUX86State *env)
|
|||
#endif
|
||||
|
||||
/* These are no-ops because we are not threadsafe. */
|
||||
static inline void cpu_exec_start(CPUArchState *env)
|
||||
static inline void cpu_exec_start(CPUState *cpu)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void cpu_exec_end(CPUArchState *env)
|
||||
static inline void cpu_exec_end(CPUState *cpu)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -164,7 +164,11 @@ void cpu_loop(CPUX86State *env)
|
|||
//target_siginfo_t info;
|
||||
|
||||
for(;;) {
|
||||
cpu_exec_start(cs);
|
||||
trapnr = cpu_exec(cs);
|
||||
cpu_exec_end(cs);
|
||||
process_queued_cpu_work(cs);
|
||||
|
||||
switch(trapnr) {
|
||||
case 0x80:
|
||||
/* syscall from int $0x80 */
|
||||
|
@ -505,7 +509,10 @@ void cpu_loop(CPUSPARCState *env)
|
|||
//target_siginfo_t info;
|
||||
|
||||
while (1) {
|
||||
cpu_exec_start(cs);
|
||||
trapnr = cpu_exec(cs);
|
||||
cpu_exec_end(cs);
|
||||
process_queued_cpu_work(cs);
|
||||
|
||||
switch (trapnr) {
|
||||
#ifndef TARGET_SPARC64
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue