summaryrefslogtreecommitdiff
path: root/AK/kmalloc.h
AgeCommit message (Collapse)Author
2020-11-05AK: Always include <new> from compiler before our operators newAndreas Kling
We had competing inline definitions of the placement operators new. Avoid this by having <AK/kmalloc.h> pull in <new> from the compiler and always using their definitions instead. I feel like there must be an elegant solution to this whole situation with the operators, but I'm not sure what it is.
2020-08-04Revert "AK: Let the compiler provide the default new and delete operators"Andreas Kling
This reverts commit 45b05e9734962b07f95630e76b9a680e1775f002. I forgot about the Toolchain build again. :^(
2020-08-04AK: Let the compiler provide the default new and delete operatorsAndreas Kling
...except in kernelspace.
2020-05-20Revert "AK+LibC: Move non-placement new/delete into LibC"Andreas Kling
This reverts commit 2c823473930121aecbacf0422c8372a0912e581b.
2020-05-20AK+LibC: Move non-placement new/delete into LibCAndrew Kaster
This allows operator new and operator delete to be available to anyone that links -lc (everyone) rather than just people that include kmalloc.h (almost no one).
2020-05-16Kernel: Absorb LibBareMetal back into the kernelAndreas Kling
This was supposed to be the foundation for some kind of pre-kernel environment, but nobody is working on it right now, so let's move everything back into the kernel and remove all the confusion.
2020-02-25AK: Have AK/kmalloc.h #include <new> on other platformsAndreas Kling
This should make stuff like placement new work correctly when building outside of Serenity. This stuff is a bit delicate due to the weirdly staged toolchain build at the moment. Hopefully we can unify this stuff in the future.
2020-02-18Kernel: Add placement new[] operatorSergey Bugaev
2020-02-09AK: Apply changes for the Bootstrapper environmentLiav A
2020-01-25Build: Remove -fno-sized-deallocation -Wno-sized-deallocationAndreas Kling
Add sized variants of the global operator delete functions so we don't have to use these GCC options anymore.
2020-01-18Meta: Add license header to source filesAndreas Kling
As suggested by Joshua, this commit adds the 2-clause BSD license as a comment block to the top of every source file. For the first pass, I've just added myself for simplicity. I encourage everyone to add themselves as copyright holders of any file they've added or modified in some significant way. If I've added myself in error somewhere, feel free to replace it with the appropriate copyright holder instead. Going forward, all new source files should include a license header.
2019-09-16Kernel: Move kmalloc() into a Kernel/Heap/ directoryAndreas Kling
2019-05-28Add clang-format fileRobin Burchell
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh.
2019-04-20Get rid of SERENITY macro since the compiler already defines __serenity__Andreas Kling
This makes it a bit easier to use AK templates out-of-tree.
2019-04-05AK: Revert Eternal<T> for now since it doesn't work as intended.Andreas Kling
2019-04-05AK: Fix problem when building i686-pc-serenity toolchain from scratch.Andreas Kling
2019-04-03AK: Add Eternal<T> and use it in various places.Andreas Kling
This is useful for static locals that never need to be destroyed: Thing& Thing::the() { static Eternal<Thing> the; return the; } The object will be allocated in data segment memory and will never have its destructor invoked.
2019-04-03AK: Clean up some of the confusion that is AK/kmalloc.{cpp,h}Andreas Kling
2019-03-27LibC: Run constructors on process startup.Andreas Kling
Cooperate with the compiler to generate and execute the _init_array list of constructor functions on userspace program statup. This took two days to get working, my goodness. :^)
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-17Get rid of #ifdef SERENITY. We're past that phase of bootstrapping.Andreas Kling
2018-11-09Build LibC and Userland with clang as well.Andreas Kling
2018-10-31Add a kmalloc_eternal() for things that will never be destroyed.Andreas Kling
2018-10-28Canonicalize the path used by sh.Andreas Kling
With a bunch of LibC work to support the feature. LibC now initializes AK::StringImpl by default. It's now fine to use AK in LibC/Userland! :^)
2018-10-26Implement /proc/PID/vm.Andreas Kling
Refactored SyntheticFileSystem to maintain an arbitrary directory structure. ProcFileSystem creates a directory entry in /proc for each new process.
2018-10-25ELFLoader should fail with an error message for unresolved symbols.Andreas Kling
2018-10-22Import very modest Userland.Andreas Kling
2018-10-17Integrate ext2 from VFS into Kernel.Andreas Kling
2018-10-16Start fixing up AK to work inside the kernel.Andreas Kling
2018-10-10Import all this stuff into a single repo called Serenity.Andreas Kling