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>
This commit is contained in:
Mingqiang Chi 2018-10-24 13:28:13 +08:00 committed by Xie, Nanlin
parent b686b562f4
commit 298044d95b
5 changed files with 11 additions and 9 deletions

View File

@ -42,6 +42,11 @@ config MAX_VCPUS_PER_VM
range 1 8 range 1 8
default 4 default 4
config MAX_PCPU_NUM
int "Maximum number of PCPU"
range 1 8
default 8
config MAX_IOMMU_NUM config MAX_IOMMU_NUM
int "Maximum number of iommu dev" int "Maximum number of iommu dev"
range 1 2 range 1 2

View File

@ -276,7 +276,7 @@ static void alloc_phy_cpu_data(uint16_t pcpu_num)
ASSERT(per_cpu_data_base_ptr != NULL, ""); ASSERT(per_cpu_data_base_ptr != NULL, "");
} }
uint16_t __attribute__((weak)) parse_madt(uint32_t lapic_id_array[MAX_PCPU_NUM]) uint16_t __attribute__((weak)) parse_madt(uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM])
{ {
static const uint32_t lapic_id[] = {0U, 2U, 4U, 6U}; static const uint32_t lapic_id[] = {0U, 2U, 4U, 6U};
uint32_t i; uint32_t i;
@ -292,7 +292,7 @@ static void init_percpu_data_area(void)
{ {
uint16_t i; uint16_t i;
uint16_t pcpu_num = 0U; uint16_t pcpu_num = 0U;
uint32_t lapic_id_array[MAX_PCPU_NUM]; uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM];
/* Save all lapic_id detected via parse_mdt in lapic_id_array */ /* Save all lapic_id detected via parse_mdt in lapic_id_array */
pcpu_num = parse_madt(lapic_id_array); pcpu_num = parse_madt(lapic_id_array);

View File

@ -227,7 +227,7 @@ static void *get_acpi_tbl(const char *sig)
* of Type 0 * of Type 0
*/ */
static uint16_t static uint16_t
local_parse_madt(void *madt, uint32_t lapic_id_array[MAX_PCPU_NUM]) local_parse_madt(void *madt, uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM])
{ {
uint16_t pcpu_id = 0U; uint16_t pcpu_id = 0U;
struct acpi_madt_local_apic *processor; struct acpi_madt_local_apic *processor;
@ -255,7 +255,7 @@ local_parse_madt(void *madt, uint32_t lapic_id_array[MAX_PCPU_NUM])
* set the pcpu_num as 0U to indicate the * set the pcpu_num as 0U to indicate the
* potential overflow * potential overflow
*/ */
if (pcpu_id >= MAX_PCPU_NUM) { if (pcpu_id >= CONFIG_MAX_PCPU_NUM) {
pcpu_id = 0U; pcpu_id = 0U;
break; break;
} }
@ -270,7 +270,7 @@ local_parse_madt(void *madt, uint32_t lapic_id_array[MAX_PCPU_NUM])
} }
/* The lapic_id info gotten from madt will be returned in lapic_id_array */ /* The lapic_id info gotten from madt will be returned in lapic_id_array */
uint16_t parse_madt(uint32_t lapic_id_array[MAX_PCPU_NUM]) uint16_t parse_madt(uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM])
{ {
void *madt; void *madt;

View File

@ -28,7 +28,7 @@ struct acpi_table_header {
uint32_t asl_compiler_revision; uint32_t asl_compiler_revision;
}; };
uint16_t parse_madt(uint32_t lapic_id_array[MAX_PCPU_NUM]); uint16_t parse_madt(uint32_t lapic_id_array[CONFIG_MAX_PCPU_NUM]);
void *get_dmar_table(void); void *get_dmar_table(void);
#endif /* !ACPI_H */ #endif /* !ACPI_H */

View File

@ -43,9 +43,6 @@
#define CPU_PAGE_SIZE 0x1000U #define CPU_PAGE_SIZE 0x1000U
#define CPU_PAGE_MASK 0xFFFFFFFFFFFFF000UL #define CPU_PAGE_MASK 0xFFFFFFFFFFFFF000UL
/* Assume the max physcial cpu number is 128 */
#define MAX_PCPU_NUM 128U
#define MMU_PTE_PAGE_SHIFT CPU_PAGE_SHIFT #define MMU_PTE_PAGE_SHIFT CPU_PAGE_SHIFT
#define MMU_PDE_PAGE_SHIFT 21U #define MMU_PDE_PAGE_SHIFT 21U