File: launch.plantuml

package info (click to toggle)
tboot 1.10.5-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 6,000 kB
  • sloc: ansic: 56,029; python: 6,595; perl: 2,303; sh: 455; asm: 442; makefile: 377
file content (53 lines) | stat: -rw-r--r-- 1,079 bytes parent folder | download | duplicates (2)
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
@startuml Launch
start
:parse command line;
if (load SINIT) then (false)
    -[#red]->
    stop
endif
if (detect TPM) then (false)
    -[#red]->
    stop
endif
:check SE_SVN;
:read VLP;
if (platform TXT capable?) then (no)
    -[#red]->
    stop
endif
if (post-SINIT launch?) then (yes)
    :handle post-launch;
    if (S3 wakeup) then (yes)
        :verify integrity;
        :relinquish locality 2;
        :jump to kernel\nresume vecor;
        stop
    else (no)
        :protect memory;
        :verify modules against VLP;
        if (TPM1.2?) then (yes)
            :verify NV against VLP;
        else (no)
        endif
        :init MLE/kernel shared page;
        :relinquish locality 2;
        :launch kernel;
        stop
    endif
else (no)
    :prepare CPU;
    :relinquish locality 0;
    if (S3 wakeup) then (no)
            :build MLE pagetable;
        :configure VTd;
        :set loader to MLE struct;
        :set loader to SINIT struct;
    else (yes)
    endif
    :init event log;
    :save & set MTRRs;
    :call GETSEC[SENTER];
    stop
endif

@enduml