Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 326 → Rev 327

/SPARTAN/trunk/doc/requirements
20,8 → 20,22
o Bochs 2.0.2 - Bochs 2.2
o VMware Workstation 4, VMware Workstation 5
 
amd64 port
=========
HARDWARE REQUIREMENTS
o no real hardware supported
 
mips port
SMP COMPATIBILITY
o Bochs 2.2
o 2x-8x AMD64 CPU
o Simics Simics 2.2.19
o 2x-8x AMD hammer CPU
 
EMULATORS AND VIRTUALIZERS
o Bochs 2.2
o Simics Simics 2.2.19
 
mips32 port
=========
 
HARDWARE REQUIREMENTS
33,7 → 47,9
o older versions may do as well, but are now obsoleted
 
EMULATORS AND VIRTUALIZERS
o msim
o msim 1.2.6 with lwl/lwr/swl/swr patch
o gxemul - both big and little endian
o simics
 
ia64 port
=========
/SPARTAN/trunk/src/Makefile.config
34,5 → 34,6
#TEST_DIR=synch/semaphore2/
#TEST_DIR=fpu/fpu1
#TEST_DIR=fpu/sse1
#TEST_DIR=fpu/mips1
#TEST_DIR=print/print1
#TEST_DIR=thread/thread1
/SPARTAN/trunk/arch/mips/src/exception.c
51,8 → 51,12
cpu_priority_high();
cp0_status_write(cp0_status_read() & ~ (cp0_status_exl_exception_bit |
cp0_status_um_bit));
 
/* Save pstate so that the threads can access it */
if (THREAD)
/* If THREAD->pstate is set, this is nested exception,
* do not rewrite it
*/
if (THREAD && !THREAD->pstate)
THREAD->pstate = pstate;
 
/* decode exception number and process the exception */
64,6 → 68,13
case EXC_TLBS:
tlb_invalid(pstate);
break;
case EXC_CpU:
#ifdef FPU_LAZY
scheduler_fpu_lazy_request();
#else
panic("unhandled Coprocessor Unusable Exception\n");
#endif
break;
case EXC_Mod:
panic("unhandled TLB Modification Exception\n");
break;
87,13 → 98,6
case EXC_RI:
panic("unhandled Reserved Instruction Exception\n");
break;
case EXC_CpU:
#ifdef FPU_LAZY
scheduler_fpu_lazy_request();
#else
panic("unhandled Coprocessor Unusable Exception\n");
#endif
break;
case EXC_Ov:
panic("unhandled Arithmetic Overflow Exception\n");
break;
117,8 → 121,12
}
pstate->epc += epc_shift;
/* Probable not needed, but just for sure that nobody
* will continue accessing it */
/* Set to NULL, so that we can still support nested
* exceptions
* TODO: We should probably set EXL bit before this command,
* nesting. On the other hand, if some exception occurs between
* here and ERET, it won't set anything on the pstate anyway.
*/
if (THREAD)
THREAD->pstate = NULL;
}