2 * Copyright (c) 2018 Virtuozzo International GmbH
4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
14 typedef struct QEMUCPUSegment
{
22 typedef struct QEMUCPUState
{
25 uint64_t rax
, rbx
, rcx
, rdx
, rsi
, rdi
, rsp
, rbp
;
26 uint64_t r8
, r9
, r10
, r11
, r12
, r13
, r14
, r15
;
28 QEMUCPUSegment cs
, ds
, es
, fs
, gs
, ss
;
29 QEMUCPUSegment ldt
, tr
, gdt
, idt
;
31 uint64_t kernel_gs_base
;
34 int is_system(QEMUCPUState
*s
);
36 typedef struct QEMU_Elf
{
42 int has_kernel_gs_base
;
45 int QEMU_Elf_init(QEMU_Elf
*qe
, const char *filename
);
46 void QEMU_Elf_exit(QEMU_Elf
*qe
);
48 Elf64_Phdr
*elf64_getphdr(void *map
);
49 Elf64_Half
elf_getphdrnum(void *map
);
51 #endif /* QEMU_ELF_H */