From 7ce49f8c3c2a93153c76dfbd8b82e94a73b5d054 Mon Sep 17 00:00:00 2001 From: Junjie Mao Date: Sat, 27 Aug 2022 00:56:43 +0800 Subject: [PATCH] config_tools: determine SSRAM_ENABLED automatically Today users are able to tweak whether the hypervisor includes support to software SRAM (SSRAM). This, however, gives rise to potential functional incorrectness when the hypervisor is not built with such support but a service VM attempts to assign SSRAM to a post-launched VM (which is possible as the service VM can still see the SSRAM-related ACPI tables). In such cases the SSRAM assigned to a post-launched VM is not properly initialized and thus not locked in cache. As makes little sense for a user to configure the SSRAM support in the hypervisor in a different way as the presence of SSRAM on hardware, this patch removes the "SSRAM support" option from the configurator. The config tools will now automatically enable the SSRAM support if the hardware supports the feature and disable that otherwise. Tracked-On: #8231 Signed-off-by: Junjie Mao --- .../packages/configurator/src/lib/acrn.ts | 22 +------- .../Config/ConfigForm/CustomWidget/CAT.vue | 36 +------------ .../scenario_config/elementpath_overlay.py | 52 ++++++++++++------- .../schema/checks/rdt_support.xsd | 17 +++--- misc/config_tools/xforms/config_common.xsl | 2 +- 5 files changed, 48 insertions(+), 81 deletions(-) diff --git a/misc/config_tools/configurator/packages/configurator/src/lib/acrn.ts b/misc/config_tools/configurator/packages/configurator/src/lib/acrn.ts index 0c2b650df..ea206b73c 100644 --- a/misc/config_tools/configurator/packages/configurator/src/lib/acrn.ts +++ b/misc/config_tools/configurator/packages/configurator/src/lib/acrn.ts @@ -92,7 +92,6 @@ class CAT { private CAT_REGION_INFO: any; private switches: { - SSRAM_ENABLED: boolean, RDT_ENABLED: boolean, CDP_ENABLED: boolean, VCAT_ENABLED: boolean @@ -141,7 +140,6 @@ class CAT { formDataProxy(name, data = null, update = false) { let path = { - 'SSRAM_ENABLED': 'FEATURES.SSRAM.SSRAM_ENABLED', 'RDT_ENABLED': 'FEATURES.RDT.RDT_ENABLED', 'CDP_ENABLED': 'FEATURES.RDT.CDP_ENABLED', 'VCAT_ENABLED': 'FEATURES.RDT.VCAT_ENABLED', @@ -165,27 +163,19 @@ class CAT { // if data is not empty, set value as expected and update CAT_INFO if (update) { switch (name) { - case 'SSRAM_ENABLED': - this.formDataProxy('RDT_ENABLED', 'n'); - this.formDataProxy('CDP_ENABLED', 'n'); - this.formDataProxy('VCAT_ENABLED', 'n'); - break; case 'RDT_ENABLED': - this.formDataProxy('SSRAM_ENABLED', 'n'); if (data === 'n') { this.formDataProxy('CDP_ENABLED', 'n'); this.formDataProxy('VCAT_ENABLED', 'n'); } break; case 'CDP_ENABLED': - this.formDataProxy('SSRAM_ENABLED', 'n'); if (data === 'y') { this.formDataProxy('RDT_ENABLED', 'y'); this.formDataProxy('VCAT_ENABLED', 'n'); } break; case 'VCAT_ENABLED': - this.formDataProxy('SSRAM_ENABLED', 'n'); if (data === 'y') { this.formDataProxy('RDT_ENABLED', 'y'); this.formDataProxy('CDP_ENABLED', 'n'); @@ -353,17 +343,7 @@ class CAT { } correctSwitches() { - if (this.switches.SSRAM_ENABLED) { - if (this.switches.RDT_ENABLED) { - this.switches.RDT_ENABLED = false - } - if (this.switches.CDP_ENABLED) { - this.switches.CDP_ENABLED = false - } - if (this.switches.VCAT_ENABLED) { - this.switches.VCAT_ENABLED = false - } - } else if (this.switches.RDT_ENABLED) { + if (this.switches.RDT_ENABLED) { if (this.switches.CDP_ENABLED) { if (this.switches.VCAT_ENABLED) { this.switches.VCAT_ENABLED = false diff --git a/misc/config_tools/configurator/packages/configurator/src/pages/Config/ConfigForm/CustomWidget/CAT.vue b/misc/config_tools/configurator/packages/configurator/src/pages/Config/ConfigForm/CustomWidget/CAT.vue index 1fe98320c..fc6ad2c75 100644 --- a/misc/config_tools/configurator/packages/configurator/src/pages/Config/ConfigForm/CustomWidget/CAT.vue +++ b/misc/config_tools/configurator/packages/configurator/src/pages/Config/ConfigForm/CustomWidget/CAT.vue @@ -2,24 +2,10 @@
Memory Isolation for Performance -
- - - - - - Software SRAM (for real-time apps) - -
Intel Resource Director Technology