acrn-config: add passthru TPM for whl-ipc-i5/i7

Add support to generate passthru TPM information for whl-ipc-i5/i7.

Tracked-On: #5077
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
This commit is contained in:
Wei Liu 2020-07-24 10:46:12 +08:00 committed by wenlingz
parent e37f857453
commit 9305a8637c
3 changed files with 34 additions and 0 deletions

View File

@ -5,6 +5,7 @@
import common
import board_cfg_lib
import scenario_cfg_lib
MISC_CFG_HEADER = """#ifndef MISC_CFG_H
#define MISC_CFG_H"""
@ -238,6 +239,18 @@ def generate_file(config):
for cat_mask in cat_mask_list:
print("#define CLOS_MASK_{}\t\t\t{}U".format(idx, cat_mask), file=config)
idx += 1
print("", file=config)
vm0_pre_launch = False
common.get_vm_types()
for vm_idx,vm_type in common.VM_TYPES.items():
if vm_idx == 0 and scenario_cfg_lib.VM_DB[vm_type]['load_type'] == "PRE_LAUNCHED_VM":
vm0_pre_launch = True
if vm0_pre_launch and board_cfg_lib.is_tpm_passthru():
print("#define VM0_PASSTHROUGH_TPM", file=config)
print("#define VM0_TPM_BUFFER_BASE_ADDR 0xFED40000UL", file=config)
print("#define VM0_TPM_BUFFER_SIZE 0x5000UL", file=config)
print("", file=config)

View File

@ -32,6 +32,8 @@ KNOWN_HIDDEN_PDEVS_BOARD_DB = {
TSN_DEVS = ["8086:4b30", "8086:4b31", "8086:4b32", "8086:4ba0", "8086:4ba1", "8086:4ba2",
"8086:4bb0", "8086:4bb1", "8086:4bb2", "8086:a0ac", "8086:43ac", "8086:43a2"]
TPM_PASSTHRU_BOARD = ['whl-ipc-i5', 'whl-ipc-i7']
KNOWN_CAPS_PCI_DEVS_DB = {
"TSN":TSN_DEVS,
}
@ -557,3 +559,13 @@ def get_known_caps_pci_devs():
break
return known_caps_pci_devs
def is_tpm_passthru():
tpm_passthru = False
(_, board) = common.get_board_name()
if board in TPM_PASSTHRU_BOARD:
tpm_passthru = True
return tpm_passthru

View File

@ -344,6 +344,15 @@ def gen_pre_launch_vm(vm_type, vm_i, scenario_items, config):
print("\t\t.pci_dev_num = VM{}_CONFIG_PCI_DEV_NUM,".format(vm_i), file=config)
print("\t\t.pci_devs = vm{}_pci_devs,".format(vm_i), file=config)
if vm_i == 0 and board_cfg_lib.is_tpm_passthru():
print("#ifdef VM0_PASSTHROUGH_TPM", file=config)
print("\t\t.pt_tpm2 = true,", file=config)
print("\t\t.mmiodevs[0] = {", file=config)
print("\t\t\t.base_gpa = 0xFED40000UL,", file=config)
print("\t\t\t.base_hpa = VM0_TPM_BUFFER_BASE_ADDR,", file=config)
print("\t\t\t.size = VM0_TPM_BUFFER_SIZE,", file=config)
print("\t\t},", file=config)
print("#endif", file=config)
print("\t},", file=config)