mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 03:07:44 +00:00
Kernel: Add kmalloc.cpp to aarch64
This commit is contained in:
parent
b0f701d053
commit
2b442ae44f
3 changed files with 7 additions and 29 deletions
|
@ -120,34 +120,9 @@ READONLY_AFTER_INIT u8 multiboot_framebuffer_bpp;
|
||||||
READONLY_AFTER_INIT u8 multiboot_framebuffer_type;
|
READONLY_AFTER_INIT u8 multiboot_framebuffer_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
// kmalloc.h
|
// KSyms.cpp
|
||||||
size_t kmalloc_good_size(size_t);
|
namespace Kernel {
|
||||||
size_t kmalloc_good_size(size_t) { return 0; }
|
bool g_kernel_symbols_available = false;
|
||||||
|
|
||||||
void* kcalloc(unsigned long, unsigned long) { return nullptr; }
|
|
||||||
|
|
||||||
void kfree_sized(void*, size_t);
|
|
||||||
void kfree_sized(void*, size_t) { }
|
|
||||||
|
|
||||||
void* kmalloc(size_t);
|
|
||||||
void* kmalloc(size_t) { return nullptr; }
|
|
||||||
|
|
||||||
void* operator new(size_t size) { return kmalloc(size); }
|
|
||||||
void* operator new(size_t size, std::align_val_t) { return kmalloc(size); }
|
|
||||||
|
|
||||||
void* operator new(size_t, std::nothrow_t const&) noexcept { return nullptr; }
|
|
||||||
void* operator new(size_t, std::align_val_t, std::nothrow_t const&) noexcept { return nullptr; }
|
|
||||||
void* operator new[](size_t) { return (void*)0xdeadbeef; }
|
|
||||||
void* operator new[](size_t, std::nothrow_t const&) noexcept { return nullptr; }
|
|
||||||
|
|
||||||
void operator delete(void*) noexcept { }
|
|
||||||
void operator delete(void*, size_t) noexcept { }
|
|
||||||
void operator delete(void*, size_t, std::align_val_t) noexcept { }
|
|
||||||
void operator delete[](void*) noexcept { }
|
|
||||||
void operator delete[](void*, size_t) noexcept { }
|
|
||||||
|
|
||||||
namespace std {
|
|
||||||
const nothrow_t nothrow;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
|
|
|
@ -422,6 +422,8 @@ else()
|
||||||
MiniStdLib.cpp
|
MiniStdLib.cpp
|
||||||
Prekernel/UBSanitizer.cpp
|
Prekernel/UBSanitizer.cpp
|
||||||
|
|
||||||
|
Heap/kmalloc.cpp
|
||||||
|
|
||||||
Memory/AddressSpace.cpp
|
Memory/AddressSpace.cpp
|
||||||
Memory/AnonymousVMObject.cpp
|
Memory/AnonymousVMObject.cpp
|
||||||
Memory/InodeVMObject.cpp
|
Memory/InodeVMObject.cpp
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
#include <AK/Assertions.h>
|
#include <AK/Assertions.h>
|
||||||
#include <AK/Types.h>
|
#include <AK/Types.h>
|
||||||
|
#include <Kernel/Arch/PageDirectory.h>
|
||||||
#include <Kernel/Debug.h>
|
#include <Kernel/Debug.h>
|
||||||
#include <Kernel/Heap/Heap.h>
|
#include <Kernel/Heap/Heap.h>
|
||||||
#include <Kernel/Heap/kmalloc.h>
|
#include <Kernel/Heap/kmalloc.h>
|
||||||
|
@ -327,7 +328,7 @@ struct KmallocGlobalData {
|
||||||
|
|
||||||
expansion_data->next_virtual_address = expansion_data->next_virtual_address.offset(new_subheap_size);
|
expansion_data->next_virtual_address = expansion_data->next_virtual_address.offset(new_subheap_size);
|
||||||
|
|
||||||
auto cpu_supports_nx = Processor::current().has_feature(CPUFeature::NX);
|
auto cpu_supports_nx = Processor::current().has_nx();
|
||||||
|
|
||||||
SpinlockLocker mm_locker(Memory::s_mm_lock);
|
SpinlockLocker mm_locker(Memory::s_mm_lock);
|
||||||
SpinlockLocker pd_locker(MM.kernel_page_directory().get_lock());
|
SpinlockLocker pd_locker(MM.kernel_page_directory().get_lock());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue