Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 937 → Rev 938

/kernel/trunk/arch/mips32/include/elf.h
26,18 → 26,11
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
 
#ifndef __ia32_ELF_H__
#define __ia32_ELF_H__
#ifndef __mips32_ELF_H__
#define __mips32_ELF_H__
 
#include <elf32.h>
 
#define ELF_MACHINE EM_MIPS
#define ELF_DATA_ENCODING ELFDATA2MSB
#define ELF_CLASS ELFCLASS32
 
/*
* Main ELF loader function
*/
#define elf_load(header, as) elf32_load(header, as)
 
#endif
/kernel/trunk/arch/mips32/Makefile.inc
41,12 → 41,12
endif
 
KERNEL_LOAD_ADDRESS = 0x80100000
INIT_ADDRESS = 0x20000000
INIT_ADDRESS = 0x81000000
INIT_SIZE = 65536
 
CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss
 
DEFS += -DMACHINE=${MIPS_MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} -DINIT_ADDRESS=${INIT_ADDRESS} -DINIT_SIZE=${INIT_SIZE}
DEFS += -D__32_BITS__ -DMACHINE=${MIPS_MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} -DINIT_ADDRESS=${INIT_ADDRESS} -DINIT_SIZE=${INIT_SIZE}
 
## Compile with hierarchical page tables support.
#
80,7 → 80,7
BFD_NAME=elf32-tradlittlemips
BFD = ecoff-littlemips
CFLAGS += -DARCH_HAS_FPU -mips3
INIT_ADDRESS = 0x1800000
INIT_ADDRESS = 0x81800000
endif
ifeq ($(MIPS_MACHINE),bgxemul)
BFD_NAME=elf32-bigmips
88,7 → 88,7
TARGET = mips-sgi-irix5
TOOLCHAIN_DIR = /usr/local/mips/bin
CFLAGS += -EB -DBIG_ENDIAN -DARCH_HAS_FPU -mips3
INIT_ADDRESS = 0x1800000
INIT_ADDRESS = 0x81800000
endif
ifeq ($(MIPS_MACHINE),simics)
# SIMICS 4kc emulation is broken, although for instructions
/kernel/trunk/arch/mips32/src/mips32.c
118,13 → 118,13
*/
__address supervisor_sp __attribute__ ((section (".text")));
 
void userspace(void)
void userspace(__address entry)
{
/* EXL=1, UM=1, IE=1 */
cp0_status_write(cp0_status_read() | (cp0_status_exl_exception_bit |
cp0_status_um_bit |
cp0_status_ie_enabled_bit));
cp0_epc_write(UTEXT_ADDRESS);
cp0_epc_write(entry);
userspace_asm(USTACK_ADDRESS+PAGE_SIZE);
while (1)
;