Changeset 281


Ignore:
Timestamp:
Dec 8, 2012, 4:59:50 PM (11 years ago)
Author:
bouyer
Message:

Keep BEV bit set in STATUS register, and add an exception handler at
0xbfc0380. This handler just prints STATUS, CAUSE and EPC register and
stalls (does an infinite loop).

Location:
trunk/softs/tsar_boot
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/softs/tsar_boot/Makefile

    r276 r281  
    4242C_SRCS     += boot_tty.c
    4343C_SRCS     += boot_loader_entry.c
     44C_SRCS     += exceptions.c
    4445
    4546OBJS       := $(subst .s,.o,$(S_SRCS))
  • trunk/softs/tsar_boot/reset.S

    r276 r281  
    4242
    4343_boot:
    44     # Disable interruptions
     44    # Disable interruptions, keep STATUSbev enabled
    4545
    46     mtc0    $0,     $12
     46    la      $4,     (1 << 22)
     47    mtc0    $4,     $12
    4748
    4849    # computes proc_id, local_id, cluster_id, and cluster_increment
     
    124125    jr      $2
    125126
     127# exeption entry point
     128.org    0x0380
     129_exep:
     130    mfc0    $4, $12, 0  # first arg is status
     131    mfc0    $5, $13, 0  # second arg is cause
     132    mfc0    $6, $14, 0  # third argc is epc
     133    nop
     134    j       handle_exept
     135    nop
     136
    126137    .end    boot
    127138
Note: See TracChangeset for help on using the changeset viewer.