Changeset 008029d in mainline


Ignore:
Timestamp:
2006-02-21T23:36:37Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f5df72d
Parents:
c2942d8
Message:

sparc64 work.
Add initial TLB miss handlers.

Location:
arch/sparc64
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • arch/sparc64/include/atomic.h

    rc2942d8 r008029d  
    5454                "casx %0, %1, %2\n"
    5555                "cmp %1, %2\n"
    56                 "bne 0b\n"
     56                "bne 0b\n"              /* The operation failed and must be attempted again if a != b. */
    5757                "nop\n"
    5858                : "=m" (*((__u64 *)x)), "=r" (a), "=r" (b)
  • arch/sparc64/include/mm/tlb.h

    rc2942d8 r008029d  
    269269}
    270270
     271extern void fast_instruction_access_mmu_miss(void);
     272extern void fast_data_access_mmu_miss(void);
     273extern void fast_data_access_protection(void);
     274
    271275#endif
  • arch/sparc64/src/mm/tlb.c

    rc2942d8 r008029d  
    3737#include <config.h>
    3838#include <arch/trap/trap.h>
     39#include <panic.h>
    3940
    4041/** Initialize ITLB and DTLB.
     
    9899}
    99100
     101/** ITLB miss handler. */
     102void fast_instruction_access_mmu_miss(void)
     103{
     104        panic("%s\n", __FUNCTION__);
     105}
     106
     107/** DTLB miss handler. */
     108void fast_data_access_mmu_miss(void)
     109{
     110        panic("%s\n", __FUNCTION__);
     111}
     112
     113/** DTLB protection fault handler. */
     114void fast_data_access_protection(void)
     115{
     116        panic("%s\n", __FUNCTION__);
     117}
     118
    100119/** Print contents of both TLBs. */
    101120void tlb_print(void)
  • arch/sparc64/src/trap/trap_table.S

    rc2942d8 r008029d  
    5050#include <arch/trap/interrupt.h>
    5151#include <arch/trap/exception.h>
     52#include <arch/trap/mmu.h>
    5253#include <arch/stack.h>
    5354
     
    176177        INTERRUPT_VECTOR_TRAP_HANDLER
    177178
     179/* TT = 0x64, TL = 0, fast_instruction_access_MMU_miss */
     180.org trap_table + TT_FAST_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE
     181.global fast_instruction_access_mmu_miss_handler
     182fast_instruction_access_mmu_miss_handler:
     183        FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
     184
     185/* TT = 0x68, TL = 0, fast_data_access_MMU_miss */
     186.org trap_table + TT_FAST_DATA_ACCESS_MMU_MISS*ENTRY_SIZE
     187.global fast_data_access_mmu_miss_handler
     188fast_data_access_mmu_miss_handler:
     189        FAST_DATA_ACCESS_MMU_MISS_HANDLER
     190
     191/* TT = 0x6c, TL = 0, fast_data_access_protection */
     192.org trap_table + TT_FAST_DATA_ACCESS_PROTECTION*ENTRY_SIZE
     193.global fast_data_access_protection_handler
     194fast_data_access_protection_handler:
     195        FAST_DATA_ACCESS_PROTECTION_HANDLER
     196
    178197/* TT = 0x80, TL = 0, spill_0_normal handler */
    179198.org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE
     
    209228mem_address_not_aligned_high:
    210229        SIMPLE_HANDLER do_mem_address_not_aligned
     230
     231/* TT = 0x64, TL > 0, fast_instruction_access_MMU_miss */
     232.org trap_table + (TT_FAST_INSTRUCTION_ACCESS_MMU_MISS+512)*ENTRY_SIZE
     233.global fast_instruction_access_mmu_miss_handler_high
     234fast_instruction_access_mmu_miss_handler_high:
     235        FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
     236
     237/* TT = 0x68, TL > 0, fast_data_access_MMU_miss */
     238.org trap_table + (TT_FAST_DATA_ACCESS_MMU_MISS+512)*ENTRY_SIZE
     239.global fast_data_access_mmu_miss_handler_high
     240fast_data_access_mmu_miss_handler_high:
     241        FAST_DATA_ACCESS_MMU_MISS_HANDLER
     242
     243/* TT = 0x6c, TL > 0, fast_data_access_protection */
     244.org trap_table + (TT_FAST_DATA_ACCESS_PROTECTION+512)*ENTRY_SIZE
     245.global fast_data_access_protection_handler_high
     246fast_data_access_protection_handler_high:
     247        FAST_DATA_ACCESS_PROTECTION_HANDLER
    211248
    212249/* TT = 0x80, TL > 0, spill_0_normal handler */
Note: See TracChangeset for help on using the changeset viewer.