Hi there,
today I wasn't sure which module types my (DXE) library actually supports, so I had a look at the modules writers guide here: https://github.com/tianocore-docs/Docs/raw/master/User_Docs/EDK_II%20Module% 20Writer_s%20Guide_0_7.pdf At section 3.1.1 there is a list of module types with a brief introduction. So I was looking for suitable types. DXE_DRIVER is for DXE phase and gets destroyed after ExitBootServices. Okay. DXE_RUNTIME_DRIVER doesn't get destroyed but have to make sure the pointer will not break on SetVirtualAddressMap(). Got it. UEFI_DRIVER is used for drivers that are "compliant with UEFI Specification". What does that actually mean? I mean: Are they alive until ExitBootServices() or longer with the need to take care of SetVirtualAddressMap()? Haven't found any information about that yet, maybe someone can help here? UEFI_APPLICATION is used by applications which are "compliant with UEFI Specification". Afaik this could be a bootloader, a shell oder a shell application, right? So I think the lifetime of this module starts and ends before ExitBootServices() like a DXE_DRIVER. However, at least until the application is going to call ExitBootServices() by itself or uses SetVirtualAddressMap(). Oh, and thinking of CTRL+C at shell it should be able to release all resourses at any time, correct? Thank you, Peter _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel