Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 325 → Rev 326

/SPARTAN/trunk/arch/mips/include/asm/boot.h
34,7 → 34,7
#define TEMP_STACK_SIZE 0x100
 
/* Kernel startup address */
#define KERNEL_STARTUP_ADDRESS 0x80000300
#define KERNEL_LOAD_ADDRESS 0x80100000
 
 
#endif
/SPARTAN/trunk/arch/mips/include/exception.h
91,5 → 91,7
};
 
extern void exception(struct exception_regdump *pstate);
 
extern void tlb_refill_entry(void);
extern void exception_entry(void);
extern void cache_error_entry(void);
#endif
/SPARTAN/trunk/arch/mips/include/fpu_context.h
32,10 → 32,8
#include <arch/types.h>
 
struct fpu_context {
/* TODO: define MIPS FPU context */
__native dregs[32];
__native cregs[32];
};
 
 
 
 
#endif
/SPARTAN/trunk/arch/mips/include/byteorder.h
30,6 → 30,16
#define __mips_BYTEORDER_H__
 
/* MIPS is little-endian */
#define native_le2host(n) n
#ifdef BIG_ENDIAN
static inline __native native_le2host(__native n)
{
return ((n & 0xff) << 24) |
((n & 0xff00) << 8) |
((n & 0xff0000) >> 8) |
((n & 0xff000000) >> 24);
}
#else
# define native_le2host(n) n
#endif
 
#endif
/SPARTAN/trunk/arch/mips/include/thread.h
29,6 → 29,8
#ifndef __mips_THREAD_H__
#define __mips_THREAD_H__
 
#define ARCH_THREAD_DATA
#include <arch/exception.h>
 
#define ARCH_THREAD_DATA struct exception_regdump *pstate
 
#endif
/SPARTAN/trunk/arch/mips/include/asm.h
33,8 → 33,13
#include <typedefs.h>
#include <config.h>
 
#define cpu_sleep() ;
 
static inline void cpu_sleep(void)
{
/* Most of the simulators do not support */
/* __asm__ volatile ("wait"); */
}
 
/** Return base address of current stack
*
* Return the base address of the current stack.
/SPARTAN/trunk/arch/mips/include/cp0.h
34,8 → 34,9
#define cp0_status_ie_enabled_bit (1<<0)
#define cp0_status_exl_exception_bit (1<<1)
#define cp0_status_erl_error_bit (1<<2)
#define cp0_status_um_bit (1<<4)
#define cp0_status_bev_bootstrap_bit (1<<22)
#define cp0_status_um_bit (1<<4)
#define cp0_status_fpu_bit (1<<29)
 
#define cp0_status_im7_shift 15
/*
44,6 → 45,26
*/
#define cp0_compare_value 10000
 
static inline void tlbp(void)
{
__asm__ volatile ("tlbp");
}
 
static inline void tlbr(void)
{
__asm__ volatile ("tlbr");
}
static inline void tlbwi(void)
{
__asm__ volatile ("tlbwi");
}
static inline void tlbwr(void)
{
__asm__ volatile ("tlbwr");
}
 
 
 
extern __u32 cp0_index_read(void);
extern void cp0_idnex_write(__u32 val);
 
86,9 → 107,4
 
extern __u32 cp0_prid_read(void);
 
extern void tlbp(void);
extern void tlbr(void);
extern void tlbwi(void);
extern void tlbwr(void);
 
#endif