diff options
author | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2010-08-03 20:48:02 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2010-08-03 20:48:02 -0700 |
commit | b93785370d0be893e0a484ec22f1365db184dcce (patch) | |
tree | 4d2feed338dad348f69213bc655d7f49feadb2d0 | |
parent | 8b9b445a198d40e7076ca88c5aa742cd3dc72bd4 (diff) | |
download | pk-b93785370d0be893e0a484ec22f1365db184dcce.zip pk-b93785370d0be893e0a484ec22f1365db184dcce.tar.gz pk-b93785370d0be893e0a484ec22f1365db184dcce.tar.bz2 |
[pk,sim,xcc] Renamed instructions to RISC-V spec
All word-sized arithmetic operations are now postfixed with 'w',
and all double-word-sized arithmetic operations are no longer
prefixed with 'd'. mtc0/mfc0 are removed and replaced with
mfpcr/mtpcr/mwfpcr/mwtpcr.
-rw-r--r-- | boot.S | 10 | ||||
-rw-r--r-- | cop0.h | 11 | ||||
-rw-r--r-- | entry.S | 10 | ||||
-rw-r--r-- | frontend.c | 6 | ||||
-rw-r--r-- | pcr.h | 11 |
5 files changed, 24 insertions, 24 deletions
@@ -5,17 +5,17 @@ __start: # set up SR li $t0, 0xFF - dmtc0 $t0, $0 + mtpcr $t0, $0 # set up trap table - dla $t0, trap_table - dmtc0 $t0, $3 + la $t0, trap_table + mtpcr $t0, $3 # set up stack - dla $sp,stack_top-64 + la $sp,stack_top-64 # call into kernel - dla $t0, boot + la $t0, boot jr $t0 .end __start @@ -1,11 +0,0 @@ -#ifndef _RISCV_COP0_H -#define _RISCV_COP0_H - -#define dmtc0(val,reg) ({ long __tmp = (long)(val); \ - asm volatile ("dmtc0 %0,$%1"::"r"(__tmp),"i"(reg)); }) - -#define dmfc0(reg) ({ long __tmp; \ - asm volatile ("dmfc0 %0,$%1" : "=r"(__tmp) : "i"(reg)); \ - __tmp; }) - -#endif @@ -32,11 +32,11 @@ save_tf: # write the trap frame onto the stack sd $30,240($k1) sd $k0,248($k1) # $ra is actually in $k0 # get sr, epc, badvaddr - dmfc0 $t0,$0 # sr + mfpcr $t0,$0 # sr sd $t0,256($k1) - dmfc0 $t0,$1 # epc + mfpcr $t0,$1 # epc sd $t0,264($k1) - dmfc0 $t0,$2 # badvaddr + mfpcr $t0,$2 # badvaddr sd $t0,272($k1) jr $ra @@ -77,7 +77,7 @@ pop_tf: # write the trap frame onto the stack # gtfo! ld $k0,264($k0) - dmtc0 $k0,$1 + mtpcr $k0,$1 eret @@ -85,7 +85,7 @@ pop_tf: # write the trap frame onto the stack #define TRAP_TABLE_ENTRY(x) \ .align 7; \ move $k0,$ra; \ - dla $k1,stack_top-320; \ + la $k1,stack_top-320; \ jal save_tf; \ move $sp,$k1; \ move $a0,$k1; \ @@ -1,7 +1,7 @@ #include "pk.h" #include "atomic.h" #include "frontend.h" -#include "cop0.h" +#include "pcr.h" sysret_t frontend_syscall(long n, long a0, long a1, long a2, long a3) { @@ -16,8 +16,8 @@ sysret_t frontend_syscall(long n, long a0, long a1, long a2, long a3) magic_mem[3] = a2; magic_mem[4] = a3; - dmtc0(magic_mem,16); - while(dmfc0(17) == 0); + mtpcr(magic_mem,16); + while(mfpcr(17) == 0); sysret_t ret = {magic_mem[0],magic_mem[1]}; @@ -0,0 +1,11 @@ +#ifndef _RISCV_COP0_H +#define _RISCV_COP0_H + +#define mtpcr(val,reg) ({ long __tmp = (long)(val); \ + asm volatile ("mtpcr %0,$%1"::"r"(__tmp),"i"(reg)); }) + +#define mfpcr(reg) ({ long __tmp; \ + asm volatile ("mfpcr %0,$%1" : "=r"(__tmp) : "i"(reg)); \ + __tmp; }) + +#endif |