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

Subversion Repositories potato

[/] [potato/] [trunk/] [riscv-tests/] [scall.S] - Diff between revs 51 and 58

Show entire file | Details | Blame | View Log

Rev 51 Rev 58
?rev1line?
?rev2line?
 
# See LICENSE for license details.
 
 
 
#*****************************************************************************
 
# scall.S
 
#-----------------------------------------------------------------------------
 
#
 
# Test syscall trap.
 
#
 
 
 
#include "riscv_test.h"
 
#include "test_macros.h"
 
 
 
RVTEST_RV32M
 
RVTEST_CODE_BEGIN
 
 
 
#define sscratch mscratch
 
#define sstatus mstatus
 
#define scause mcause
 
#define sepc mepc
 
#define stvec_handler mtvec_handler
 
 
 
#undef CAUSE_SUPERVISOR_ECALL
 
#define CAUSE_SUPERVISOR_ECALL CAUSE_MACHINE_ECALL
 
 
 
  li TESTNUM, 2
 
  scall
 
  j fail
 
 
 
  j pass
 
 
 
  TEST_PASSFAIL
 
 
 
stvec_handler:
 
  li t1, CAUSE_SUPERVISOR_ECALL
 
  csrr t0, scause
 
  bne t0, t1, fail
 
  csrr t0, sepc
 
  addi t0, t0, 8
 
  csrw sepc, t0
 
  sret
 
 
 
RVTEST_CODE_END
 
 
 
  .data
 
RVTEST_DATA_BEGIN
 
 
 
  TEST_DATA
 
 
 
RVTEST_DATA_END

powered by: WebSVN 2.1.0

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