Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 1 | |
Randall Spangler | 3003c1d | 2010-05-27 09:20:11 -0700 | [diff] [blame] | 2 | #include "cgptlib.h" |
Randall Spangler | 7202eae | 2010-06-08 11:02:17 -0700 | [diff] [blame] | 3 | #include "load_firmware_fw.h" |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 4 | #include "load_kernel_fw.h" |
| 5 | #include "rollback_index.h" |
| 6 | #include "tlcl.h" |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 7 | #include "vboot_common.h" |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 8 | #include "vboot_kernel.h" |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 9 | |
| 10 | int main(void) |
| 11 | { |
Luigi Semenzato | 52a8d2d | 2010-05-28 10:34:31 -0700 | [diff] [blame] | 12 | uint16_t x, y; |
| 13 | |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 14 | /* cgptlib.h */ |
Randall Spangler | 3003c1d | 2010-05-27 09:20:11 -0700 | [diff] [blame] | 15 | GptInit(0); |
| 16 | GptNextKernelEntry(0, 0, 0); |
| 17 | GptUpdateKernelEntry(0, 0); |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 18 | |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 19 | /* load_firmware_fw.h */ |
Randall Spangler | d471f2a | 2010-06-16 12:05:10 -0700 | [diff] [blame] | 20 | UpdateFirmwareBodyHash(0, 0, 0); |
Randall Spangler | 7202eae | 2010-06-08 11:02:17 -0700 | [diff] [blame] | 21 | LoadFirmware(0); |
| 22 | |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 23 | /* load_kernel_fw.h */ |
Randall Spangler | 0ff6fea | 2010-05-27 18:36:02 -0700 | [diff] [blame] | 24 | LoadKernel(0); |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 25 | |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 26 | /* rollback_index.h */ |
Luigi Semenzato | 2666f10 | 2010-06-15 08:12:32 -0700 | [diff] [blame] | 27 | SetupTPM(0, 0); |
Luigi Semenzato | 52a8d2d | 2010-05-28 10:34:31 -0700 | [diff] [blame] | 28 | GetStoredVersions(0, &x, &y); |
| 29 | WriteStoredVersions(0, 0, 0); |
Luigi Semenzato | ded1cec | 2010-05-27 15:19:58 -0700 | [diff] [blame] | 30 | LockFirmwareVersions(); |
| 31 | LockKernelVersionsByLockingPP(); |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 32 | |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 33 | /* tlcl.h */ |
Luigi Semenzato | 59204c5 | 2010-06-09 13:37:15 -0700 | [diff] [blame] | 34 | TlclLibInit(); |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 35 | TlclStartup(); |
| 36 | TlclSelftestfull(); |
Luigi Semenzato | 59204c5 | 2010-06-09 13:37:15 -0700 | [diff] [blame] | 37 | TlclContinueSelfTest(); |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 38 | TlclDefineSpace(0, 0, 0); |
| 39 | TlclWrite(0, 0, 0); |
| 40 | TlclRead(0, 0, 0); |
| 41 | TlclWriteLock(0); |
| 42 | TlclReadLock(0); |
| 43 | TlclAssertPhysicalPresence(); |
| 44 | TlclSetNvLocked(); |
| 45 | TlclIsOwned(); |
| 46 | TlclForceClear(); |
Luigi Semenzato | ded1cec | 2010-05-27 15:19:58 -0700 | [diff] [blame] | 47 | TlclSetEnable(); |
| 48 | TlclSetDeactivated(0); |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 49 | TlclGetFlags(0, 0); |
| 50 | |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 51 | /* vboot_common.h */ |
| 52 | OffsetOf(0, 0); |
| 53 | GetPublicKeyData(0); |
| 54 | GetPublicKeyDataC(0); |
| 55 | GetSignatureData(0); |
| 56 | GetSignatureDataC(0); |
| 57 | VerifyMemberInside(0, 0, 0, 0, 0, 0); |
| 58 | VerifyPublicKeyInside(0, 0, 0); |
| 59 | VerifySignatureInside(0, 0, 0); |
Randall Spangler | a55e5ca | 2010-06-15 18:45:09 -0700 | [diff] [blame] | 60 | PublicKeyInit(0, 0, 0); |
| 61 | PublicKeyCopy(0, 0); |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 62 | PublicKeyToRSA(0); |
| 63 | VerifyData(0, 0, 0); |
Randall Spangler | 39ed88e | 2010-06-15 14:53:01 -0700 | [diff] [blame] | 64 | VerifyDigest(0, 0, 0); |
Randall Spangler | 729b872 | 2010-06-11 11:16:20 -0700 | [diff] [blame] | 65 | KeyBlockVerify(0, 0, 0); |
Randall Spangler | d183644 | 2010-06-10 09:59:04 -0700 | [diff] [blame] | 66 | VerifyFirmwarePreamble2(0, 0, 0); |
| 67 | VerifyKernelPreamble2(0, 0, 0); |
| 68 | |
Bill Richardson | 0b8f35c | 2010-05-26 09:18:38 -0700 | [diff] [blame] | 69 | return 0; |
| 70 | } |