What's very confusing about the current situation is that we have a Pcd that 
can set whether I support CMO instructions. When I correctly set up my platform 
to not support CMO instructions and hope that everything goes well, I will 
trigger Assert in the debug version. But I also can't set the Pcd to support 
CMO instructions because that would cause me to trigger an illegal instruction 
exception.

If we decide that this library can only be used by RISCV platforms that support 
CMO instructions, then we should use some stronger prompts than ASSERT, such as 
reporting an error at compile time so that developers can find other library 
alternatives. After all, ASSERT is being released version will lose its 
functionality which may lead to some unexpected errors. If we decide that this 
library can be used by platforms that do not support CMO instructions as 
before, then we should still use logs instead of ASSERT, otherwise it is 
meaningless to set whether CMO instructions are supported in Pcd and check Pcd 
at runtime.

Yang Cheng


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#114000): https://edk2.groups.io/g/devel/message/114000
Mute This Topic: https://groups.io/mt/103805230/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to