Justin C. Miller
f9d964cccb
Adding address manager
2019-02-28 00:37:00 -08:00
Justin C. Miller
a9ac30b991
Allow heap_manager to use non-contiguous blocks.
...
* Heap manager can now manage non-contiguous blocks of memory (currently
all sized at the max block size only)
* Fix a bug where heap manager would try to buddy-merge max-sized blocks
2019-02-28 00:37:00 -08:00
Justin C. Miller
bbd31929ba
Rename memory_manager to heap_manager
2019-02-28 00:37:00 -08:00
Justin C. Miller
38a1197d9e
Removing old waf build scripts and vendored libcxx
2019-02-02 21:39:19 -08:00
Justin C. Miller
a1fe745a53
Changing to __POPCORN__ for defining code that is host-only
2019-02-02 14:44:35 -08:00
Justin C. Miller
0f8efdb55e
Moving to a ninja-based build system
2019-02-02 02:59:45 -08:00
Justin C. Miller
523d0b3b8c
sysroot and cross-compiler based build WIP
2019-01-17 00:51:45 -08:00
Justin C. Miller
591ca7c83c
libc WIP
2018-09-24 11:13:18 -07:00
Justin C. Miller
cef0a71bce
Use uintptr_t instead of addr_t
...
They're never actually going to change independently, and it's also
brining in kutil headers more places than they should be.
2018-09-20 09:37:30 -07:00
Justin C. Miller
f4e7eaeb40
Fixing #include error in linked_list.h
2018-09-16 12:20:14 -07:00
Justin C. Miller
c2f85ce61b
Some enum_bitfield helper operators
...
Added:
set += flag -> set = set | flag
set -= flag -> set = set & ~flag
set && flag -> (set & flag) == flag
2018-09-12 20:57:15 -07:00
Justin C. Miller
593cda3ee8
Convert page_block to use kutil::linked_list
...
- Created a new linked_list-based slab allocator
- Simplified memory bootstrap code by using the slab allocator and
linked_lists
2018-09-11 20:46:48 -07:00
Justin C. Miller
d5c44645eb
New templatized linked_list collection
...
Also updated tests to work with memory changes
2018-09-09 15:32:10 -07:00
Justin C. Miller
cabfec3f1e
Clearing up kutil/kernel memory code separation
2018-09-07 10:08:47 -07:00
Justin C. Miller
585abe9a18
Simple ELF program loader
...
Now any initrd file is treated like a program image and passed to the
loader to load as a process. Very rudimentary elf loading just allocates
pages, copies sections, and sets the ELF's entrypoint as the RIP to
iretq to.
2018-09-06 01:35:56 -07:00
Justin C. Miller
1758ee4215
Initial ramdisk support
...
- Create initrd library to support definitions and loading
- Allow tools compiled for the host machine to be built by wscript
- Create makerd tool to build initrd from manifest
- Move screenfont to initrd, so don't load framebuffer initially
2018-09-05 22:45:30 -07:00
Justin C. Miller
57829e1b79
Correct the name of 'modules' folder to 'libraries'
2018-09-05 22:15:05 -07:00