Changeset 20d50a1 in mainline for arch/ia32/src/interrupt.c


Ignore:
Timestamp:
2006-01-13T13:02:45Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f9425006
Parents:
0369911
Message:

Memory management work.

  • vm.* → as.* (as like address space is, imho, more fitting)
  • Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
  • Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
  • Add high-level page fault handler as_page_fault().
  • Add as_area_load_mapping().
File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/src/interrupt.c

    r0369911 r20d50a1  
    3636#include <arch/asm.h>
    3737#include <mm/tlb.h>
     38#include <mm/as.h>
    3839#include <arch.h>
    3940#include <symtab.h>
     
    100101void page_fault(int n, void *stack)
    101102{
    102         PRINT_INFO_ERRCODE(stack);
    103         printf("page fault address: %X\n", read_cr2());
    104         panic("page fault\n");
     103        __address page;
     104
     105        page = read_cr2();
     106        if (!as_page_fault(page)) {
     107                PRINT_INFO_ERRCODE(stack);
     108                printf("page fault address: %X\n", page);
     109                panic("page fault\n");
     110        }
    105111}
    106112
Note: See TracChangeset for help on using the changeset viewer.