Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Unified Diff: board/tegra2/common/crypto/crypto.h

Issue 4841001: Tegra2: implement Warmboot code and lp0_vec (Closed) Base URL: http://git.chromium.org/git/u-boot-next.git@chromeos-v2010.09
Patch Set: Add GPL headers & fix some 80-column issues Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « board/tegra2/common/crypto/aes_ref.c ('k') | board/tegra2/common/crypto/crypto.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: board/tegra2/common/crypto/crypto.h
diff --git a/board/tegra2/common/crypto/crypto.h b/board/tegra2/common/crypto/crypto.h
new file mode 100755
index 0000000000000000000000000000000000000000..f34ecfea354e456d261ec96c7eb728ae084d0c2e
--- /dev/null
+++ b/board/tegra2/common/crypto/crypto.h
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2007 NVIDIA Corporation. All rights reserved.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+/*
+ * crypto.h - Definitions for the crypto support.
+ */
+
+#ifndef INCLUDED_CRYPTO_H
+#define INCLUDED_CRYPTO_H
+
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+
+/* Lengths, in bytes */
+#define KEY_LENGTH (128/8)
+
+#define ICEIL(a, b) (((a) + (b) - 1)/(b))
+
+#define AES_CMAC_CONST_RB 0x87 // from RFC 4493, Figure 2.2
+
+typedef enum
+{
+ security_mode_None = 0,
+ security_mode_Plaintext,
+ security_mode_Checksum,
+ security_mode_Encrypted,
+
+ security_mode_Max,
+ security_mode_Force32 = 0x7fffffff
+} security_mode;
+
+/* Function prototypes */
+NvBootError
+encrypt_and_sign_block(NvU8 *Key,
+ security_mode Security,
+ NvU8 *block_image,
+ NvU32 block_length,
+ NvU8 *signature);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* #ifndef INCLUDED_CRYPTO_H */
« no previous file with comments | « board/tegra2/common/crypto/aes_ref.c ('k') | board/tegra2/common/crypto/crypto.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698