-
Notifications
You must be signed in to change notification settings - Fork 36
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
Better IRX error handling #165
base: master
Are you sure you want to change the base?
Conversation
IRX ID must be > 0, else, an error ocurred while loading the module (see kerr.h on IOP Kernel) return value can be `0`, `1` or `2` It could mean an error or not depending on the module behaviour, but for all the modules you use, returning 1 means an error. 0: module remains on RAM 1: module requested to be unloaded during startup (eg: error, or module does not require to remain resident) 2: module remains on RAM, but supports to be unloaded anytime by MODLOAD, (only if both module and MODLOAD version support it)
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.
Hi, great catch!
However, I noticed a typos in your proposed changes.
It would be great if you could correct them and ensure the code compiles successfully.
Additionally, I would kindly suggest testing the code thoroughly before submitting future PRs, as this helps in maintaining the quality and reliability of our codebase.
Once you've made the necessary corrections and confirmed that everything is working as expected, please update the PR.
I'm looking forward to your revised submission!
Thanks for your contribution and attention to detail.
Keep up the good work!
I
Did you saw some mistakes on the previous commit? |
I tried, but compiler complains on some issues related to search path for limits.h |
SifExecModuleBuffer(&bdm_irx, size_bdm_irx, 0, nullptr, &ret); | ||
TYRA_ASSERT(ret >= 0, "Failed to load module: bdm_irx"); | ||
irx_id = SifExecModuleBuffer(&bdm_irx, size_bdm_irx, 0, nullptr, &ret); | ||
TYRA_ASSERT((ret != 1) && (irx_id > 0), "Failed to load module: bdm_irx id:", idx_id, ", ret:", ret); |
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.
irx_id = SifExecModuleBuffer(&bdm_irx, size_bdm_irx, 0, nullptr, &ret);
TYRA_ASSERT((ret != 1) && (irx_id > 0), "Failed to load module: bdm_irx id:", idx_id, ", ret:", ret);
idx_id
is not defined.
I will create a commit to fix this |
Please merge latest master to this branch. |
IRX ID must be >
0
, else, an error ocurred while loading the module (see kerr.h on IOP Kernel)return value can be
0
,1
or2
(ref)It could mean an error or not depending on the module behaviour, but for all the modules you use, returning 1 means an error.
0: module remains on RAM
1: module requested to be unloaded during startup (eg: error, or module does not require to remain resident)
2: module remains on RAM, but supports to be unloaded anytime by MODLOAD, (only if both module and MODLOAD version support it)