test/smp/machine.ras 995 B raw
1
//! Start all initialized harts after the fixture publishes its shared domains.
2
.text;
3
    call @kernel::boot::initialize;
4
    call @kernel::dispatchcheck::start;
5
    call @kernel::boot::run;
6
    ebreak;
7
.export @kernel::dispatchcheck::memory;
8
.export @kernel::dispatchcheck::kernelGp;
9
.export @kernel::dispatchcheck::completion;
10
.export @kernel::dispatchcheck::finish;
11
.export @kernel::dispatchcheck::put;
12
.export @kernel::dispatchcheck::uartInterrupt;
13
@kernel::dispatchcheck::memory
14
    ret;
15
@kernel::dispatchcheck::kernelGp
16
    mv %a0 %gp;
17
    ret;
18
@kernel::dispatchcheck::completion
19
    la %a0 @complete;
20
    ret;
21
@complete
22
    call @kernel::dispatchcheck::verify;
23
    ebreak;
24
@kernel::dispatchcheck::put
25
    li %t0 0x10000000;
26
    sb %a0 0(%t0);
27
    ret;
28
@kernel::dispatchcheck::uartInterrupt
29
    li %t0 0x10000000;
30
    fence iorw iorw;
31
    sb %a0 1(%t0);
32
    fence iorw iorw;
33
    ret;
34
@kernel::dispatchcheck::finish
35
    li %t0 0x10001000;
36
    li %t1 0x5555;
37
    sw %t1 0(%t0);
38
    ebreak;