/trunk/kernel/arch/sparc64/include/mm/tsb.h |
---|
54,7 → 54,6 |
#include <arch/mm/tte.h> |
#include <arch/mm/mmu.h> |
#include <arch/types.h> |
#include <mm/as.h> |
/** TSB Base register. */ |
typedef union tsb_base_reg { |
108,10 → 107,14 |
asi_u64_write(ASI_DMMU, VA_DMMU_TSB_BASE, v); |
} |
extern void tsb_invalidate(as_t *as, uintptr_t page, count_t pages); |
extern void itsb_pte_copy(pte_t *t); |
extern void dtsb_pte_copy(pte_t *t, bool ro); |
/* Forward declarations. */ |
struct as; |
struct pte; |
extern void tsb_invalidate(struct as *as, uintptr_t page, count_t pages); |
extern void itsb_pte_copy(struct pte *t); |
extern void dtsb_pte_copy(struct pte *t, bool ro); |
#endif /* !def __ASM__ */ |
#endif |
/trunk/kernel/arch/ia32xen/src/mm/page.c |
---|
53,9 → 53,9 |
{ |
if (config.cpu_active == 1) { |
page_mapping_operations = &pt_mapping_operations; |
AS_KERNEL->page_table = (pte_t *) KA2PA(start_info.ptl0); |
AS_KERNEL->genarch.page_table = (pte_t *) KA2PA(start_info.ptl0); |
} else |
SET_PTL0_ADDRESS_ARCH(AS_KERNEL->page_table); |
SET_PTL0_ADDRESS_ARCH(AS_KERNEL->genarch.page_table); |
} |
void page_fault(int n, istate_t *istate) |
/trunk/kernel/arch/amd64/src/pm.c |
---|
201,7 → 201,7 |
/* We are going to use malloc, which may return |
* non boot-mapped pointer, initialize the CR3 register |
* ahead of page_init */ |
write_cr3((uintptr_t) AS_KERNEL->page_table); |
write_cr3((uintptr_t) AS_KERNEL->genarch.page_table); |
tss_p = (struct tss *) malloc(sizeof(tss_t), FRAME_ATOMIC); |
if (!tss_p) |
/trunk/kernel/arch/amd64/src/mm/page.c |
---|
111,10 → 111,10 |
} |
exc_register(14, "page_fault", (iroutine) page_fault); |
write_cr3((uintptr_t) AS_KERNEL->page_table); |
write_cr3((uintptr_t) AS_KERNEL->genarch.page_table); |
} |
else { |
write_cr3((uintptr_t) AS_KERNEL->page_table); |
write_cr3((uintptr_t) AS_KERNEL->genarch.page_table); |
} |
} |
/trunk/kernel/arch/ia32/src/mm/page.c |
---|
68,10 → 68,10 |
} |
exc_register(14, "page_fault", (iroutine) page_fault); |
write_cr3((uintptr_t) AS_KERNEL->page_table); |
write_cr3((uintptr_t) AS_KERNEL->genarch.page_table); |
} |
else { |
write_cr3((uintptr_t) AS_KERNEL->page_table); |
write_cr3((uintptr_t) AS_KERNEL->genarch.page_table); |
} |
paging_on(); |