Skip to content

Commit 298044d

Browse files
mingqiangchiNanlinXie
authored andcommitted
hv: Add MAX_PCPU_NUM in Kconfig
--Removed MAX_PCPU_NUM in cpu.h --Changed the default value from 128 to 8 for MAX_PCPU_NUM Tracked-On: #861 Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com> Reviewed-by: Li, Fei1 <fei1.li@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
1 parent b686b56 commit 298044d

File tree

5 files changed

+11
-9
lines changed

5 files changed

+11
-9
lines changed

hypervisor/arch/x86/Kconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ config MAX_VCPUS_PER_VM
4242
range 1 8
4343
default 4
4444

45+
config MAX_PCPU_NUM
46+
int "Maximum number of PCPU"
47+
range 1 8
48+
default 8
49+
4550
config MAX_IOMMU_NUM
4651
int "Maximum number of iommu dev"
4752
range 1 2

hypervisor/arch/x86/cpu.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ static void alloc_phy_cpu_data(uint16_t pcpu_num)
276276
ASSERT(per_cpu_data_base_ptr != NULL, "");
277277
}
278278

279-
uint16_t __attribute__((weak)) parse_madt(uint32_t lapic_id_array[MAX_PCPU_NUM])
279+
uint16_t __attribute__((weak)) parse_madt(uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM])
280280
{
281281
static const uint32_t lapic_id[] = {0U, 2U, 4U, 6U};
282282
uint32_t i;
@@ -292,7 +292,7 @@ static void init_percpu_data_area(void)
292292
{
293293
uint16_t i;
294294
uint16_t pcpu_num = 0U;
295-
uint32_t lapic_id_array[MAX_PCPU_NUM];
295+
uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM];
296296

297297
/* Save all lapic_id detected via parse_mdt in lapic_id_array */
298298
pcpu_num = parse_madt(lapic_id_array);

hypervisor/boot/acpi.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ static void *get_acpi_tbl(const char *sig)
227227
* of Type 0
228228
*/
229229
static uint16_t
230-
local_parse_madt(void *madt, uint32_t lapic_id_array[MAX_PCPU_NUM])
230+
local_parse_madt(void *madt, uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM])
231231
{
232232
uint16_t pcpu_id = 0U;
233233
struct acpi_madt_local_apic *processor;
@@ -255,7 +255,7 @@ local_parse_madt(void *madt, uint32_t lapic_id_array[MAX_PCPU_NUM])
255255
* set the pcpu_num as 0U to indicate the
256256
* potential overflow
257257
*/
258-
if (pcpu_id >= MAX_PCPU_NUM) {
258+
if (pcpu_id >= CONFIG_MAX_PCPU_NUM) {
259259
pcpu_id = 0U;
260260
break;
261261
}
@@ -270,7 +270,7 @@ local_parse_madt(void *madt, uint32_t lapic_id_array[MAX_PCPU_NUM])
270270
}
271271

272272
/* The lapic_id info gotten from madt will be returned in lapic_id_array */
273-
uint16_t parse_madt(uint32_t lapic_id_array[MAX_PCPU_NUM])
273+
uint16_t parse_madt(uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM])
274274
{
275275
void *madt;
276276

hypervisor/boot/include/acpi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ struct acpi_table_header {
2828
uint32_t asl_compiler_revision;
2929
};
3030

31-
uint16_t parse_madt(uint32_t lapic_id_array[MAX_PCPU_NUM]);
31+
uint16_t parse_madt(uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM]);
3232

3333
void *get_dmar_table(void);
3434
#endif /* !ACPI_H */

hypervisor/include/arch/x86/cpu.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@
4343
#define CPU_PAGE_SIZE 0x1000U
4444
#define CPU_PAGE_MASK 0xFFFFFFFFFFFFF000UL
4545

46-
/* Assume the max physcial cpu number is 128 */
47-
#define MAX_PCPU_NUM 128U
48-
4946
#define MMU_PTE_PAGE_SHIFT CPU_PAGE_SHIFT
5047
#define MMU_PDE_PAGE_SHIFT 21U
5148

0 commit comments

Comments
 (0)