Revision 4a1418e0 exec-all.h
b/exec-all.h | ||
---|---|---|
348 | 348 |
} |
349 | 349 |
#endif |
350 | 350 |
|
351 |
#ifdef CONFIG_KQEMU |
|
352 |
#define KQEMU_MODIFY_PAGE_MASK (0xff & ~(VGA_DIRTY_FLAG | CODE_DIRTY_FLAG)) |
|
353 |
|
|
354 |
#define MSR_QPI_COMMBASE 0xfabe0010 |
|
355 |
|
|
356 |
int kqemu_init(CPUState *env); |
|
357 |
int kqemu_cpu_exec(CPUState *env); |
|
358 |
void kqemu_flush_page(CPUState *env, target_ulong addr); |
|
359 |
void kqemu_flush(CPUState *env, int global); |
|
360 |
void kqemu_set_notdirty(CPUState *env, ram_addr_t ram_addr); |
|
361 |
void kqemu_modify_page(CPUState *env, ram_addr_t ram_addr); |
|
362 |
void kqemu_set_phys_mem(uint64_t start_addr, ram_addr_t size, |
|
363 |
ram_addr_t phys_offset); |
|
364 |
void kqemu_cpu_interrupt(CPUState *env); |
|
365 |
void kqemu_record_dump(void); |
|
366 |
|
|
367 |
extern uint32_t kqemu_comm_base; |
|
368 |
|
|
369 |
extern ram_addr_t kqemu_phys_ram_size; |
|
370 |
extern uint8_t *kqemu_phys_ram_base; |
|
371 |
|
|
372 |
static inline int kqemu_is_ok(CPUState *env) |
|
373 |
{ |
|
374 |
return(env->kqemu_enabled && |
|
375 |
(env->cr[0] & CR0_PE_MASK) && |
|
376 |
!(env->hflags & HF_INHIBIT_IRQ_MASK) && |
|
377 |
(env->eflags & IF_MASK) && |
|
378 |
!(env->eflags & VM_MASK) && |
|
379 |
(env->kqemu_enabled == 2 || |
|
380 |
((env->hflags & HF_CPL_MASK) == 3 && |
|
381 |
(env->eflags & IOPL_MASK) != IOPL_MASK))); |
|
382 |
} |
|
383 |
|
|
384 |
#endif |
|
385 |
|
|
386 | 351 |
typedef void (CPUDebugExcpHandler)(CPUState *env); |
387 | 352 |
|
388 | 353 |
CPUDebugExcpHandler *cpu_set_debug_excp_handler(CPUDebugExcpHandler *handler); |
Also available in: Unified diff