| * Copyright IBM, Corp. 2011 |
| * Anthony Liguori <aliguori@us.ibm.com> |
| * This work is licensed under the terms of the GNU GPL, version 2 or later. |
| * See the COPYING file in the top-level directory. |
| #include "qemu/guest-random.h" |
| #include "qemu/main-loop.h" |
| static void *dummy_cpu_thread_fn(void *arg) |
| qemu_thread_get_self(cpu->thread); |
| cpu->thread_id = qemu_get_thread_id(); |
| sigaddset(&waitset, SIG_IPI); |
| /* signal CPU creation */ |
| cpu_thread_signal_created(cpu); |
| qemu_guest_random_seed_thread_part2(cpu->random_seed); |
| r = sigwait(&waitset, &sig); |
| } while (r == -1 && (errno == EAGAIN || errno == EINTR)); |
| qemu_sem_wait(&cpu->sem); |
| void dummy_start_vcpu_thread(CPUState *cpu) |
| char thread_name[VCPU_THREAD_NAME_SIZE]; |
| snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/DUMMY", |
| qemu_thread_create(cpu->thread, thread_name, dummy_cpu_thread_fn, cpu, |
| qemu_sem_init(&cpu->sem, 0); |