OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [sw/] [common/] [crt0.S] - Diff between revs 23 and 32

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 23 Rev 32
Line 45... Line 45...
_start:
_start:
.cfi_startproc
.cfi_startproc
.cfi_undefined ra
.cfi_undefined ra
 
 
// *********************************************************
// *********************************************************
// Clear register file
// Clear register file (lower half, assume E extension)
// Assume 'worst case': rv32e
 
// *********************************************************
// *********************************************************
__crt0_reg_file_clear:
__crt0_reg_file_clear:
//addi  x0,  x0, 0 // hardwired to zero
//addi  x0,  x0, 0 // hardwired to zero
  addi  x1,  x0, 0
  addi  x1,  x0, 0
  addi  x2,  x0, 0
  addi  x2,  x0, 0
Line 68... Line 67...
  addi x14,  x0, 0
  addi x14,  x0, 0
  addi x15,  x0, 0
  addi x15,  x0, 0
 
 
 
 
// *********************************************************
// *********************************************************
 
// Clear register file (upper half, if no E extension)
 
// *********************************************************
 
#ifndef __riscv_32e
 
// save some program space if compiling bootloader
 
#ifndef make_bootloader
 
  addi x16, x0, 0
 
  addi x17, x0, 0
 
  addi x18, x0, 0
 
  addi x19, x0, 0
 
  addi x20, x0, 0
 
  addi x21, x0, 0
 
  addi x22, x0, 0
 
  addi x23, x0, 0
 
  addi x24, x0, 0
 
  addi x25, x0, 0
 
  addi x26, x0, 0
 
  addi x27, x0, 0
 
  addi x28, x0, 0
 
  addi x29, x0, 0
 
  addi x30, x0, 0
 
  addi x31, x0, 0
 
#endif
 
#endif
 
 
 
 
 
// *********************************************************
// No interrupts, thanks
// No interrupts, thanks
// *********************************************************
// *********************************************************
__crt0_status_init:
__crt0_status_init:
  li x10, 0x00001800    // clear mstatus and set mpp(1:0)
  li x10, 0x00001800    // clear mstatus and set mpp(1:0)
  csrrw zero, mstatus, x10
  csrrw zero, mstatus, x10

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.