Rev 3202 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3202 | Rev 3218 | ||
|---|---|---|---|
| Line 29... | Line 29... | ||
| 29 | .text |
29 | .text |
| 30 | .globl program_run |
30 | .globl program_run |
| 31 | 31 | ||
| 32 | ## void program_run(void *entry_point, void *pcb); |
32 | ## void program_run(void *entry_point, void *pcb); |
| 33 | # |
33 | # |
| 34 | # in0 contains entry_point |
34 | # in0 (r32) contains entry_point |
| 35 | # in1 contains pcb |
35 | # in1 (r33) contains pcb |
| 36 | # |
36 | # |
| 37 | # Jump to a program entry point |
37 | # Jump to a program entry point |
| 38 | program_run: |
38 | program_run: |
| 39 | # Pass pcb to the entry point in r2 |
39 | # Pass pcb to the entry point in r2 |
| 40 | alloc loc0 = ar.pfs, 2, 1, 1, 0 ;; |
- | |
| 41 | 40 | ||
| 42 | mov out0 = in1 |
41 | mov b6 = r32 |
| 43 | mov b6 = in0 ;; |
42 | mov r2 = r33 ;; |
| 44 | br b6 ;; |
43 | br b6 ;; |