summaryrefslogtreecommitdiff
path: root/vboot_firmware/linktest/main.c
blob: 99cdccdd0df94dd1b3b87ba61383b6983b7ec80b (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <stdio.h>

#include "cgptlib.h"
#include "firmware_image_fw.h"
#include "kernel_image_fw.h"
#include "load_firmware_fw.h"
#include "load_kernel_fw.h"
#include "rollback_index.h"
#include "tlcl.h"
#include "vboot_common.h"
#include "vboot_firmware.h"
#include "vboot_kernel.h"

int main(void)
{
  uint16_t x, y;

  /* cgptlib.h */
  GptInit(0);
  GptNextKernelEntry(0, 0, 0);
  GptUpdateKernelEntry(0, 0);

  /* firmware_image_fw.h */
  VerifyFirmwareHeader(0, 0, 0, 0);
  VerifyFirmwarePreamble(0, 0, 0, 0);
  VerifyFirmwareData(0, 0, 0, 0, 0);
  VerifyFirmware(0, 0, 0);
  GetLogicalFirmwareVersion(0);
  VerifyFirmwareDriver_f(0, 0, 0, 0, 0);

  /* kernel_image_fw.h */
  VerifyKernelKeyHeader(0, 0, 0, 0, 0, 0);
  VerifyKernelPreamble(0, 0, 0, 0);
  VerifyKernelData(0, 0, 0, 0, 0);
  VerifyKernelHeader(0, 0, 0, 0, 0, 0);
  VerifyKernel(0, 0, 0);
  GetLogicalKernelVersion(0);

  /* load_firmware_fw.h */
  UpdateFirmwareBodyHash(0, 0);
  LoadFirmware(0);

  /* load_kernel_fw.h */
  LoadKernel(0);

  /* rollback_index.h */
  SetupTPM();
  GetStoredVersions(0, &x, &y);
  WriteStoredVersions(0, 0, 0);
  LockFirmwareVersions();
  LockKernelVersionsByLockingPP();

  /* tlcl.h */
  TlclLibInit();
  TlclStartup();
  TlclSelftestfull();
  TlclContinueSelfTest();
  TlclDefineSpace(0, 0, 0);
  TlclWrite(0, 0, 0);
  TlclRead(0, 0, 0);
  TlclWriteLock(0);
  TlclReadLock(0);
  TlclAssertPhysicalPresence();
  TlclSetNvLocked();
  TlclIsOwned();
  TlclForceClear();
  TlclSetEnable();
  TlclSetDeactivated(0);
  TlclGetFlags(0, 0);

  /* vboot_common.h */
  OffsetOf(0, 0);
  GetPublicKeyData(0);
  GetPublicKeyDataC(0);
  GetSignatureData(0);
  GetSignatureDataC(0);
  VerifyMemberInside(0, 0, 0, 0, 0, 0);
  VerifyPublicKeyInside(0, 0, 0);
  VerifySignatureInside(0, 0, 0);
  PublicKeyToRSA(0);
  VerifyData(0, 0, 0);
  VerifyKeyBlock(0, 0, 0);
  VerifyFirmwarePreamble2(0, 0, 0);
  VerifyKernelPreamble2(0, 0, 0);

  /* vboot_kernel.h */
  LoadKernel2(0);

  /* vboot_firmware.h */
  UpdateFirmwareBodyHash2(0, 0);
  LoadFirmware2(0);

  return 0;
}