mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-01 13:14:02 +00:00
When CAT is supported, UOS can setup acrn_vm_config.clos, to use CAT feature. Eg., struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { { .guest_flags |= CLOS_REQUIRED, .clos = 1, }, }; sanitize_vm_config() will check if CAT is supported and vm_configs.clos is valid. Tracked-On: #2462 Signed-off-by: Tao Yuhong <yuhong.tao@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
30 lines
715 B
C
30 lines
715 B
C
/*
|
|
* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef CAT_H
|
|
#define CAT_H
|
|
|
|
/* The intel Resource Director Tech(RDT) based Cache Allocation Tech support */
|
|
struct cat_hw_info {
|
|
bool support; /* If L2/L3 CAT supported */
|
|
bool enabled; /* If any VM setup CLOS */
|
|
uint32_t bitmask; /* Used by other entities */
|
|
uint16_t cbm_len; /* Length of Cache mask in bits */
|
|
uint16_t clos_max; /* Maximum CLOS supported, the number of cache masks */
|
|
|
|
uint32_t res_id;
|
|
};
|
|
|
|
extern struct cat_hw_info cat_cap_info;
|
|
void setup_clos(uint16_t pcpu_id);
|
|
|
|
#define CAT_RESID_L3 1U
|
|
#define CAT_RESID_L2 2U
|
|
|
|
int32_t init_cat_cap_info(void);
|
|
|
|
#endif /* CAT_H */
|