1description: >
2    Implement to indicate progress of ongoing boot.
3
4properties:
5    - name: BootProgress
6      type: enum[self.ProgressStages]
7      default: Unspecified
8      description: >
9          Current boot progress
10
11    - name: BootProgressLastUpdate
12      type: uint64
13      default: 0
14      description: >
15          BootProgressLastUpdate is the last time the BootProgress
16          property was updated. The time is the Epoch time, number
17          of microseconds since 1 Jan 1970 00::00::00 UTC.
18          This can be compared with the current BootProgress value
19          to know how long the boot has been on the current boot step.
20
21enumerations:
22    - name: ProgressStages
23      description: >
24          The boot progress stage
25      values:
26          - name: Unspecified
27            description: >
28                Unknown state.
29          - name: PrimaryProcInit
30            description: >
31                Primary Processor Initialization
32          - name: BusInit
33            description: >
34                Processor and Memory Bus Initialization
35          - name: MemoryInit
36            description: >
37                Memory Initialization
38          - name: SecondaryProcInit
39            description: >
40                Secondary Processor Initialization
41          - name: PCIInit
42            description: >
43                PCI resource initialization
44          - name: SystemInitComplete
45            description: >
46                System firmware completed booting
47          - name: OSStart
48            description: >
49                Starting Operating System.
50          - name: OSRunning
51            description: >
52                Operating System up and running
53          - name: SystemSetup
54            description: >
55                System firmware has entered a setup state
56          - name: MotherboardInit
57            description: >
58                Motherboard/Basebord Initialization.
59