Revision bdc44640 include/qom/cpu.h

b/include/qom/cpu.h
23 23
#include <signal.h>
24 24
#include "hw/qdev-core.h"
25 25
#include "exec/hwaddr.h"
26
#include "qemu/queue.h"
26 27
#include "qemu/thread.h"
27 28
#include "qemu/tls.h"
28 29
#include "qemu/typedefs.h"
......
190 191
    struct GDBRegisterState *gdb_regs;
191 192
    int gdb_num_regs;
192 193
    int gdb_num_g_regs;
193
    CPUState *next_cpu;
194
    QTAILQ_ENTRY(CPUState) node;
194 195

  
195 196
    int kvm_fd;
196 197
    bool kvm_vcpu_dirty;
......
202 203
    uint32_t halted; /* used by alpha, cris, ppc TCG */
203 204
};
204 205

  
205
extern CPUState *first_cpu;
206
QTAILQ_HEAD(CPUTailQ, CPUState);
207
extern struct CPUTailQ cpus;
208
#define CPU_NEXT(cpu) QTAILQ_NEXT(cpu, node)
209
#define CPU_FOREACH(cpu) QTAILQ_FOREACH(cpu, &cpus, node)
210
#define CPU_FOREACH_SAFE(cpu, next_cpu) \
211
    QTAILQ_FOREACH_SAFE(cpu, &cpus, node, next_cpu)
212
#define first_cpu QTAILQ_FIRST(&cpus)
206 213

  
207 214
DECLARE_TLS(CPUState *, current_cpu);
208 215
#define current_cpu tls_var(current_cpu)

Also available in: Unified diff