mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-21 00:38:28 +00:00
add smp_call_function support
take use of VCPU_NOTIFY vector, add smp_call_function support. added a per_cpu field smp_call_info, and make each smp_call_function is not re-entered, and the caller CPU is returned when all the target CPUs complete the call. v4: - remove global lock - take use of wait_sync_change function to do the sequence sync v3: - remove per_cpu lock in smp_call_info - use a global lock to ensure smp_call_function sequence - use pcpu_sync_sleep to wait IPI complete v2: - after new smp function come, if old one exist, changed from overwirte with the new one to ignore the new one. Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com>
This commit is contained in:
@@ -46,6 +46,7 @@ struct per_cpu_region {
|
||||
uint8_t stack[CONFIG_STACK_SIZE] __aligned(16);
|
||||
char logbuf[LOG_MESSAGE_MAX_SIZE];
|
||||
uint8_t lapic_id;
|
||||
struct smp_call_info_data smp_call_info;
|
||||
} __aligned(CPU_PAGE_SIZE); //per_cpu_region size aligned with CPU_PAGE_SIZE
|
||||
|
||||
extern struct per_cpu_region *per_cpu_data_base_ptr;
|
||||
|
Reference in New Issue
Block a user