CID 8122, 2210 (pointing at the same), 8121 and 2209 (pointing at the same):
Taking the size of a pointer instead of the actual extended registers struct. Not sure this is used, but if it is it made the whole fpu/sse state in the debugger useless. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39960 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -595,7 +595,7 @@ arch_set_debug_cpu_state(const debug_cpu_state *cpuState)
|
|||||||
struct thread* thread = thread_get_current_thread();
|
struct thread* thread = thread_get_current_thread();
|
||||||
InterruptsLocker locker;
|
InterruptsLocker locker;
|
||||||
memcpy(thread->arch_info.fpu_state, &cpuState->extended_registers,
|
memcpy(thread->arch_info.fpu_state, &cpuState->extended_registers,
|
||||||
sizeof(&cpuState->extended_registers));
|
sizeof(cpuState->extended_registers));
|
||||||
i386_fxrstor(thread->arch_info.fpu_state);
|
i386_fxrstor(thread->arch_info.fpu_state);
|
||||||
} else {
|
} else {
|
||||||
// TODO: Implement! We need to convert the format first.
|
// TODO: Implement! We need to convert the format first.
|
||||||
@@ -641,7 +641,7 @@ arch_get_debug_cpu_state(debug_cpu_state *cpuState)
|
|||||||
i386_fxsave(thread->arch_info.fpu_state);
|
i386_fxsave(thread->arch_info.fpu_state);
|
||||||
// unlike fnsave, fxsave doesn't reinit the FPU state
|
// unlike fnsave, fxsave doesn't reinit the FPU state
|
||||||
memcpy(&cpuState->extended_registers, thread->arch_info.fpu_state,
|
memcpy(&cpuState->extended_registers, thread->arch_info.fpu_state,
|
||||||
sizeof(&cpuState->extended_registers));
|
sizeof(cpuState->extended_registers));
|
||||||
} else {
|
} else {
|
||||||
i386_fnsave(&cpuState->extended_registers);
|
i386_fnsave(&cpuState->extended_registers);
|
||||||
i386_frstor(&cpuState->extended_registers);
|
i386_frstor(&cpuState->extended_registers);
|
||||||
|
|||||||
Reference in New Issue
Block a user