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

Alloc architecture #17

Open
hawkw opened this issue Jan 21, 2018 · 3 comments
Open

Alloc architecture #17

hawkw opened this issue Jan 21, 2018 · 3 comments
Assignees
Labels

Comments

@hawkw
Copy link
Member

hawkw commented Jan 21, 2018

No description provided.

@hawkw hawkw self-assigned this Jan 21, 2018
@hawkw
Copy link
Member Author

hawkw commented Jan 21, 2018

I think we'll want to start with a frame/page allocator/provider (determine appropriate terminology) trait that allocates fixed-size (architecture dependent) pages, and implement the new buddy allocator and slabby on top of that. Not sure if ALARM should provide implementations of page allocators, but I think we should try to keep architecture specific code out of ALARM and in the hawkw/sos-kernel repo, especially since frame providers will probably need to know about e.g. the memory map.

@hawkw
Copy link
Member Author

hawkw commented Jan 21, 2018

I think we'll want to have a "base" crate that provides traits like the frame provider (or whatever we end up calling it) trait, and then write the memory allocator implementations in their own crates that depend on the base crate. This seems like a better way to let consumers pick and choose allocator impls than A Big Mess Of Feature Flags like the old SOS allocator used.

We'll probably want to put the lifetime-based "allocation lender" stuff in the old SOS allocator in the "base" crate as well; I'd like to continue providing this API (and maybe actually use it this time around)...

@hawkw
Copy link
Member Author

hawkw commented Jan 21, 2018

cc @croyzor, i figure you'll probably be interested in this

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

No branches or pull requests

1 participant