2 * Copyright (c) 2018 Virtuozzo International GmbH
4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
13 typedef struct QEMUCPUSegment
{
21 typedef struct QEMUCPUState
{
24 uint64_t rax
, rbx
, rcx
, rdx
, rsi
, rdi
, rsp
, rbp
;
25 uint64_t r8
, r9
, r10
, r11
, r12
, r13
, r14
, r15
;
27 QEMUCPUSegment cs
, ds
, es
, fs
, gs
, ss
;
28 QEMUCPUSegment ldt
, tr
, gdt
, idt
;
30 uint64_t kernel_gs_base
;
33 int is_system(QEMUCPUState
*s
);
35 typedef struct QEMU_Elf
{
41 int has_kernel_gs_base
;
44 int QEMU_Elf_init(QEMU_Elf
*qe
, const char *filename
);
45 void QEMU_Elf_exit(QEMU_Elf
*qe
);
47 Elf64_Phdr
*elf64_getphdr(void *map
);
48 Elf64_Half
elf_getphdrnum(void *map
);
50 #endif /* ELF2DMP_ELF_H */