Commit f35661d1 authored by Alexander Kartashov's avatar Alexander Kartashov Committed by Pavel Emelyanov

cr-dump.c: moved the function core_free_entry() into the file arch/x86/crtools.c.

Signed-off-by: 's avatarAlexander Kartashov <alekskartashov@parallels.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent d2dfdeff
...@@ -260,3 +260,25 @@ int arch_alloc_thread_info(CoreEntry *core) ...@@ -260,3 +260,25 @@ int arch_alloc_thread_info(CoreEntry *core)
err: err:
return 1; return 1;
} }
void core_entry_free(CoreEntry *core)
{
if (core) {
if (core->thread_info) {
if (core->thread_info->fpregs) {
if (core->thread_info->fpregs->xsave)
xfree(core->thread_info->fpregs->xsave->ymmh_space);
xfree(core->thread_info->fpregs->xsave);
xfree(core->thread_info->fpregs->st_space);
xfree(core->thread_info->fpregs->xmm_space);
xfree(core->thread_info->fpregs->padding);
}
xfree(core->thread_info->gpregs);
xfree(core->thread_info->fpregs);
}
xfree(core->thread_info);
xfree(core->thread_core);
xfree(core->tc);
xfree(core->ids);
}
}
...@@ -3,5 +3,6 @@ ...@@ -3,5 +3,6 @@
extern int get_task_regs(pid_t pid, CoreEntry *core, const struct parasite_ctl *ctl); extern int get_task_regs(pid_t pid, CoreEntry *core, const struct parasite_ctl *ctl);
extern int arch_alloc_thread_info(CoreEntry *core); extern int arch_alloc_thread_info(CoreEntry *core);
extern void core_entry_free(CoreEntry *core);
#endif #endif
...@@ -696,28 +696,6 @@ static int dump_task_kobj_ids(pid_t pid, CoreEntry *core) ...@@ -696,28 +696,6 @@ static int dump_task_kobj_ids(pid_t pid, CoreEntry *core)
return 0; return 0;
} }
static void core_entry_free(CoreEntry *core)
{
if (core) {
if (core->thread_info) {
if (core->thread_info->fpregs) {
if (core->thread_info->fpregs->xsave)
xfree(core->thread_info->fpregs->xsave->ymmh_space);
xfree(core->thread_info->fpregs->xsave);
xfree(core->thread_info->fpregs->st_space);
xfree(core->thread_info->fpregs->xmm_space);
xfree(core->thread_info->fpregs->padding);
}
xfree(core->thread_info->gpregs);
xfree(core->thread_info->fpregs);
}
xfree(core->thread_info);
xfree(core->thread_core);
xfree(core->tc);
xfree(core->ids);
}
}
static CoreEntry *core_entry_alloc(int alloc_thread_info, static CoreEntry *core_entry_alloc(int alloc_thread_info,
int alloc_tc, int alloc_tc,
int alloc_ids) int alloc_ids)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment