mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-02 13:44:00 +00:00
Previously append_seed_arg() just do fill in seed arg to dest cmd buffer, so rename the api name to fill_seed_arg(). Since fill_seed_arg() will be called in SOS VM path only, the param of bool vm_is_sos is not needed and will be replaced by dest buffer size. The seed_args[] which used by fill_seed_arg() is pre-defined as all-zero, so memset() is not needed in fill_seed_arg(), buffer pointer check and strncpy_s() are not needed also. Tracked-On: #4885 Signed-off-by: Victor Sun <victor.sun@intel.com> Reviewed-by: Yin Fengwei <fengwei.yin@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
39 lines
876 B
C
39 lines
876 B
C
/*
|
|
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef SEED_H_
|
|
#define SEED_H_
|
|
|
|
#define BOOTLOADER_SEED_MAX_ENTRIES 10U
|
|
#define BUP_MKHI_BOOTLOADER_SEED_LEN 64U
|
|
#define MAX_SEED_ARG_SIZE 1024U
|
|
|
|
/* Structure of seed info */
|
|
struct seed_info {
|
|
uint8_t cse_svn;
|
|
uint8_t bios_svn;
|
|
uint8_t padding[2];
|
|
uint8_t seed[BUP_MKHI_BOOTLOADER_SEED_LEN];
|
|
};
|
|
|
|
/* Structure of physical seed */
|
|
struct physical_seed {
|
|
struct seed_info seed_list[BOOTLOADER_SEED_MAX_ENTRIES];
|
|
uint32_t num_seeds;
|
|
uint32_t pad;
|
|
};
|
|
|
|
void init_seed(void);
|
|
|
|
void fill_seed_arg(char *cmd_dst, size_t cmd_sz);
|
|
|
|
bool derive_virtual_seed(struct seed_info *seed_list, uint32_t *num_seeds,
|
|
const uint8_t *salt, size_t salt_len, const uint8_t *info, size_t info_len);
|
|
|
|
bool derive_attkb_enc_key(uint8_t *out_key);
|
|
|
|
#endif /* SEED_H_ */
|