Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3993 → Rev 4369

/branches/sparc/kernel/arch/sparc64/src/proc/sun4v/scheduler.c
58,10 → 58,9
if ((THREAD->flags & THREAD_FLAG_USPACE)) {
uint64_t sp = (uintptr_t) THREAD->kstack + STACK_SIZE -
(STACK_BIAS + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT));
int cpuid = asi_u64_read(ASI_SCRATCHPAD, SCRATCHPAD_CPUID);
kstack_wbuf_ptrs[cpuid].kstack = sp;
kstack_wbuf_ptrs[cpuid].wbuf =
(uintptr_t) THREAD->arch.uspace_window_buffer;
asi_u64_write(ASI_SCRATCHPAD, SCRATCHPAD_KSTACK, sp);
asi_u64_write(ASI_SCRATCHPAD, SCRATCHPAD_WBUF,
(uintptr_t) THREAD->arch.uspace_window_buffer);
}
}
 
70,9 → 69,9
{
if ((THREAD->flags & THREAD_FLAG_USPACE)) {
/* sample the state of the userspace window buffer */
int cpuid = asi_u64_read(ASI_SCRATCHPAD, SCRATCHPAD_CPUID);
THREAD->arch.uspace_window_buffer =
(uint8_t *) kstack_wbuf_ptrs[cpuid].wbuf;
(uint8_t *) asi_u64_read(ASI_SCRATCHPAD, SCRATCHPAD_WBUF);
}
}