[openfirmware] [commit] r2077 - cpu/arm
repository service
svn at openfirmware.info
Fri Dec 10 23:08:41 CET 2010
Author: wmb
Date: Fri Dec 10 23:08:41 2010
New Revision: 2077
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2077
Log:
ARM - support WFI and related instructions in the ARM assembler and disassembler.
Modified:
cpu/arm/assem.fth
cpu/arm/disassem.fth
Modified: cpu/arm/assem.fth
==============================================================================
--- cpu/arm/assem.fth Thu Dec 9 06:30:02 2010 (r2076)
+++ cpu/arm/assem.fth Fri Dec 10 23:08:41 2010 (r2077)
@@ -990,6 +990,12 @@
: adr ( -- ) true (set) ;
: set ( -- ) false (set) ;
+: nop32 ( -- ) h# 0320f000 {cond} !op ;
+: yield ( -- ) h# 0320f001 {cond} !op ;
+: wfe ( -- ) h# 0320f002 {cond} !op ;
+: wfi ( -- ) h# 0320f003 {cond} !op ;
+: sev ( -- ) h# 0320f004 {cond} !op ;
+
: nop ( -- ) h# e1a00000 asm, ; \ mov r0,r0
: # ( -- adt-immed ) adt-immed ;
Modified: cpu/arm/disassem.fth
==============================================================================
--- cpu/arm/disassem.fth Thu Dec 9 06:30:02 2010 (r2076)
+++ cpu/arm/disassem.fth Fri Dec 10 23:08:41 2010 (r2077)
@@ -141,8 +141,25 @@
4 0 do dup 1 and if over i + c@ emit then 2/ loop
2drop
;
+: .event ( -- )
+ 0 3 bits case
+ 0 of ." nop32" endof
+ 1 of ." yield" endof
+ 2 of ." wfe" endof
+ 3 of ." wfi" endof
+ 4 of ." sev" endof
+ 5 of ." nop5" endof
+ 6 of ." nop6" endof
+ 7 of ." nop7" endof
+ endcase
+ {<cond>}
+;
: .mrs/sr ( -- )
d#21 bit? if \ MSR
+ instruction @ h# 00cf.fff8 and h# 00000.f000 = if
+ .event
+ exit
+ then
." msr" {<cond>}
op-col .psr .fields ., .r/imm
else \ MRS
More information about the openfirmware
mailing list