/kernel/trunk/arch/amd64/_link.ld.in |
---|
54,7 → 54,6 |
} |
#ifdef CONFIG_SMP |
_hardcoded_unmapped_size = (unmapped_ktext_end - unmapped_ktext_start) + (unmapped_kdata_end - unmapped_kdata_start); |
ap_boot = unmapped_ap_boot - BOOT_OFFSET + AP_BOOT_OFFSET; |
ap_gdtr = unmapped_ap_gdtr - BOOT_OFFSET + AP_BOOT_OFFSET; |
/kernel/trunk/arch/amd64/include/types.h |
---|
32,6 → 32,9 |
#define NULL 0 |
typedef signed char __s8; |
typedef signed short __s16; |
typedef signed int __s32; |
typedef signed long long __s64; |
typedef unsigned char __u8; |
typedef unsigned short __u16; |
/kernel/trunk/arch/amd64/include/elf.h |
---|
29,15 → 29,8 |
#ifndef __amd64_ELF_H__ |
#define __amd64_ELF_H__ |
#include <elf64.h> |
#define ELF_MACHINE EM_X86_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/amd64/Makefile.inc |
---|
43,7 → 43,7 |
endif |
CFLAGS += -fno-unwind-tables -m64 -mcmodel=kernel -mno-red-zone |
DEFS += -D_CPU=${CPU} |
DEFS += -D_CPU=${CPU} -D__64_BITS__ |
## Accepted CPUs |
# |
/kernel/trunk/arch/amd64/src/userspace.c |
---|
39,7 → 39,7 |
* Change CPU protection level to 3, enter userspace. |
* |
*/ |
void userspace(void) |
void userspace(__address entry) |
{ |
ipl_t ipl; |
61,7 → 61,7 |
"i" (USTACK_ADDRESS+THREAD_STACK_SIZE), |
"r" (ipl), |
"i" (gdtselector(UTEXT_DES) | PL_USER), |
"i" (UTEXT_ADDRESS)); |
"r" (entry)); |
/* Unreachable */ |
for(;;); |