Changeset 23628
- Timestamp:
- 01/19/08 05:56:40 (10 months ago)
- Location:
- haiku/trunk/src/system/kernel/arch/x86
- Files:
-
- 2 modified
-
arch_debug.cpp (modified) (2 diffs)
-
arch_thread.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
haiku/trunk/src/system/kernel/arch/x86/arch_debug.cpp
r23549 r23628 29 29 30 30 #define NUM_PREVIOUS_LOCATIONS 32 31 32 extern struct iframe_stack gBootFrameStack;33 31 34 32 … … 201 199 is_iframe(struct thread* thread, addr_t frame) 202 200 { 203 return is_kernel_stack_address(thread, frame) 204 && (*(addr_t*)frame & ~IFRAME_TYPE_MASK) == 0; 201 if (!is_kernel_stack_address(thread, frame)) 202 return false; 203 204 addr_t previousFrame = *(addr_t*)frame; 205 return ((previousFrame & ~IFRAME_TYPE_MASK) == 0 && previousFrame != 0); 205 206 } 206 207 -
haiku/trunk/src/system/kernel/arch/x86/arch_thread.c
r23370 r23628 68 68 && frame < thread->kernel_stack_base + KERNEL_STACK_SIZE) { 69 69 addr_t previousFrame = *(addr_t*)frame; 70 if ((previousFrame & ~IFRAME_TYPE_MASK) == 0) 70 if ((previousFrame & ~IFRAME_TYPE_MASK) == 0) { 71 if (previousFrame == 0) 72 return NULL; 71 73 return (struct iframe*)frame; 74 } 72 75 73 76 frame = previousFrame;
