Lines Matching refs:x64

28 static size_t win_dump_ptr_size(bool x64)  in win_dump_ptr_size()  argument
30 return x64 ? sizeof(uint64_t) : sizeof(uint32_t); in win_dump_ptr_size()
33 #define _WIN_DUMP_FIELD(f) (x64 ? h->x64.f : h->x32.f)
36 #define _WIN_DUMP_FIELD_PTR(f) (x64 ? (void *)&h->x64.f : (void *)&h->x32.f)
39 #define _WIN_DUMP_FIELD_SIZE(f) (x64 ? sizeof(h->x64.f) : sizeof(h->x32.f))
42 static size_t win_dump_ctx_size(bool x64) in win_dump_ctx_size() argument
44 return x64 ? sizeof(WinContext64) : sizeof(WinContext32); in win_dump_ctx_size()
83 static void write_runs(DumpState *s, WinDumpHeader *h, bool x64, Error **errp) in write_runs() argument
100 static int cpu_read_ptr(bool x64, CPUState *cpu, uint64_t addr, uint64_t *ptr) in cpu_read_ptr() argument
106 ret = cpu_memory_rw_debug(cpu, addr, x64 ? (void *)&ptr64 : (void *)&ptr32, in cpu_read_ptr()
107 win_dump_ptr_size(x64), 0); in cpu_read_ptr()
109 *ptr = x64 ? ptr64 : ptr32; in cpu_read_ptr()
114 static void patch_mm_pfn_database(WinDumpHeader *h, bool x64, Error **errp) in patch_mm_pfn_database() argument
125 static void patch_bugcheck_data(WinDumpHeader *h, bool x64, Error **errp) in patch_bugcheck_data() argument
129 if (cpu_read_ptr(x64, first_cpu, in patch_bugcheck_data()
155 static void patch_header(WinDumpHeader *h, bool x64) in patch_header() argument
159 if (x64) { in patch_header()
160 h->x64.RequiredDumpSpace = sizeof(WinDumpHeader64) + in patch_header()
161 (h->x64.PhysicalMemoryBlock.NumberOfPages << TARGET_PAGE_BITS); in patch_header()
162 h->x64.PhysicalMemoryBlock.unused = 0; in patch_header()
163 h->x64.unused1 = 0; in patch_header()
169 patch_mm_pfn_database(h, x64, &local_err); in patch_header()
174 patch_bugcheck_data(h, x64, &local_err); in patch_header()
180 static bool check_header(WinDumpHeader *h, bool *x64, Error **errp) in check_header() argument
191 *x64 = false; in check_header()
193 *x64 = true; in check_header()
203 static void check_kdbg(WinDumpHeader *h, bool x64, Error **errp) in check_kdbg() argument
237 if (x64) { in check_kdbg()
238 h->x64.KdDebuggerDataBlock = KdDebuggerDataBlock; in check_kdbg()
249 static void patch_and_save_context(WinDumpHeader *h, bool x64, in patch_and_save_context() argument
259 if (cpu_read_ptr(x64, first_cpu, in patch_and_save_context()
287 if (cpu_read_ptr(x64, first_cpu, in patch_and_save_context()
288 KiProcessorBlock + i * win_dump_ptr_size(x64), in patch_and_save_context()
295 if (cpu_read_ptr(x64, first_cpu, in patch_and_save_context()
305 if (x64) { in patch_and_save_context()
306 ctx.x64 = (WinContext64){ in patch_and_save_context()
380 &saved_ctx[i].ctx, win_dump_ctx_size(x64), 0)) { in patch_and_save_context()
386 &ctx, win_dump_ctx_size(x64), 1)) { in patch_and_save_context()
395 static void restore_context(WinDumpHeader *h, bool x64, in restore_context() argument
402 &saved_ctx[i].ctx, win_dump_ctx_size(x64), 1)) { in restore_context()
415 bool x64 = true; in create_win_dump() local
424 if (!check_header(h, &x64, &local_err)) { in create_win_dump()
429 hdr_size = x64 ? sizeof(WinDumpHeader64) : sizeof(WinDumpHeader32); in create_win_dump()
438 check_kdbg(h, x64, &local_err); in create_win_dump()
444 patch_header(h, x64); in create_win_dump()
453 patch_and_save_context(h, x64, saved_ctx, &local_err); in create_win_dump()
467 write_runs(s, h, x64, &local_err); in create_win_dump()
474 restore_context(h, x64, saved_ctx); in create_win_dump()