acrn-hypervisor/hypervisor/include/arch/x86/seed.h
Qi Yadong 95d1e40283 hv: refactor seed management
New component to maintain seed retrieval and derivation: seed.

1. Retrieve seed from bootloader in Hypervisor's boot stage.
2. Derive virtual seed for Guest/Trusty if need.

Tracked-On: #2724
Signed-off-by: Qi Yadong <yadong.qi@intel.com>
Reviewed-by: Zhu Bing <bing.zhu@intel.com>
2019-03-14 10:38:17 +08:00

26 lines
569 B
C

/*
* Copyright (C) 2019 Intel Corporation. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef SEED_H_
#define SEED_H_
struct physical_seed {
struct seed_info seed_list[BOOTLOADER_SEED_MAX_ENTRIES];
uint32_t num_seeds;
uint32_t pad;
};
void init_seed(void);
void append_seed_arg(char *cmd_dst, bool vm_is_sos);
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_ */