Skip to content
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

Fix #1220 Implement OS_ModuleGetInfo_Impl for RTEMS #1221

Merged
merged 2 commits into from
Mar 16, 2022

Conversation

ezpollack
Copy link
Contributor

@ezpollack ezpollack commented Feb 23, 2022

Describe the contribution
A clear and concise description of what the contribution is.

Testing performed
The ES "query application" command yields a telemetry packet that contains section information supplied by OS_ModuleGetInfo_Impl. Compared object section sizes (.text, .data, .bss) in the telemetry given by the query app command to section sizes reported by the "size" tool in the platform toolchain. Checked the disassembly of application objects built in FSW to find symbols in each section (.text, .data, .bss) and used the MM application to report the addresses for each. Verified that symbol addresses reported were contained in the interval [addr, addr + size) for each section.

Tested with cFS bundle:
https://github.com/ezpollack/cFS/actions/workflows/build-cfs-rtems4.11.yml
https://github.com/ezpollack/cFS/actions/workflows/build-cfs-rtems5.yml

Expected behavior changes

  • Behavior Change: OS_ModuleGetInfo will report section information for apps in RTEMS 4.11+. ES application info packet will contain valid section information for apps in RTEMS 4.11+.

System(s) tested on

  • Hardware: Wildcat Processor Card (QEMU emulation) (GR740)
  • OS: RTEMS 5.1 via Gaisler's RTEMS LEON/ERC32 GNU cross-compiler system (RCC) 1.3.0
  • Versions: cFS Caelum RC4 + this commit + customizations for runtime environment (PSP + build system)

Additional context
This will only work for RTEMS 4.11+. Version 4.11 was the first version to support dynamic loading of objects via the RTEMS Runtime Loader (RTL).

Contributor Info - All information REQUIRED for consideration of pull request
Eric Pollack - NASA/GSFC

@skliper skliper added this to the Draco milestone Feb 23, 2022
Copy link
Contributor

@skliper skliper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommend testing in open source RTEMS 4.11 and 5 workflows with the latest bundle and confirm the info is valid.

@skliper skliper added the CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) label Feb 23, 2022
@astrogeco astrogeco removed the CCB:Ready Pull request is ready for discussion at the Configuration Control Board (CCB) label Feb 23, 2022
@astrogeco
Copy link
Contributor

astrogeco commented Feb 23, 2022

Does this address #1205 ?

@astrogeco
Copy link
Contributor

CCB:2022-02-23 Approved with CHANGES

  • Should not affect static builds
  • Run test with cFS-bundle
  • Move debug statement outside of lock
  • Change functional test for OS_Module_GetInfo on RTEMS @pepepr08

@skliper
Copy link
Contributor

skliper commented Feb 23, 2022

  • Change functional test for OS_Module_GetInfo on RTEMS @pepepr08

Shouldn't need to change anything, just run it and make sure it confirms the code was implemented correctly. Shouldn't report as not implemented anymore.

@astrogeco astrogeco added the CCB:Approved Indicates code review and approval by community CCB label Feb 23, 2022
@astrogeco
Copy link
Contributor

  • Change functional test for OS_Module_GetInfo on RTEMS @pepepr08

Shouldn't need to change anything, just run it and make sure it confirms the code was implemented correctly. Shouldn't report as not implemented anymore.

Would the test run automatically with the current CI then? I don't quite understand how the not-implemented "flag" gets picked up by the test script.

@skliper
Copy link
Contributor

skliper commented Feb 23, 2022

  • Change functional test for OS_Module_GetInfo on RTEMS @pepepr08

Shouldn't need to change anything, just run it and make sure it confirms the code was implemented correctly. Shouldn't report as not implemented anymore.

Would the test run automatically with the current CI then? I don't quite understand how the not-implemented "flag" gets picked up by the test script.

It would run in the bundle CI on RTEMS 4.11 and 5 for an emulated x86 target (or whatever we have configured in there), but worth confirming the functional test succeeds on the target mentioned above. The functional test basically just skips the actual functionality test if the unit under test responds with not-implemented (I think it reports as not applicable or similar). The test doesn't "fail" either way in CI, which is why verifying it actually does execute and pass is recommended.

@ezpollack ezpollack changed the title Implement OS_ModuleGetInfo_Impl for RTEMS Fix #1220 Implement OS_ModuleGetInfo_Impl for RTEMS Mar 2, 2022
@astrogeco
Copy link
Contributor

CCB: 2022-03-02 APPROVED

  • Rebase before merging

@ezpollack ezpollack force-pushed the fix1220-os_modulegetinfo_impl-rtems branch from e158392 to 7f049e5 Compare March 7, 2022 20:03
astrogeco added a commit to nasa/cFS that referenced this pull request Mar 8, 2022
astrogeco added a commit to nasa/cFS that referenced this pull request Mar 9, 2022
@astrogeco
Copy link
Contributor

Looks like we have some build errors.

RTEMS 4.11 https://github.com/nasa/cFS/actions/workflows/build-cfs-rtems4.11.yml

Scanning dependencies of target i686_rtems4_11_default_cpu1-all
Scanning dependencies of target osal_rtems_impl
[  1%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-binsem.c.o
[  1%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-common.c.o
[  1%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-console.c.o
[  2%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-countsem.c.o
[  2%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-dirs.c.o
[  3%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-errors.c.o
[  3%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-files.c.o
[  5%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-filesys.c.o
[  5%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-idmap.c.o
[  6%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-heap.c.o
[  6%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-mutex.c.o
[  6%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-queues.c.o
[  7%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-tasks.c.o
[  7%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-timebase.c.o
[  8%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-gettime.c.o
[  8%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-console-bsp.c.o
[ 10%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-bsd-select.c.o
[ 10%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-io.c.o
[ 11%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-files.c.o
[ 11%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-dirs.c.o
[ 11%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-no-shell.c.o
[ 12%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c: In function 'OS_ModuleGetInfo_Impl':
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:220:5: error: unknown type name 'rtems_rtl_obj'
     rtems_rtl_obj *                   obj;
     ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:230:13: error: assignment from incompatible pointer type [-Werror]
         obj = rtems_rtl_check_handle(impl->dl_handle);
             ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:235:49: error: request for member 'text_base' in something not a structure or union
             module_prop->addr.code_address = obj->text_base;
                                                 ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:236:70: error: passing argument 1 of 'rtems_rtl_obj_text_size' from incompatible pointer type [-Werror]
             module_prop->addr.code_size    = rtems_rtl_obj_text_size(obj);
                                                                      ^
In file included from /root/rtems-4.11/i386-rtems4.11/pc686/lib/include/rtems/rtl/rtl.h:28:0,
                 from /__w/cFS/cFS/osal/src/os/rtems/inc/os-impl-loader.h:34,
                 from /__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:35:
/root/rtems-4.11/i386-rtems4.11/pc686/lib/include/rtems/rtl/rtl-obj.h:420:8: note: expected 'const struct rtems_rtl_obj_t *' but argument is of type 'int *'
 size_t rtems_rtl_obj_text_size (const rtems_rtl_obj_t* obj);
        ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:237:49: error: request for member 'data_base' in something not a structure or union
             module_prop->addr.data_address = obj->data_base;
                                                 ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:238:70: error: passing argument 1 of 'rtems_rtl_obj_data_size' from incompatible pointer type [-Werror]
             module_prop->addr.data_size    = rtems_rtl_obj_data_size(obj);
                                                                      ^
In file included from /root/rtems-4.11/i386-rtems4.11/pc686/lib/include/rtems/rtl/rtl.h:28:0,
                 from /__w/cFS/cFS/osal/src/os/rtems/inc/os-impl-loader.h:34,
                 from /__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:35:
/root/rtems-4.11/i386-rtems4.11/pc686/lib/include/rtems/rtl/rtl-obj.h:488:8: note: expected 'const struct rtems_rtl_obj_t *' but argument is of type 'int *'
 size_t rtems_rtl_obj_data_size (const rtems_rtl_obj_t* obj);
        ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:239:49: error: request for member 'bss_base' in something not a structure or union
             module_prop->addr.bss_address  = obj->bss_base;
                                                 ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:240:69: error: passing argument 1 of 'rtems_rtl_obj_bss_size' from incompatible pointer type [-Werror]
             module_prop->addr.bss_size     = rtems_rtl_obj_bss_size(obj);
                                                                     ^
In file included from /root/rtems-4.11/i386-rtems4.11/pc686/lib/include/rtems/rtl/rtl.h:28:0,
                 from /__w/cFS/cFS/osal/src/os/rtems/inc/os-impl-loader.h:34,
                 from /__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:35:
/root/rtems-4.11/i386-rtems4.11/pc686/lib/include/rtems/rtl/rtl-obj.h:510:8: note: expected 'const struct rtems_rtl_obj_t *' but argument is of type 'int *'
 size_t rtems_rtl_obj_bss_size (const rtems_rtl_obj_t* obj);
        ^
cc1: all warnings being treated as errors
make[7]: *** [osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o] Error 1
osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/build.make:566: recipe for target 'osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o' failed
make[6]: *** [osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/all] Error 2
CMakeFiles/Makefile2:365: recipe for target 'osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/all' failed
make[5]: *** [all] Error 2
Makefile:140: recipe for target 'all' failed
make[4]: *** [CMakeFiles/i686_rtems4_11_default_cpu1-all] Error 2
CMakeFiles/i686_rtems4_11_default_cpu1-all.dir/build.make:57: recipe for target 'CMakeFiles/i686_rtems4_11_default_cpu1-all' failed
make[3]: *** [CMakeFiles/i686_rtems4_11_default_cpu1-all.dir/all] Error 2
make[2]: *** [CMakeFiles/mission-all.dir/rule] Error 2
make[1]: *** [mission-all] Error 2
CMakeFiles/Makefile2:292: recipe for target 'CMakeFiles/i686_rtems4_11_default_cpu1-all.dir/all' failed
CMakeFiles/Makefile2:138: recipe for target 'CMakeFiles/mission-all.dir/rule' failed
Makefile:201: recipe for target 'mission-all' failed
Makefile:119: recipe for target 'all' failed
make: *** [all] Error 2
Error: Process completed with exit code 2.

@astrogeco
Copy link
Contributor

RTEMS 5 https://github.com/nasa/cFS/actions/runs/1957722983

 [100%] Built target mission-prebuild
Scanning dependencies of target i686_rtems5_default_cpu1-all
Scanning dependencies of target osal_rtems_impl
[  1%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-binsem.c.o
[  1%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-common.c.o
[  1%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-console.c.o
[  2%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-countsem.c.o
[  2%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-dirs.c.o
[  3%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-errors.c.o
[  3%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-files.c.o
[  5%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-filesys.c.o
[  5%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-idmap.c.o
[  6%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-heap.c.o
[  6%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-mutex.c.o
[  6%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-queues.c.o
[  7%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-tasks.c.o
[  7%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-timebase.c.o
[  8%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-gettime.c.o
[  8%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-console-bsp.c.o
[ 10%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-bsd-select.c.o
[ 10%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-io.c.o
[ 11%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-files.c.o
[ 11%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-posix-dirs.c.o
[ 11%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/__/portable/os-impl-no-shell.c.o
[ 12%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c: In function 'OS_ModuleGetInfo_Impl':
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:235:44: error: assignment makes integer from pointer without a cast [-Werror=int-conversion]
             module_prop->addr.code_address = obj->text_base;
                                            ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:237:44: error: assignment makes integer from pointer without a cast [-Werror=int-conversion]
             module_prop->addr.data_address = obj->data_base;
                                            ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:239:44: error: assignment makes integer from pointer without a cast [-Werror=int-conversion]
             module_prop->addr.bss_address  = obj->bss_base;
                                            ^
cc1: all warnings being treated as errors
make[7]: *** [osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o] Error 1
make[6]: *** [osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/all] Error 2
osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/build.make:566: recipe for target 'osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o' failed
make[5]: *** [all] Error 2
make[4]: *** [CMakeFiles/i686_rtems5_default_cpu1-all] Error 2
CMakeFiles/Makefile2:365: recipe for target 'osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/all' failed
Makefile:140: recipe for target 'all' failed
CMakeFiles/i686_rtems5_default_cpu1-all.dir/build.make:57: recipe for target 'CMakeFiles/i686_rtems5_default_cpu1-all' failed
CMakeFiles/Makefile2:99: recipe for target 'CMakeFiles/i686_rtems5_default_cpu1-all.dir/all' failed
make[3]: *** [CMakeFiles/i686_rtems5_default_cpu1-all.dir/all] Error 2
make[2]: *** [CMakeFiles/mission-all.dir/rule] Error 2
CMakeFiles/Makefile2:138: recipe for target 'CMakeFiles/mission-all.dir/rule' failed
make[1]: *** [mission-all] Error 2
Makefile:201: recipe for target 'mission-all' failed
make: *** [all] Error 2
Makefile:119: recipe for target 'all' failed
Error: Process completed with exit code 2.

@jphickey
Copy link
Contributor

jphickey commented Mar 9, 2022

In 4.11 the struct typedef name seems to be rtems_rtl_obj_t, not rtems_rtl_obj as used here. May need to a local typedef to make them the same name.

If that doesn't work, could just make this implementation only work on 5+ (make 4.11 revert to previous behavior without this feature).

Last resort could be of course to drop support for 4.11, but I still like RTEMS 4.11 + pc686 as a litmus test because it defines uint32_t as unsigned long where most other platforms use unsigned int, and as such don't catch some type conversion errors that are caught when compiling on this target. If we choose to drop 4.11, then we should make sure we have at least one other platform that does define uint32_t as a different type other than unsigned int.

@astrogeco astrogeco added the RTEMS label Mar 9, 2022
@astrogeco
Copy link
Contributor

In 4.11 the struct typedef name seems to be rtems_rtl_obj_t, not rtems_rtl_obj as used here. May need to a local typedef to make them the same name.

If that doesn't work, could just make this implementation only work on 5+ (make 4.11 revert to previous behavior without this feature).

Last resort could be of course to drop support for 4.11, but I still like RTEMS 4.11 + pc686 as a litmus test because it defines uint32_t as unsigned long where most other platforms use unsigned int, and as such don't catch some type conversion errors that are caught when compiling on this target. If we choose to drop 4.11, then we should make sure we have at least one other platform that does define uint32_t as a different type other than unsigned int.

I made a naive "fix" thanks to @acudmore suggestion. See astrogeco@cab8d98

New Error https://github.com/astrogeco/cFS/runs/5482537334?check_suite_focus=true

[ 12%] Building C object osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c: In function 'OS_ModuleGetInfo_Impl':
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:235:44: error: assignment makes integer from pointer without a cast [-Werror]
             module_prop->addr.code_address = obj->text_base;
                                            ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:237:44: error: assignment makes integer from pointer without a cast [-Werror]
             module_prop->addr.data_address = obj->data_base;
                                            ^
/__w/cFS/cFS/osal/src/os/rtems/src/os-impl-loader.c:239:44: error: assignment makes integer from pointer without a cast [-Werror]
             module_prop->addr.bss_address  = obj->bss_base;
                                            ^
cc1: all warnings being treated as errors
make[7]: *** [osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o] Error 1
osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/build.make:566: recipe for target 'osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/src/os-impl-loader.c.o' failed
make[6]: *** [osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/all] Error 2
CMakeFiles/Makefile2:365: recipe for target 'osal/rtems_impl/CMakeFiles/osal_rtems_impl.dir/all' failed
Makefile:140: recipe for target 'all' failed
make[5]: *** [all] Error 2
make[4]: *** [CMakeFiles/i686_rtems4_11_default_cpu1-all] Error 2
CMakeFiles/i686_rtems4_11_default_cpu1-all.dir/build.make:57: recipe for target 'CMakeFiles/i686_rtems4_11_default_cpu1-all' failed
make[3]: *** [CMakeFiles/i686_rtems4_11_default_cpu1-all.dir/all] Error 2
CMakeFiles/Makefile2:292: recipe for target 'CMakeFiles/i686_rtems4_11_default_cpu1-all.dir/all' failed
make[2]: *** [CMakeFiles/mission-all.dir/rule] Error 2
CMakeFiles/Makefile2:138: recipe for target 'CMakeFiles/mission-all.dir/rule' failed
make[1]: *** [mission-all] Error 2
Makefile:201: recipe for target 'mission-all' failed
make: *** [all] Error 2
Makefile:119: recipe for target 'all' failed
Error: Process completed with exit code 2.

@astrogeco
Copy link
Contributor

astrogeco commented Mar 9, 2022

Looks like my second naive fix got us through the build on both 4.11 and 5
astrogeco@c4a5f02
waiting on the unit tests to compile and run

I got all greens!
https://github.com/astrogeco/cFS/actions/runs/1958238120
https://github.com/astrogeco/cFS/actions/runs/1958238118

astrogeco added a commit to astrogeco/osal that referenced this pull request Mar 9, 2022
- Add #define to handle renames from RTEMS 4.11 to RTEMS 5
- Cast to cpuaddress before assignment to `OS_module_address_t` elements

Try to fix RTEMS osal type casting for GetModuleInfo
astrogeco added a commit to nasa/cFS that referenced this pull request Mar 9, 2022
astrogeco added a commit that referenced this pull request Mar 9, 2022
- Use typedef instead of #define
astrogeco added a commit to astrogeco/cFS that referenced this pull request Mar 9, 2022
astrogeco added a commit to astrogeco/osal that referenced this pull request Mar 9, 2022
astrogeco added a commit to astrogeco/cFS that referenced this pull request Mar 9, 2022
astrogeco added a commit to astrogeco/osal that referenced this pull request Mar 9, 2022
astrogeco added a commit to astrogeco/cFS that referenced this pull request Mar 9, 2022
astrogeco added a commit to astrogeco/osal that referenced this pull request Mar 10, 2022
- Add aliased typedef to handle renames from RTEMS 4.11 to RTEMS 5
- Cast to cpuaddress before assignment to `OS_module_address_t` elements
astrogeco added a commit to astrogeco/cFS that referenced this pull request Mar 10, 2022
astrogeco added a commit to astrogeco/cFS that referenced this pull request Mar 10, 2022
astrogeco added a commit to nasa/cFS that referenced this pull request Mar 10, 2022
astrogeco added a commit that referenced this pull request Mar 10, 2022
- Add aliased typedef to handle renames from RTEMS 4.11 to RTEMS 5
- Cast to cpuaddress before assignment to `OS_module_address_t` elements
astrogeco added a commit to nasa/cFS that referenced this pull request Mar 10, 2022
astrogeco added a commit that referenced this pull request Mar 10, 2022
- Add aliased typedef to handle renames from RTEMS 4.11 to RTEMS 5
- Cast to cpuaddress before assignment to `OS_module_address_t` elements
astrogeco added a commit to nasa/cFS that referenced this pull request Mar 16, 2022
@astrogeco astrogeco merged commit 75fe674 into nasa:main Mar 16, 2022
jphickey pushed a commit to jphickey/osal that referenced this pull request Aug 10, 2022
jphickey pushed a commit to jphickey/osal that referenced this pull request Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code review and approval by community CCB draco-rc1 RTEMS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement OS_ModuleGetInfo_Impl on RTEMS
4 participants