diff --git a/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue b/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue index 05942b1d4..d73ff55ea 100644 --- a/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue +++ b/misc/config_tools/configurator/packages/configurator/src/pages/Config.vue @@ -109,6 +109,7 @@ export default { }, mounted() { this.updateCurrentFormSchema() + window.getSchemaData = this.getSchemaData window.getCurrentFormSchemaData = this.getCurrentFormSchemaData window.getCurrentScenarioData = this.getCurrentScenarioData window.getBoardData = this.getBoardData @@ -187,6 +188,9 @@ export default { this.updateCurrentFormSchema() this.updateCurrentFormData() }, + getSchemaData() { + return this.schemas + }, getCurrentFormSchemaData() { return this.currentFormSchema }, 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 e2f0ce734..24934191b 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 @@ -9,10 +9,11 @@ > - Software SRAM (for real-time apps) + + Software SRAM (for real-time apps)
@@ -23,31 +24,34 @@ > - Cache Allocation Technology (requires CPU Afinity configuration in each desired VM) + + Cache Allocation Technology (requires CPU Afinity configuration in each desired VM)
- - - - Code and Data Prioritization + + + + + Code and Data Prioritization - - - - Virtual Cache Allocation Technology (VCAT) + + + + + Virtual Cache Allocation Technology (VCAT)
@@ -385,17 +389,22 @@ export default { // generate service vm cpu affinity setting if (serviceVM !== null) { let serviceVMCPUIndex = 0; - Object.keys(pcpu_vms).map((pcpu_id) => { - // if this core is not used as rt core, - // use it as service vm cpu - if (pcpu_vms[pcpu_id].y.length === 0) { - pcpu_vms[pcpu_id].n.push({ - // '@id': serviceVM['@id'], - "VM": serviceVM.name, - "VCPU": serviceVMCPUIndex - }) - serviceVMCPUIndex++; + let schemaData = window.getSchemaData() + schemaData.HV.BasicConfigType.definitions.CPUAffinityConfiguration.properties.pcpu_id.enum.map((pcpu_id) => { + if (pcpu_vms.hasOwnProperty(pcpu_id)) { + if (pcpu_vms[pcpu_id].y.length !== 0) { + // ignore pcpu_id which has rt vm enabled + return + } + } else { + pcpu_vms[pcpu_id] = {'y': [], 'n': []} } + pcpu_vms[pcpu_id].n.push({ + // '@id': serviceVM['@id'], + "VM": serviceVM.name, + "VCPU": serviceVMCPUIndex + }) + serviceVMCPUIndex++; }) } return { @@ -636,7 +645,7 @@ export default { }) for (let i = 0; i < board_cat_info.length; i++) { - if (board_cat_info[i].data.POLICY.length == 0) { + if (board_cat_info[i].data.POLICY.length === 0) { board_cat_info.splice(i--, 1) } } @@ -673,7 +682,8 @@ export default { .chunkTitle { border: 1px solid white; - padding: 7px 0 12px; + padding: 7px 0 0; + min-height: 36px; } .rightTitle {