Commit Graph

414 Commits

Author SHA1 Message Date
Drew Galbraith 2a984a93ec [Zion] Add a shim Floating Point Exception handler. 2023-11-21 15:17:32 -08:00
Drew Galbraith 0b8e2d8268 [Zion] Modify the alignement of the initial user stack pointer. 2023-11-21 14:53:59 -08:00
Drew Galbraith a1e1e1c2d8 [Zion] Enable SSE instructions at the start of boot.
These aren't ready to be used yet as we need to save them on task
switch.
2023-11-20 16:40:07 -08:00
Drew Galbraith 9b43d615a9 [Zion] Split free physical memory into two lists.
Allow partitioning create requests so for large continuous requests
we don't have to iterate past a bunch of single free pages.
2023-11-20 10:02:27 -08:00
Drew Galbraith 12ca4e4e89 [Zion] Separate Memory "Views" to a separate MemoryObject. 2023-11-19 23:22:56 -08:00
Drew Galbraith a8ad225cf1 [Zion] Make the base MemoryObject pure abstract. 2023-11-19 23:17:12 -08:00
Drew Galbraith 126482f3e8 [Yellowstone] Release init caps after loading.
This was incredibly helpful for finding cases where we were using
uninitialized memory as it causes a lot more pages to be reused early.
2023-11-19 22:54:26 -08:00
Drew Galbraith 322502fcee [Denali] Zero out uninitialized devices. 2023-11-19 22:54:01 -08:00
Drew Galbraith 0f2d6d7cc8 [Mammoth] Load non aligned ELF program sections properly.
Previously we would write into a memory object for an offset address but
when it would be mapped into the address space it would be page aligned.
2023-11-19 22:52:32 -08:00
Drew Galbraith a0a673ee16 [Yellowstone] Free Teton file cap after spawning process. 2023-11-19 21:38:04 -08:00
Drew Galbraith 4d1846a7d5 [Zion] Actually free memory pages when a MemoryObject goes out of scope 2023-11-19 21:37:30 -08:00
Drew Galbraith 344e84c313 [Mammoth] Get rid of last uses of MappedMemoryRegion. 2023-11-19 20:48:23 -08:00
Drew Galbraith d41a565721 [Mammoth] Add an OwnedMemoryRegion for ContiguousPhysical. 2023-11-19 20:42:38 -08:00
Drew Galbraith deb2e708cd [Mammoth] Add a helper method for duplicating memory capabilities. 2023-11-19 20:35:55 -08:00
Drew Galbraith 8e827a5dfb [Mammoth] Move all callers of FromCapability to OwnedMemoryObject. 2023-11-19 20:33:15 -08:00
Drew Galbraith 337126cabb [Glacier] Update String to be non-copyable by default. 2023-11-19 19:14:37 -08:00
Drew Galbraith ced89834de [Mammoth] Unmap an OwnedMemoryObject when it is deleted. 2023-11-19 19:03:20 -08:00
Drew Galbraith 2e4a12661d [Zion] Add a syscall to get a memory object's length. 2023-11-19 19:02:55 -08:00
Drew Galbraith 30b6511467 [Zion] Add a AddressSpaceUnmap syscall to free memory. 2023-11-19 18:55:44 -08:00
Drew Galbraith e668428d9d [Zion] Move Memory Mappings to a dedicated tree impl. 2023-11-19 18:45:13 -08:00
Drew Galbraith 3e9923f227 [Mammoth] Add an owned memory capability that cleans itself up. 2023-11-19 17:54:28 -08:00
Drew Galbraith 7d48dd2b8b [Zion] Add the ability to delete a capability. 2023-11-19 17:53:56 -08:00
Drew Galbraith 2e08eb76ff [zion] Move process.CheckState() to prevent infinite loop on thread exit. 2023-11-19 17:31:01 -08:00
Drew Galbraith 29fa8045af [Mammoth] Fix accidental fall through on mammoth init switch. 2023-11-19 17:30:39 -08:00
Drew Galbraith 70bdb822a7 [Zion] Add implementation of KernelVmm::FreeKernelStack. 2023-11-19 17:29:09 -08:00
Drew Galbraith 308dd6a203 [Zion] Add a framework for better process exit. 2023-11-16 23:03:27 -08:00
Drew Galbraith aa2d80b557 [Zion] Move ProcessManager to map as well. 2023-11-16 22:17:11 -08:00
Drew Galbraith 6e227e1cf6 [Zion/Glacier] Add a HashMap to store process capabilities. 2023-11-16 22:12:00 -08:00
Drew Galbraith 6756d25e5c [Build] Add a way to start qemu in debug mode with new script. 2023-11-16 22:11:35 -08:00
Drew Galbraith e1dc790155 [Zion] Clear interrupts on panic to actually hault the machine. 2023-11-16 22:10:54 -08:00
Drew Galbraith 40ea359e9f Fix init file to set proper install root.h 2023-11-16 20:13:31 -08:00
Drew Galbraith fb458e6fd4 [Teton] Draw a green square into the framebuffer. 2023-11-15 19:20:52 -08:00
Drew Galbraith 28719ac726 [Glacier] Format LinkedList code. 2023-11-15 18:59:12 -08:00
Drew Galbraith e4deca716c [Zion] Use range based for loop on LinkedList as POC. 2023-11-15 18:50:58 -08:00
Drew Galbraith 569945f06d [Glacier] Cleanup formatting for Array and Vector. 2023-11-15 18:43:35 -08:00
Drew Galbraith 1c7eacd977 [Build] Separate 'ninja && ninja install' so the script exits if they fail. 2023-11-15 18:38:31 -08:00
Drew Galbraith 84d3caaba5 [Teton] Get framebuffer info from yellowstone. 2023-11-15 16:42:00 -08:00
Drew Galbraith 0ced0032ff Move qemu startup to its own script.
This causes us to reinstall and rebuild the image each time
we run qemu. This necessary now that we are loading files
from the disk because cmake makes it tricky (impossible?) to
have a command rely on a different target being "installed".

Because of this, updates to the teton executable were not being
picked up on the image.
2023-11-15 16:39:36 -08:00
Drew Galbraith 46d02e5eae [Zion] Remove sleeping messages. 2023-11-15 16:27:09 -08:00
Drew Galbraith 1ccbf5e12e [Yellowstone] Disable most log messages in yellowstone. 2023-11-15 16:26:15 -08:00
Drew Galbraith c080c61398 [Denali] Reduce noise on AHCI interrupt. 2023-11-15 16:21:19 -08:00
Drew Galbraith a3defbba53 [Mammoth] Fix formatting in init debug message. 2023-11-15 16:20:56 -08:00
Drew Galbraith e642f3900f [Zion] Print less about acpi on boot. 2023-11-15 16:09:36 -08:00
Drew Galbraith 9e76c81e97 [Zion] Move Kernel Stack Memory constants to separate file. 2023-11-15 15:55:24 -08:00
Drew Galbraith 07e6e3028d [Zion] Access the KernelStackManager through the VMM. 2023-11-15 15:38:25 -08:00
Drew Galbraith c5b9d20c7e [Zion] Remove early_dbgln since dbgln no longer allocs. 2023-11-15 15:19:02 -08:00
Drew Galbraith 20d6d2aaaf [Zion] Introduce the Kernel VMM to centralize allocs. 2023-11-15 15:15:31 -08:00
Drew Galbraith 0b47e3b7fc [Zion] Track used vs free physical memory. 2023-11-15 14:53:05 -08:00
Drew Galbraith 8e95a11907 [Zion] Move the physical memory manager to the LinkedList class. 2023-11-15 14:44:16 -08:00
Drew Galbraith 92d8a02291 [Zion] Cleanup memory debug statistics slightly. 2023-11-15 13:10:53 -08:00