config_tools: support vUART Timer pCPU configuration

This patch is to allow user to pin vUART timer to specific pCPU via ACRN
config tool. User can configure by setting "vUART timer pCPU ID" under
Hypervisor->Advanced Parameters.

Tracked-On: #8648
Signed-off-by: Haiwei Li <haiwei.li@intel.com>
This commit is contained in:
Haiwei Li
2024-07-04 17:14:13 +08:00
committed by acrnsi-robot
parent f47b2b6860
commit 529ade37a4
7 changed files with 34 additions and 6 deletions

File diff suppressed because one or more lines are too long

View File

@@ -53,4 +53,11 @@
</xs:annotation>
</xs:assert>
<xs:assert test="every $pcpu in /acrn-config/vm[lapic_passthrough = 'y']//cpu_affinity//pcpu_id satisfies
count(/acrn-config[.//VUART_TIMER_PCPU=$pcpu]) = 0">
<xs:annotation acrn:severity="warning" acrn:report-on="//VUART_TIMER_PCPU">
<xs:documentation>Physical CPU "{//VUART_TIMER_PCPU}" hosting vUART timer is assigned to a lapic passthrough VM. The console may be laggy.</xs:documentation>
</xs:annotation>
</xs:assert>
</xs:schema>

View File

@@ -154,6 +154,16 @@ If your VM is not a security VM, leave this option unchecked. </xs:documentation
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VUART_TIMER_PCPU" type="xs:integer" default="0">
<xs:annotation acrn:title="vUART timer pCPU ID" acrn:views="advanced"
acrn:options="//processors//thread/cpu_id/text()"
acrn:option-names="if (count(distinct-values(//processors//thread/core_type)) &gt; 1)
then (for $thread in //processors//thread return concat($thread/cpu_id, ' (', if ($thread/core_type = 'Core') then 'P-Core' else 'E-Core', ')'))
else //processors//thread/cpu_id/text()"
acrn:options-sorted-by="int">
<xs:documentation>pCPU ID of the vUART timer is allowed to pin to.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RDT" type="RDTType">
<xs:annotation acrn:title="Intel Resource Director Tech" acrn:views="">
<xs:documentation>Intel Resource Director Technology (RDT) provides cache and memory bandwidth allocation features. The features can be used to improve an application's real-time performance.</xs:documentation>

View File

@@ -166,6 +166,10 @@
<xsl:call-template name="integer-by-key">
<xsl:with-param name="key" select="'VUART_TX_BUF_SIZE'" />
</xsl:call-template>
<xsl:call-template name="integer-by-key">
<xsl:with-param name="key" select="'VUART_TIMER_PCPU'" />
</xsl:call-template>
</xsl:template>
<xsl:template match="MEMORY">