/branches/network/kernel/arch/amd64/_link.ld.in |
43,8 → 43,6 |
QUAD(unmapped_kdata_end - unmapped_kdata_start); |
*(COMMON); /* global variables */ |
|
*(.eh_frame); |
|
symbol_table = .; |
*(symtab.*); /* Symbol table, must be LAST symbol!*/ |
|
53,6 → 51,10 |
kdata_end = .; |
} |
|
/DISCARD/ : { |
*(*); |
} |
|
#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; |
/branches/network/kernel/arch/amd64/include/cpuid.h |
39,6 → 39,7 |
#define AMD_EXT_NOEXECUTE 20 |
#define AMD_EXT_LONG_MODE 29 |
|
#define INTEL_CPUID_LEVEL 0x00000000 |
#define INTEL_CPUID_STANDARD 0x00000001 |
#define INTEL_CPUID_EXTENDED 0x80000000 |
#define INTEL_SSE2 26 |
/branches/network/kernel/arch/amd64/src/pm.c |
230,24 → 230,5 |
tr_load(gdtselector(TSS_DES)); |
} |
|
/* Reboot the machine by initiating |
* a triple fault |
*/ |
void arch_reboot(void) |
{ |
preemption_disable(); |
ipl_t ipl = interrupts_disable(); |
|
memsetb(idt, sizeof(idt), 0); |
idtr_load(&idtr); |
|
interrupts_restore(ipl); |
asm volatile ( |
"int $0x03\n" |
"cli\n" |
"hlt\n" |
); |
} |
|
/** @} |
*/ |