Ignore:
Timestamp:
2006-08-26T18:42:11Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c8ea4a8b
Parents:
f47fd19
Message:

sparc64 work.
Bunch of changes in preparation for sparc64 mm and userspace support.
Fix alignment of hardcoded_* variables in linker script.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/trap/mmu.h

    rf47fd19 ra7961271  
    3939
    4040#include <arch/stack.h>
     41#include <arch/regdef.h>
    4142#include <arch/mm/tlb.h>
    4243#include <arch/mm/mmu.h>
     
    6061.macro FAST_DATA_ACCESS_MMU_MISS_HANDLER
    6162        /*
    62          * First, test if it is the portion of the kernel address space
     63         * First, try to refill TLB from TSB.
     64         */
     65        ! TODO
     66
     67        /*
     68         * Second, test if it is the portion of the kernel address space
    6369         * which is faulting. If that is the case, immediately create
    6470         * identity mapping for that page in DTLB. VPN 0 is excluded from
     
    6773         * Note that branch-delay slots are used in order to save space.
    6874         */
     750:
    6976        mov VA_DMMU_TAG_ACCESS, %g1
    7077        ldxa [%g1] ASI_DMMU, %g1                        ! read the faulting Context and VPN
     
    7582        bz 0f                                           ! page address is zero
    7683
    77         /*
    78          * Create and insert the identity-mapped entry for
    79          * the faulting kernel page.
    80          */
    81        
    8284        or %g3, (TTE_CP|TTE_P|TTE_W), %g2               ! 8K pages are the default (encoded as 0)
    8385        set 1, %g3
     
    8789        retry
    8890
     91        /*
     92         * Third, catch and handle special cases when the trap is caused by
     93         * some register window trap handler.
     94         */
    89950:
    90         save %sp, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp                                             
     96        ! TODO
     97
     980:
     99        wrpr %g0, PSTATE_PRIV_BIT | PSTATE_AG_BIT, %pstate
    91100        PREEMPTIBLE_HANDLER fast_data_access_mmu_miss
    92101.endm
Note: See TracChangeset for help on using the changeset viewer.