summaryrefslogtreecommitdiff
path: root/Kernel/kmalloc.h
AgeCommit message (Collapse)Author
2019-07-03AK: Rename the common integer typedefs to make it obvious what they are.Andreas Kling
These types can be picked up by including <AK/Types.h>: * u8, u16, u32, u64 (unsigned) * i8, i16, i32, i64 (signed)
2019-04-15Kernel: Make it possible to have kmalloc() dump call stacks.Andreas Kling
This can be enabled at any time using a sysctl: sysctl kmalloc_stacks=1 The stacks will go to the debugger output only.
2019-04-15Kernel+ProcessManager: Expose the number of kmalloc/kfree calls.Andreas Kling
This will be very helpful in tracking down unwanted kmalloc traffic. :^)
2019-02-15Use modern C++ attributes instead of __attribute__ voodoo.Andreas Kling
This is quite nice, although I wish [[gnu::always_inline]] implied inline. Also "gnu::" is kind of a wart, but whatcha gonna do.
2019-01-27Kernel: Unbreak symbolication yet another time.Andreas Kling
2019-01-12Don't use dword-by-dword memset/memcpy if the addresses are unaligned.Andreas Kling
Also don't enable the large kmalloc catcher by default.
2019-01-12Paper over a race in DoubleBuffer.Andreas Kling
I'm still somewhat okay throwing InterruptDisabler at races as they screw me. Eventually I'm gonna have to devise a different strategy though.
2018-12-26Add slightly better kmalloc_aligned() and kfree_aligned().Andreas Kling
Process page directories can now actually be freed. This could definitely be implemented in a nicer, less wasteful way, but this works for now. The spawn stress test can now run for a lot longer but eventually dies due to kmalloc running out of memory.
2018-12-02Make it possible to build the Kernel on a macOS host.Andreas Kling
It still requires an ELF compiler and linker, but at least it builds. I need to get rid of the "Unix" namespace. This does a lot of that.
2018-11-17Make bash-2.05b build with minimal changes.Andreas Kling
This is really neat. :^)
2018-11-01Give each task its own page directory.Andreas Kling
This isn't finished but I'll commit as I go. We need to get to where context switching only needs to change CR3 and everything's ready to go. My basic idea is: - The first 4 kB is off-limits. This catches null dereferences. - Up to the 4 MB mark is identity-mapped and kernel-only. - The rest is available to everyone! While the first 4 MB is only available to the kernel, it's still mapped in every process, for convenience when entering the kernel.
2018-10-31Add a kmalloc_eternal() for things that will never be destroyed.Andreas Kling
2018-10-27Greatly improve /proc/PID/stack by tracing the ebp frame chain.Andreas Kling
I also added a generator cache to FileHandle. This way, multiple reads to a generated file (i.e in a synthfs) can transparently handle multiple calls to read() without the contents changing between calls. The cache is discarded at EOF (or when the FileHandle is destroyed.)
2018-10-24Make the kmalloc global stats variable volatile.Andreas Kling
I know I'm praying for cargo here, but this does fix a weird issue where logging the sum_alloc and sum_free globals wouldn't display symmetric values all the time.
2018-10-16Import the "gerbert" kernel I worked on earlier this year.Andreas Kling
It's a lot crappier than I remembered it. It's gonna need a lot of work.