Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 211 → Rev 216

/SPARTAN/trunk/arch/amd64/include/asm.h
131,6 → 131,15
return v;
}
 
/** Read CR2
*
* Return value in CR2
*
* @return Value read.
*/
static inline __u32 read_cr2(void) { __u64 v; __asm__ volatile ("movq %%cr2,%0" : "=r" (v)); return v; }
 
 
extern size_t interrupt_handler_size;
extern void interrupt_handlers(void);
 
/SPARTAN/trunk/arch/amd64/Makefile.inc
26,5 → 26,5
arch/supplib.c \
arch/delay.S \
arch/amd64.c \
arch/bios/bios.c
 
arch/bios/bios.c \
arch/interrupt.c
/SPARTAN/trunk/arch/amd64/src/dummy.s
42,39 → 42,16
.global page_arch_init
.global frame_arch_init
.global dummy
.global trap_register
.global trap_virtual_eoi
.global trap_virtual_enable_irqs
.global rdtsc
.global trap_virtual_disable_irqs
.global enable_irqs_function
.global disable_irqs_function
.global eoi_function
.global syscall
.global reset_TS_flag
.global fpu_init
.global null_interrupt
.global interrupt_handler_size
.global gp_fault
.global nm_fault
.global ss_fault
.global interrupt_handlers
.global memcpy
 
null_interrupt:
interrupt_handler_size:
interrupt_handlers:
gp_fault:
nm_fault:
ss_fault:
eoi_function:
syscall:
enable_irqs_function:
disable_irqs_function:
rdtsc:
trap_virtual_eoi:
trap_virtual_enable_irqs:
trap_virtual_disable_irqs:
trap_register:
before_thread_runs_arch:
userspace:
calibrate_delay_loop:
89,8 → 66,13
cpu_halt:
page_arch_init:
frame_arch_init:
memcpy:
 
reset_TS_flag:
fpu_init:
dummy:
0:
ret
 
.global memcpy
memcpy:
jmp _memcpy
/SPARTAN/trunk/arch/amd64/_link.ld
31,13 → 31,15
*(.data); /* initialized data */
*(.rodata*); /* string literals */
*(COMMON); /* global variables */
hardcoded_load_address = .;
QUAD(0xffffffff80008000);
hardcoded_ktext_size = .;
QUAD(ktext_end - ktext_start + (unmapped_ktext_end - unmapped_ktext_start));
hardcoded_kdata_size = .;
QUAD(kdata_end - kdata_start + (unmapped_kdata_end - unmapped_kdata_start));
*(.eh_frame);
*(.bss); /* uninitialized static variables */
*(.eh_frame);
*(K_DATA_END);
kdata_end = .;
}
 
_hardcoded_ktext_size = ktext_end - ktext_start + (unmapped_ktext_end - unmapped_ktext_start);
_hardcoded_kdata_size = kdata_end - kdata_start + (unmapped_kdata_end - unmapped_kdata_start);
_hardcoded_load_address = 0xffffffff80008000;
}