[U-Boot] Is it necessary that uboot(mips) should read status register($12) before setting it
    RdrouterUboot Router 
    rdrouteruboot at gmail.com
       
    Wed Sep 28 11:09:05 CEST 2011
    
    
  
Hi all,
MIPS Uboot works OK.Part of the code is as below.
And my questions:
1.read status register($12) and save value to $10,but don't use the value in
$10 to do anything.
Because uboot overwrite $10.
2.Is it right?I can delete this code "mfc0 $10,$12" from uboot.
Thanks.
Bruce
# Initialize Misc. Cop0 state
    # Read status register
    mfc0    $10, $12  //Can I delete this code?
    # Set up Status register:
    # Disable Coprocessor Usable bits
    # Turn off Reduce Power bit
    # Turn off reverse endian
    # Turn off BEV (use normal exception vectors)
    # Clear TS, SR, NMI bits
    # Clear Interrupt masks
    # Clear User Mode
    # Clear ERL
    # Set EXL
    # Clear Interrupt Enable
    # modify by Bruce
    #li    $11, 0x0000ff02
    li    $11, 0x00000004
    mtc0    $11, $12
    # Disable watch exceptions
    mtc0    $0, $18
    # Clear Watch Status bits
    li    $11, 0x3
    mtc0    $11, $19
    # Clear WP bit to avoid watch exception upon user code entry
    # Clear IV bit - Interrupts go to general exception vector
    # Clear software interrupts
    mtc0    $0, $13
    # Set KSeg0 to cacheable
    # Config.K0
    mfc0    $10, $16    //Overwrite $10 register.Why uboot read status
register($12) and save value to $10,but don't use $10.
    li    $11, 0x7
    not    $11
    and    $10, $11
    or    $10, 0x3
    mtc0    $10, $16
    
    
More information about the U-Boot
mailing list