acrn-config: Extract RDT resource and CLOS from target
xml file This patch adds support for parsing RDT resources and its max clos, max supported mask values from the target xml file. Tracked-On: #3715 Signed-off-by: Vijay Dhanraj <vijay.dhanraj@intel.com> Acked-by: Victor Sun <victor.sun@intel.com>
This commit is contained in:
parent
4a007cc3a9
commit
89a635438d
|
@ -220,7 +220,7 @@ def get_rootfs(config_file):
|
|||
|
||||
def clos_info_parser(board_info):
|
||||
""" Parse CLOS information """
|
||||
return common.get_max_clos(board_info)
|
||||
return common.get_max_clos_mask(board_info)
|
||||
|
||||
|
||||
def get_pre_launch_cnt(config_file):
|
||||
|
|
|
@ -8,6 +8,7 @@ import sys
|
|||
import getopt
|
||||
import shutil
|
||||
import subprocess
|
||||
import re
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
SOURCE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), '../../../')
|
||||
|
@ -592,25 +593,29 @@ def handle_root_dev(line):
|
|||
return False
|
||||
|
||||
|
||||
def get_max_clos(board_file):
|
||||
def get_max_clos_mask(board_file):
|
||||
"""
|
||||
Parse CLOS information
|
||||
:param board_file: it is a file what contains board information for script to read from
|
||||
:return: type of cache support for clos and clos max number
|
||||
:return: type of rdt resource supported and their corresponding clos max.
|
||||
"""
|
||||
rdt_res=[]
|
||||
rdt_res_clos_max=[]
|
||||
rdt_res_mask_max=[]
|
||||
|
||||
cache_support = False
|
||||
clos_max = 0
|
||||
clos_lines = get_board_info(board_file, "<CLOS_INFO>", "</CLOS_INFO>")
|
||||
for line in clos_lines:
|
||||
if line.split(':')[0].strip() == "rdt resources supported":
|
||||
rdt_res = line.split(':')[1].strip()
|
||||
elif line.split(':')[0].strip() == "rdt resource clos max":
|
||||
rdt_res_clos_max = line.split(':')[1].strip()
|
||||
elif line.split(':')[0].strip() == "rdt resource mask max":
|
||||
rdt_res_mask_max = line.split(':')[1].strip()
|
||||
|
||||
cat_lines = get_board_info(board_file, "<CLOS_INFO>", "</CLOS_INFO>")
|
||||
|
||||
for line in cat_lines:
|
||||
if line.split(':')[0].strip() == "clos supported by cache":
|
||||
cache_support = line.split(':')[1].strip()
|
||||
elif line.split(':')[0].strip() == "clos max":
|
||||
clos_max = int(line.split(':')[1])
|
||||
|
||||
return (cache_support, clos_max)
|
||||
if (len(rdt_res) == 0) or (len(rdt_res_clos_max) == 0):
|
||||
return rdt_res, rdt_res_clos_max, rdt_res_mask_max
|
||||
else:
|
||||
return list(re.split(', |\s |,', rdt_res)), list(map(int, rdt_res_clos_max.split(','))), list(re.split(', |\s |,', rdt_res_mask_max))
|
||||
|
||||
|
||||
def undline_name(name):
|
||||
|
|
Loading…
Reference in New Issue