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

Make PSP more modular #263

Closed
jphickey opened this issue Mar 9, 2021 · 1 comment · Fixed by #264 or #273
Closed

Make PSP more modular #263

jphickey opened this issue Mar 9, 2021 · 1 comment · Fixed by #264 or #273
Assignees
Labels
enhancement New feature or request

Comments

@jphickey
Copy link
Contributor

jphickey commented Mar 9, 2021

Is your feature request related to a problem? Please describe.
It is currently not easy to override items in the "shared" directory even for platforms which it does not apply.

For example, in the "cfe_psp_ram.c" and "cfe_psp_port.c" files this contains code that directly writes to physical memory addresses, which may work on mcp750, but will likely segfault on an pc-linux system.

The code should be better structured as modules so the "correct" implementation can be used for each system without breaking the other system.

Describe the solution you'd like
Most of the code in shared should be modularized so it can be selectable per-platform.
Each platform (mcp750, pc-linux, pc-rtems, plus whatever others users might have) then becomes just a collection of modules.

Additional context
There really shouldn't be much in the shared directory (the existence of such a directory implies its not platform-specific, but yet its in the PSP).

Requester Info
Joseph Hickey, Vantage Systems, Inc.

@jphickey jphickey self-assigned this Mar 9, 2021
@jphickey jphickey added the enhancement New feature or request label Mar 9, 2021
@jphickey
Copy link
Contributor Author

jphickey commented Mar 9, 2021

I forgot about old issue #10 before submitting this one, which is kind of a different take on the same thing.

The fundamental issue is we have code in the shared subdirectory which is definitely not generic/cross-platform, yet built and linked unconditionally into all platforms, with no easy/documented way to customize it and/or avoid it.

jphickey added a commit to jphickey/PSP that referenced this issue Mar 9, 2021
jphickey added a commit to jphickey/PSP that referenced this issue Mar 9, 2021
jphickey added a commit to jphickey/PSP that referenced this issue Mar 16, 2021
Use the PSP module feature to allow selection/override of EEPROM accessors.
The current code is converted to an "eeprom_direct" module which is included
only on platforms where it is valid (e.g. mcp750, no mmu).
jphickey added a commit to jphickey/PSP that referenced this issue Mar 16, 2021
Use the PSP module feature to allow selection/override of EEPROM accessors.
The current code is converted to an "eeprom_direct" module which is included
only on platforms where it is valid (e.g. mcp750, no mmu).
astrogeco added a commit that referenced this issue Mar 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant