/kernel/trunk/arch/ia64/include/elf.h |
---|
29,15 → 29,8 |
#ifndef __ia64_ELF_H__ |
#define __ia64_ELF_H__ |
#include <elf64.h> |
#define ELF_MACHINE EM_IA_64 |
#define ELF_DATA_ENCODING ELFDATA2LSB |
#define ELF_CLASS ELFCLASS64 |
/* |
* Main ELF loader function |
*/ |
#define elf_load(header, as) elf64_load(header, as) |
#endif |
/kernel/trunk/arch/ia64/Makefile.inc |
---|
45,7 → 45,7 |
LFLAGS += -EL |
AFLAGS += -mconstant-gp |
DEFS += -DINIT_ADDRESS=$(INIT_ADDRESS) -DINIT_SIZE=$(INIT_SIZE) |
DEFS += -D__64_BITS__ -DINIT_ADDRESS=$(INIT_ADDRESS) -DINIT_SIZE=$(INIT_SIZE) |
## Compile with page hash table support. |
# |
/kernel/trunk/arch/ia64/src/ia64.c |
---|
66,7 → 66,7 |
} |
/** Enter userspace and never return. */ |
void userspace(void) |
void userspace(__address entry) |
{ |
psr_t psr; |
rsc_t rsc; |
83,7 → 83,7 |
rsc.pl = PL_USER; |
rsc.mode = 3; /* eager mode */ |
switch_to_userspace(UTEXT_ADDRESS, USTACK_ADDRESS+PAGE_SIZE-1, USTACK_ADDRESS, psr.value, rsc.value); |
switch_to_userspace(entry, USTACK_ADDRESS+PAGE_SIZE-1, USTACK_ADDRESS, psr.value, rsc.value); |
while (1) { |
; |