38,6 → 38,7 |
#include <mm/as.h> |
#include <genarch/mm/page_pt.h> |
#include <arch.h> |
#include <interrupt.h> |
|
|
//TODO: remove in final version |
137,17 → 138,17 |
// get instruction op code |
instruction_t i_code = *(tmp.instr); |
|
dprintf("get_instruction_memmory_access\n"); |
dprintf(" instr_addr:%X\n",instr_addr); |
dprintf(" i_code:%X\n",i_code); |
dprintf(" i_code.condition:%d\n", i_code.condition); |
dprintf(" i_code.instr_type:%d\n",i_code.instr_type); |
dprintf(" i_code.opcode:%d\n",i_code.opcode); |
dprintf(" i_code.acess:%d\n", i_code.access); |
dprintf(" i_code.dummy:%d\n", i_code.dummy); |
dprintf(" i_code.bits567%d\n", i_code.bits567); |
dprintf(" i_code.bit4:%d\n", i_code.bit4); |
dprintf(" i_code.dummy1:%d\n", i_code.dummy1); |
// dprintf("get_instruction_memmory_access\n"); |
// dprintf(" instr_addr:%X\n",instr_addr); |
// dprintf(" i_code:%X\n",i_code); |
// dprintf(" i_code.condition:%d\n", i_code.condition); |
// dprintf(" i_code.instr_type:%d\n",i_code.instr_type); |
// dprintf(" i_code.opcode:%d\n",i_code.opcode); |
// dprintf(" i_code.acess:%d\n", i_code.access); |
// dprintf(" i_code.dummy:%d\n", i_code.dummy); |
// dprintf(" i_code.bits567%d\n", i_code.bits567); |
// dprintf(" i_code.bit4:%d\n", i_code.bit4); |
// dprintf(" i_code.dummy1:%d\n", i_code.dummy1); |
|
|
// undefined instructions ... (or special instructions) |
209,11 → 210,11 |
|
pf_access_t access = get_memmory_access_type( istate->lr, page); |
|
print_istate(istate); |
// print_istate(istate); |
dprintf(" page fault : ip:%X, va:%X, status:%x(%x), access:%d\n", istate->lr, page, fsr.status,fsr, access); |
|
/* Alf: Will be commented until stack problem will be solved ... |
as_page_fault make consequent page faults |
as_page_fault make consequent page faults*/ |
|
int ret = as_page_fault(page, access, istate); |
dprintf(" as_page_fault ret:%d\n", ret); |
222,7 → 223,7 |
|
panic("page fault\n"); |
} |
*/ |
|
// TODO: Remove this ... now for testing purposes ... it's bad to test page faults in kernel, where no page faults should occures |
panic("page fault ... solved\n"); |
|
240,7 → 241,7 |
dprintf(" prefetch_abourt ... instruction on adress:%x can't be fetched\n", istate->lr); |
|
/* Alf: Will be commented until stack problem will be solved ... |
as_page_fault make consequent page faults |
as_page_fault make consequent page faults*/ |
|
int ret = as_page_fault(istate->lr, PF_ACCESS_EXEC, istate); |
dprintf(" as_page_fault ret:%d\n", ret); |
247,8 → 248,8 |
if (ret == AS_PF_FAULT) { |
panic("page fault - instruction fetch at addr:%X\n", istate->lr); |
} |
*/ |
|
|
panic("Prefetch abourt ... solved"); |
} |
|