Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 51 → Rev 52

/SPARTAN/trunk/arch/ia32/Makefile.inc
44,6 → 44,7
arch/drivers/i8254.c \
arch/drivers/i8259.c \
arch/drivers/ega.c \
arch/boot/boot.S
arch/boot/boot.S \
arch/fpu_context.c
 
 
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
0,0 → 1,63
/*
#
# Copyright (C) 2005 Jakub Vana
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# - The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
*/
 
#include <fpu_context.h>
 
void fpu_context_save(void)
{
}
 
 
void fpu_context_restore()
{
}
 
 
void fpu_lazy_context_save()
{
/*
pushl %eax
mov 8(%esp),%eax
fxsave (%eax)
popl %eax
ret
*/
}
 
void fpu_lazy_context_restore()
{
/*
pushl %eax
mov 8(%esp),%eax
fxrstor (%eax)
popl %eax
ret
*/
}
/SPARTAN/trunk/arch/ia32/src/context.s
79,23 → 79,3
ret
 
 
fpu_context_save:
ret
 
fpu_context_restore:
ret
 
fpu_lazy_context_save:
pushl %eax
mov 8(%esp),%eax
fxsave (%eax)
popl %eax
ret
 
fpu_lazy_context_restore:
pushl %eax
mov 8(%esp),%eax
fxrstor (%eax)
popl %eax
ret
 
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c
31,7 → 31,7
#include <proc/thread.h>
#include <arch.h>
 
void before_thread_runs(void)
void before_thread_runs_arch(void)
{
CPU->arch.tss->esp0 = (__address) &THREAD->kstack[THREAD_STACK_SIZE-8];
CPU->arch.tss->ss0 = selector(KDATA_DES);