-
Notifications
You must be signed in to change notification settings - Fork 530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
module design for vioapic #8741
base: master
Are you sure you want to change the base?
Conversation
Move the closing markers in the '#define .. #endif' to match the opening markers. Tracked-On: projectacrn#8665 Signed-off-by: Haiwei Li <[email protected]>
This patch is to: * Trim trailing whitespaces * Use macro and add comments * Add lock around `reset_one_vioapic()` Tracked-On: projectacrn#8740 Signed-off-by: Haiwei Li <[email protected]>
@shiqingg pls help to review. Thanks! |
@haiwei-li , hypervisor/build/dm/vioapic.o |
GAI Tooling Notice: These contents may have been developed with support from one or more generative artificial intelligence solutions. This patch is to add doxygen style comments for some elements in vp-dm_vioapic module. Tracked-On: projectacrn#8665 Signed-off-by: Haiwei Li <[email protected]>
#define RTBL_RO_BITS ((uint32_t)0x00004000U | (uint32_t)0x00001000U) /*Remote IRR and Delivery Status bits*/ | ||
|
||
#define DBG_LEVEL_VIOAPIC 6U | ||
#define ACRN_IOAPIC_VERSION 0x11U | ||
|
||
/** | ||
* @brief The default definition of a RTE. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
default value of a virtual RTE
?
* And for every virtual I/O APIC: | ||
* - Per spec, it initializes every redirection table entry (RTE) to the default value which is 0x0001000000000000. And | ||
* it masks the interrupt by setting the 'mask' (bit 16). | ||
* - It registers the MMIO emulation handler for all the registers and remove the EPT mapping for the registers address |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explicitly call out the handler vioapic_mmio_access_handler
?
* | ||
* @return None | ||
* | ||
* @pre vm != NULL | ||
* @pre vm->arch_vm.vioapics != NULL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vm->arch_vm.vioapics
is not a pointer
@@ -120,5 +143,6 @@ struct acrn_single_vioapic *vgsi_to_vioapic_and_vpin(const struct acrn_vm *vm, u | |||
/** | |||
* @} | |||
*/ | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pls help remove the out-of-date documentation of vioapic_set_irqline_lock
and vioapic_set_irqline_nolock
in vioapic.h
. Thanks.
reset_one_vioapic(&vioapics->vioapic_array[vioapic_index]); | ||
spinlock_irqrestore_release(&(vioapics->vioapic_array[vioapic_index].lock), rflags); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pls create a separate PR for this lock change. Thanks.
No description provided.