Multiple cleanups and improvements
- Cleanup exception trigger code - Cleanup division to divide by 0 - Cleanup SRET code - Cleanup CSR code - Added interrupts - Added TIMER interrupt
This commit is contained in:
+2
-2
@@ -81,7 +81,7 @@ uint32_t mmu_resolve(rv32_cpu_t* cpu, memory_access_type_t access_type, uint32_t
|
||||
if(!(pte & PTE_V))
|
||||
{
|
||||
// Invalid PTE
|
||||
exception_trigger(cpu, mmu_scause_from_access(access_type));
|
||||
exception_trigger(cpu, mmu_scause_from_access(access_type), vaddr);
|
||||
}
|
||||
|
||||
if((pte & PTE_R) || (pte & PTE_W) || (pte & PTE_X))
|
||||
@@ -109,7 +109,7 @@ uint32_t mmu_resolve(rv32_cpu_t* cpu, memory_access_type_t access_type, uint32_t
|
||||
if(!(pte & PTE_V))
|
||||
{
|
||||
// Invalid PTE
|
||||
exception_trigger(cpu, mmu_scause_from_access(access_type));
|
||||
exception_trigger(cpu, mmu_scause_from_access(access_type), vaddr);
|
||||
}
|
||||
|
||||
// This must be a leaf PTE, as Sv32 only supports 2-level mappings
|
||||
|
||||
Reference in New Issue
Block a user