Ignore:
Timestamp:
2013-10-07T20:00:34Z (11 years ago)
Author:
Jakub Klama <jakub.klama@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a73ebf0
Parents:
80d9d83
Message:

First attempt to implement preemptive trap handlers
and switch to userspace. Preemptive traps are needed
for at least page faults, as page fault handling code
can trigger window underflow/overflow exceptions.

This commit also introduces userspace window buffer
for saving userspace register windows (just as in
sparc64).

These changes are unfinished and far from working
correctly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc32/src/proc/scheduler.c

    r80d9d83 r1f12fab  
    11/*
    2  * Copyright (c) 2010 Martin Decky
     2 * Copyright (c) 2013 Jakub Klama
    33 * All rights reserved.
    44 *
     
    3434
    3535#include <proc/scheduler.h>
     36#include <proc/thread.h>
     37#include <arch.h>
     38#include <arch/arch.h>
    3639
    3740void before_task_runs_arch(void)
     
    4144void before_thread_runs_arch(void)
    4245{
     46        kernel_sp = (uintptr_t) THREAD->kstack + STACK_SIZE;
     47        uspace_wbuf = (uintptr_t) THREAD->arch.uspace_window_buffer;
    4348}
    4449
Note: See TracChangeset for help on using the changeset viewer.