Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 824 → Rev 825

/kernel/trunk/arch/amd64/include/interrupt.h
71,7 → 71,6
extern void page_fault(int n, struct interrupt_context *ctx);
extern void syscall(int n, void *stack);
extern void tlb_shootdown_ipi(int n, void *stack);
extern void wakeup_ipi(int n, void *stack);
 
extern void trap_virtual_enable_irqs(__u16 irqmask);
extern void trap_virtual_disable_irqs(__u16 irqmask);
/kernel/trunk/arch/amd64/include/mm/page.h
101,7 → 101,8
p->uaccessible<<PAGE_USER_SHIFT |
1<<PAGE_READ_SHIFT |
p->writeable<<PAGE_WRITE_SHIFT |
(!p->no_execute)<<PAGE_EXEC_SHIFT
(!p->no_execute)<<PAGE_EXEC_SHIFT |
p->global<<PAGE_GLOBAL_SHIFT
);
}
 
122,6 → 123,7
p->uaccessible = (flags & PAGE_USER) != 0;
p->writeable = (flags & PAGE_WRITE) != 0;
p->no_execute = (flags & PAGE_EXEC) == 0;
p->global = (flags & PAGE_GLOBAL) != 0;
}
 
extern void page_arch_init(void);
/kernel/trunk/arch/amd64/src/amd64.c
121,7 → 121,6
#ifdef CONFIG_SMP
exc_register(VECTOR_TLB_SHOOTDOWN_IPI, "tlb_shootdown",
tlb_shootdown_ipi);
exc_register(VECTOR_WAKEUP_IPI, "wakeup_ipi", wakeup_ipi);
#endif /* CONFIG_SMP */
}
}
/kernel/trunk/arch/amd64/src/mm/page.c
41,6 → 41,7
void page_arch_init(void)
{
__address cur;
int flags;
 
if (config.cpu_active == 1) {
page_mapping_operations = &pt_mapping_operations;
49,7 → 50,10
* PA2KA(identity) mapping for all frames.
*/
for (cur = 0; cur < last_frame; cur += FRAME_SIZE) {
page_mapping_insert(AS_KERNEL, PA2KA(cur), cur, PAGE_CACHEABLE | PAGE_EXEC);
flags = PAGE_CACHEABLE | PAGE_EXEC;
if ((PA2KA(cur) >= config.base) && (PA2KA(cur) < config.base + config.kernel_size))
flags |= PAGE_GLOBAL;
page_mapping_insert(AS_KERNEL, PA2KA(cur), cur, flags);
}
exc_register(14, "page_fault", (iroutine)page_fault);
write_cr3((__address) AS_KERNEL->page_table);
/kernel/trunk/arch/amd64/src/interrupt.c
141,11 → 141,6
tlb_shootdown_ipi_recv();
}
 
void wakeup_ipi(int n, void *stack)
{
trap_virtual_eoi();
}
 
void trap_virtual_enable_irqs(__u16 irqmask)
{
if (enable_irqs_function)