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

Refactor PSP "memory area" API #218

Open
6 tasks
jphickey opened this issue Nov 17, 2020 · 0 comments
Open
6 tasks

Refactor PSP "memory area" API #218

jphickey opened this issue Nov 17, 2020 · 0 comments

Comments

@jphickey
Copy link
Contributor

Is your feature request related to a problem? Please describe.
PSP implements dedicated APIs to retrieve the pointer/size of special memory areas such as ES reset area, CDS, RAM disk, etc.

  • CFE_PSP_GetUserReservedArea
  • CFE_PSP_GetVolatileDiskMem
  • CFE_PSP_GetResetArea
  • CFE_PSP_GetKernelTextSegmentInfo
  • CFE_PSP_GetCFETextSegmentInfo
  • CFE_PSP_GetCDSSize

Describe the solution you'd like

  • Currently these APIs use uint32 type for sizes. This should change to size_t.
  • Each memory area has a distinct/separate API. Should change to a more extensible approach, allowing more memory blocks to be allocated without creating a new API for each one (e.g. ID based, where IDs can be more easily added in the future, but functions stay the same).

Additional context
Creating a better API here can help clean up some issues in the CFE side where there is only one "reset area" that is part of ES. However both EVS and TIME core apps also store data here, and therefore this creates issues where these subsystems have to make their private data structs into public ones so they can be combined into this area. Cleaning this up would help make the CFE core apps more independent and modular.

Requester Info
Joseph Hickey, Vantage Systems, Inc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant