1 <?xml version="1.0" encoding="UTF-8"?>
2 <uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="61bc7626-2231-11e1-b379-001f160c9c28">
3 <packagedElement xmi:type="uml:State" xmi:id="61bc7626-2231-11e1-b379-001f160c9c28_pe" name="openpts_fsm_model">
4 <region xmi:id="61bc7626-2231-11e1-b379-001f160c9c28_region" name="firmware">
5 <subvertex xmi:type="uml:Pseudostate" xmi:id="Start" name="Start"/>
6 <subvertex xmi:type="uml:FinalState" xmi:id="Final"/>
7 <subvertex xmi:type="uml:State" xmi:id="FSM_START" name="FSM_START">
8 <doActivity xmi:type="uml:Activity" xmi:id="FSM_START_do" name="resetPCR(1)"/>
10 <subvertex xmi:type="uml:State" xmi:id="EV_CPU_MICROCODE" name="EV_CPU_MICROCODE"/>
11 <subvertex xmi:type="uml:State" xmi:id="EV_EFI_HANDOFF_TABLE" name="EV_EFI_HANDOFF_TABLE"/>
12 <subvertex xmi:type="uml:State" xmi:id="EV_EVENT_TAG" name="EV_EVENT_TAG">
13 <doActivity xmi:type="uml:Activity" xmi:id="EV_EVENT_TAG_do" name="addBIOSSpecificProperty()"/>
15 <subvertex xmi:type="uml:State" xmi:id="EV_ACTION" name="EV_ACTION">
16 <doActivity xmi:type="uml:Activity" xmi:id="EV_ACTION_do" name="addBIOSAction()"/>
18 <subvertex xmi:type="uml:State" xmi:id="EV_LENOVO" name="EV_LENOVO"/>
19 <subvertex xmi:type="uml:State" xmi:id="EV_SEPARATOR" name="EV_SEPARATOR">
20 <doActivity xmi:type="uml:Activity" xmi:id="EV_SEPARATOR_do" name="flashFSM()"/>
22 <subvertex xmi:type="uml:State" xmi:id="FSM_VERIFIED" name="FSM_VERIFIED">
23 <doActivity xmi:type="uml:Activity" xmi:id="FSM_VERIFIED_do" name="setAssertion(uefi.pcr.1.integrity,valid)"/>
25 <transition xmi:id="Start_to_FSM_START" name="Start_to_FSM_START" source="Start" target="FSM_START"/>
26 <transition xmi:id="FSM_START_to_EV_CPU_MICROCODE" name="FSM_START_to_EV_CPU_MICROCODE" source="FSM_START" target="EV_CPU_MICROCODE">
27 <ownedRule xmi:id="FSM_START_to_EV_CPU_MICROCODE_guard">
28 <specification xmi:type="uml:OpaqueExpression" xmi:id="FSM_START_to_EV_CPU_MICROCODE_spec">
29 <body>eventtype==0x09</body>
33 <transition xmi:id="EV_CPU_MICROCODE_to_EV_EFI_HANDOFF_TABLE" name="EV_CPU_MICROCODE_to_EV_EFI_HANDOFF_TABLE" source="EV_CPU_MICROCODE" target="EV_EFI_HANDOFF_TABLE">
34 <ownedRule xmi:id="EV_CPU_MICROCODE_to_EV_EFI_HANDOFF_TABLE_guard">
35 <specification xmi:type="uml:OpaqueExpression" xmi:id="EV_CPU_MICROCODE_to_EV_EFI_HANDOFF_TABLE_spec">
36 <body>eventtype==0x80000009</body>
40 <transition xmi:id="FSM_START_to_EV_EFI_HANDOFF_TABLE" name="FSM_START_to_EV_EFI_HANDOFF_TABLE" source="FSM_START" target="EV_EFI_HANDOFF_TABLE">
41 <ownedRule xmi:id="FSM_START_to_EV_EFI_HANDOFF_TABLE_guard">
42 <specification xmi:type="uml:OpaqueExpression" xmi:id="FSM_START_to_EV_EFI_HANDOFF_TABLE_spec">
43 <body>eventtype==0x80000009</body>
47 <transition xmi:id="EV_EFI_HANDOFF_TABLE_to_EV_SEPARATOR" name="EV_EFI_HANDOFF_TABLE_to_EV_SEPARATOR" source="EV_EFI_HANDOFF_TABLE" target="EV_SEPARATOR">
48 <ownedRule xmi:id="EV_EFI_HANDOFF_TABLE_to_EV_SEPARATOR_guard">
49 <specification xmi:type="uml:OpaqueExpression" xmi:id="EV_EFI_HANDOFF_TABLE_to_EV_SEPARATOR_spec">
50 <body>eventtype==0x04</body>
54 <transition xmi:id="EV_EFI_HANDOFF_TABLE_to_EV_EVENT_TAG" name="EV_EFI_HANDOFF_TABLE_to_EV_EVENT_TAG" source="EV_EFI_HANDOFF_TABLE" target="EV_EVENT_TAG">
55 <ownedRule xmi:id="EV_EFI_HANDOFF_TABLE_to_EV_EVENT_TAG_guard">
56 <specification xmi:type="uml:OpaqueExpression" xmi:id="EV_EFI_HANDOFF_TABLE_to_EV_EVENT_TAG_spec">
57 <body>eventtype==0x06</body>
61 <transition xmi:id="EV_EVENT_TAG_to_EV_ACTION" name="EV_EVENT_TAG_to_EV_ACTION" source="EV_EVENT_TAG" target="EV_ACTION">
62 <ownedRule xmi:id="EV_EVENT_TAG_to_EV_ACTION_guard">
63 <specification xmi:type="uml:OpaqueExpression" xmi:id="EV_EVENT_TAG_to_EV_ACTION_spec">
64 <body>eventtype==0x05</body>
68 <transition xmi:id="EV_ACTION_to_EV_LENOVO" name="EV_ACTION_to_EV_LENOVO" source="EV_ACTION" target="EV_LENOVO">
69 <ownedRule xmi:id="EV_ACTION_to_EV_LENOVO_guard">
70 <specification xmi:type="uml:OpaqueExpression" xmi:id="EV_ACTION_to_EV_LENOVO_spec">
71 <body>eventtype==0xFFFFFF50</body>
75 <transition xmi:id="EV_LENOVO_to_EV_SEPARATOR" name="EV_LENOVO_to_EV_SEPARATOR" source="EV_LENOVO" target="EV_SEPARATOR">
76 <ownedRule xmi:id="EV_LENOVO_to_EV_SEPARATOR_guard">
77 <specification xmi:type="uml:OpaqueExpression" xmi:id="EV_LENOVO_to_EV_SEPARATOR_spec">
78 <body>eventtype==0x04</body>
82 <transition xmi:id="EV_SEPARATOR_to_FSM_VERIFIED" name="EV_SEPARATOR_to_FSM_VERIFIED" source="EV_SEPARATOR" target="FSM_VERIFIED"/>
83 <transition xmi:id="FSM_VERIFIED_to_Final" name="FSM_VERIFIED_to_Final" source="FSM_VERIFIED" target="Final"/>