mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-20 12:42:54 +00:00
The DMAR info is board specific so move the structure definition to board.c. As a configruation file, the whole board.c could be generated by acrn-config tool for each board. Please note we only provide DMAR info MACROs for nuc7i7dnb board. For other boards, ACPI_PARSE_ENABLED must be set to y in Kconfig to let hypervisor parse DMAR info, or use acrn-config tool to generate DMAR info MACROs if user won't enable ACPI parse code for FuSa consideration. The patch also moves the function of get_dmar_info() to vtd.c, so dmar_info.c could be removed. Tracked-On: #3977 Signed-off-by: Victor Sun <victor.sun@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
40 lines
851 B
C
40 lines
851 B
C
/*
|
|
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <board.h>
|
|
#include <msr.h>
|
|
#include <vtd.h>
|
|
|
|
#ifndef CONFIG_ACPI_PARSE_ENABLED
|
|
#error "DMAR info is not available, please set ACPI_PARSE_ENABLED to y in Kconfig. \
|
|
Or use acrn-config tool to generate platform DMAR info."
|
|
#endif
|
|
|
|
struct dmar_info plat_dmar_info;
|
|
|
|
struct platform_clos_info platform_clos_array[4] = {
|
|
{
|
|
.clos_mask = 0xff,
|
|
.msr_index = MSR_IA32_L2_MASK_0,
|
|
},
|
|
{
|
|
.clos_mask = 0xff,
|
|
.msr_index = MSR_IA32_L2_MASK_1,
|
|
},
|
|
{
|
|
.clos_mask = 0xff,
|
|
.msr_index = MSR_IA32_L2_MASK_2,
|
|
},
|
|
{
|
|
.clos_mask = 0xff,
|
|
.msr_index = MSR_IA32_L2_MASK_3,
|
|
},
|
|
};
|
|
|
|
uint16_t platform_clos_num = (uint16_t)(sizeof(platform_clos_array)/sizeof(struct platform_clos_info));
|
|
|
|
const struct cpu_state_table board_cpu_state_tbl;
|