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


Ignore:
Timestamp:
2006-01-13T13:02:45Z (19 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/amd64/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>
     
    125126}
    126127
    127 
    128 
    129128void page_fault(int n, void *stack)
    130129{
    131         print_info_errcode(n,stack);
    132         printf("Page fault address: %Q\n", read_cr2());
    133         panic("page fault\n");
     130        __address page;
     131       
     132        page = read_cr2();
     133        if (!as_page_fault(page)) {
     134                print_info_errcode(n,stack);
     135                printf("Page fault address: %Q\n", page);
     136                panic("page fault\n");
     137        }
    134138}
    135139
Note: See TracChangeset for help on using the changeset viewer.