File: user.ms

package info (click to toggle)
gdb-doc 16.3-1
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid, trixie
  • size: 244,264 kB
  • sloc: ansic: 2,134,731; asm: 375,582; exp: 206,875; cpp: 73,639; makefile: 70,232; sh: 26,038; python: 13,697; yacc: 11,341; ada: 7,358; xml: 6,098; perl: 5,077; pascal: 3,389; tcl: 2,986; f90: 2,764; lisp: 1,984; cs: 879; lex: 738; sed: 228; awk: 181; objc: 137; fortran: 57
file content (75 lines) | stat: -rw-r--r-- 1,312 bytes parent folder | download | duplicates (37)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# mach: crisv32
# output: 40\n40\n140\nabadefb0\n6543789c\n0\n0\n0\n0\n0\n0\n0\n0\n

; Check for protected operations being NOP in user mode, for the
; parts implemented in this simulator.

 .include "testutils.inc"
 start
 move 0,ccs
 move 0,usp
 move 0,pid
 move 0,srs
 move 0,ebp
 move 0,spc
 setf u

; Flag settings, besides what's tested in rfn.ms, rfe.ms and
; sfe.ms.
 setf i
 move ccs,r3
 dumpr3		; 0x40

 clearf u
 move ccs,r3
 dumpr3		; 0x40

 move 0xc0000300,ccs
 move ccs,r3
 dumpr3		; 0x140

; R14==USP
 move.d 0xabadefb0,r14
 nop
 nop
 nop
 move usp,r3
 dumpr3		; 0xabadefb0
 move 0x6543789c,usp
 nop
 nop
 nop
 move.d r14,r3
 dumpr3		; 0x6543789c

; We can't go back to kernel mode, so we can't check that R14 in
; kernel mode wasn't affected.

; Moves to protected special registers.
 .macro testsr reg,val=-1
 move \val,\reg
 ; Registers shorter than dword will not affect the rest of the
 ; general register when copied using a move insn.
 clear.d r3
; Three cycles are needed between move to protected register and
; read from it, to avoid reading undefined contents due to
; incomplete forwarding.
 nop
 nop
 move \reg,r3
 dumpr3
 moveq \val,r3
 move r3,\reg
 clear.d r3
 nop
 nop
 move \reg,r3
 dumpr3
 .endm

 testsr pid	; 0 0
 testsr srs,3	; 0 0
 testsr ebp	; 0 0
 testsr spc	; 0 0

 quit