mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 09:37:45 +00:00
Kernel/aarch64: Unify building kernel source files in CMakeLists.txt
This now builds most of the kernel source files for both x86(_64) and the aarch64 build. Also remove a bunch of stubbed functions. :^)
This commit is contained in:
parent
f661f1a674
commit
8364135939
2 changed files with 73 additions and 531 deletions
|
@ -7,22 +7,10 @@
|
||||||
#include <AK/Singleton.h>
|
#include <AK/Singleton.h>
|
||||||
#include <AK/Types.h>
|
#include <AK/Types.h>
|
||||||
|
|
||||||
#include <Kernel/Coredump.h>
|
#include <Kernel/Arch/Delay.h>
|
||||||
#include <Kernel/FileSystem/Inode.h>
|
|
||||||
#include <Kernel/FileSystem/ProcFS.h>
|
|
||||||
#include <Kernel/KString.h>
|
|
||||||
#include <Kernel/Locking/SpinlockProtected.h>
|
|
||||||
#include <Kernel/Memory/SharedInodeVMObject.h>
|
|
||||||
#include <Kernel/Panic.h>
|
|
||||||
#include <Kernel/PhysicalAddress.h>
|
|
||||||
#include <Kernel/Process.h>
|
#include <Kernel/Process.h>
|
||||||
#include <Kernel/ProcessExposed.h>
|
|
||||||
#include <Kernel/Scheduler.h>
|
|
||||||
#include <Kernel/Sections.h>
|
#include <Kernel/Sections.h>
|
||||||
#include <Kernel/TTY/TTY.h>
|
#include <Kernel/kstdio.h>
|
||||||
#include <Kernel/ThreadTracer.h>
|
|
||||||
#include <Kernel/TimerQueue.h>
|
|
||||||
#include <Kernel/UserOrKernelBuffer.h>
|
|
||||||
|
|
||||||
// Process
|
// Process
|
||||||
char const* asm_signal_trampoline = nullptr;
|
char const* asm_signal_trampoline = nullptr;
|
||||||
|
@ -44,430 +32,40 @@ ErrorOr<void> Process::exec(NonnullOwnPtr<KString>, NonnullOwnPtrVector<KString>
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// OpenFileDescription
|
// Delay.cpp
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
|
|
||||||
OpenFileDescription::~OpenFileDescription()
|
void microseconds_delay(u32)
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<size_t> OpenFileDescription::write(UserOrKernelBuffer const&, size_t)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Custody
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
SpinlockProtected<Custody::AllCustodiesList>& Custody::all_instances()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Custody::~Custody()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// VirtualFileSystem
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
VirtualFileSystem& VirtualFileSystem::the()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
NonnullRefPtr<Custody> VirtualFileSystem::root_custody()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<NonnullLockRefPtr<OpenFileDescription>> VirtualFileSystem::open(Credentials const&, StringView, int, mode_t, Custody&, Optional<UidAndGid>)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// ProcFS
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
ProcFSInode::~ProcFSInode()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<NonnullLockRefPtr<ProcFSProcessDirectoryInode>> ProcFSProcessDirectoryInode::try_create(ProcFS const&, ProcessID)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ProcFSComponentRegistry& ProcFSComponentRegistry::the()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<NonnullLockRefPtr<Inode>> ProcFSInode::create_child(StringView, mode_t, dev_t, UserID, GroupID)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSInode::add_child(Inode&, StringView, mode_t)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSInode::remove_child(StringView)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSInode::chmod(mode_t)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSInode::chown(UserID, GroupID)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSInode::flush_metadata()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSGlobalInode::attach(OpenFileDescription&)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<size_t> ProcFSGlobalInode::read_bytes_locked(off_t, size_t, UserOrKernelBuffer&, OpenFileDescription*) const
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
StringView ProcFSGlobalInode::name() const
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSGlobalInode::traverse_as_directory(Function<ErrorOr<void>(FileSystem::DirectoryEntryView const&)>) const
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<NonnullLockRefPtr<Inode>> ProcFSGlobalInode::lookup(StringView)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSGlobalInode::truncate(u64)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> ProcFSGlobalInode::update_timestamps(Optional<time_t>, Optional<time_t>, Optional<time_t>)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
InodeMetadata ProcFSGlobalInode::metadata() const
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ProcFSGlobalInode::did_seek(OpenFileDescription&, off_t)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<size_t> ProcFSGlobalInode::write_bytes_locked(off_t, size_t, UserOrKernelBuffer const&, OpenFileDescription*)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// ProcessGroup
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
ProcessGroup::~ProcessGroup()
|
|
||||||
{
|
{
|
||||||
TODO_AARCH64();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ProcessExposed
|
// Initializer.cpp
|
||||||
namespace Kernel {
|
namespace Kernel::PCI {
|
||||||
|
|
||||||
ErrorOr<NonnullLockRefPtr<Inode>> ProcFSExposedComponent::to_inode(ProcFS const&) const
|
bool g_pci_access_io_probe_failed { false };
|
||||||
{
|
bool g_pci_access_is_disabled_from_commandline { false };
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
InodeIndex SegmentedProcFSIndex::build_segmented_index_for_main_property_in_pid_directory(ProcessID, SegmentedProcFSIndex::MainProcessProperty)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
InodeIndex SegmentedProcFSIndex::build_segmented_index_for_pid_directory(ProcessID)
|
// kprintf.cpp
|
||||||
|
void dbgputstr(StringView)
|
||||||
{
|
{
|
||||||
TODO_AARCH64();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
InodeIndex SegmentedProcFSIndex::build_segmented_index_for_sub_directory(ProcessID, ProcessSubDirectory)
|
void dbgputstr(char const*, size_t)
|
||||||
{
|
{
|
||||||
TODO_AARCH64();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
ProcFSExposedComponent::ProcFSExposedComponent()
|
void dbgputchar(char)
|
||||||
{
|
{
|
||||||
TODO_AARCH64();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// FileSystem
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
FileSystem::DirectoryEntryView::DirectoryEntryView(StringView, InodeIdentifier, u8)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Coredump
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
ErrorOr<NonnullOwnPtr<Coredump>> Coredump::try_create(NonnullLockRefPtr<Process>, StringView)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> Coredump::write()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// ThreadBlockers
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
bool Thread::Blocker::setup_blocker()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Thread::Blocker::finalize()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::Blocker::~Blocker()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Thread::Blocker::begin_blocking(Badge<Thread>)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::BlockTimeout::BlockTimeout(bool, Time const*, Time const*, clockid_t)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Thread::JoinBlocker::unblock(void*, bool)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Thread::SignalBlocker::check_pending_signals(bool)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::SleepBlocker::SleepBlocker(BlockTimeout const&, Time*)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::BlockResult Thread::SleepBlocker::block_result()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::BlockTimeout const& Thread::SleepBlocker::override_timeout(BlockTimeout const&)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Thread::SleepBlocker::will_unblock_immediately_without_blocking(UnblockImmediatelyReason)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Thread::SleepBlocker::was_unblocked(bool)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Thread::WaitQueueBlocker::unblock()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::WaitQueueBlocker::WaitQueueBlocker(WaitQueue& wait_queue, StringView)
|
|
||||||
: m_wait_queue(wait_queue)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Thread::WaitQueueBlocker::setup_blocker()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::WaitQueueBlocker::~WaitQueueBlocker()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Thread::WaitBlockerSet::finalize()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Thread::WaitBlockerSet::unblock(Process&, WaitBlocker::UnblockFlags, u8)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Thread::WaitBlockerSet::disowned_by_waiter(Process&)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Thread::WaitBlockerSet::should_add_blocker(Blocker&, void*)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
Thread::WaitBlockerSet::ProcessBlockInfo::~ProcessBlockInfo()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// PerformanceEventBuffer
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
bool g_profiling_all_threads = false;
|
|
||||||
PerformanceEventBuffer* g_global_perf_events = nullptr;
|
|
||||||
|
|
||||||
ErrorOr<void> PerformanceEventBuffer::append(int, unsigned long, unsigned long, AK::StringView, Kernel::Thread*, unsigned long, u64, ErrorOr<FlatPtr>)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
OwnPtr<PerformanceEventBuffer> PerformanceEventBuffer::try_create_with_size(size_t)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> PerformanceEventBuffer::add_process(Process const&, ProcessEventType)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> PerformanceEventBuffer::to_json(KBufferBuilder&) const
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> PerformanceEventBuffer::append_with_ip_and_bp(ProcessID, ThreadID,
|
|
||||||
FlatPtr, FlatPtr, int, u32, FlatPtr, FlatPtr, StringView, FlatPtr, u64, ErrorOr<FlatPtr>)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// LockRank
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
void track_lock_acquire(LockRank) { }
|
|
||||||
void track_lock_release(LockRank) { }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inode
|
|
||||||
namespace Kernel {
|
|
||||||
|
|
||||||
static Singleton<SpinlockProtected<Inode::AllInstancesList>> s_all_instances;
|
|
||||||
|
|
||||||
SpinlockProtected<Inode::AllInstancesList>& Inode::all_instances()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
return s_all_instances;
|
|
||||||
}
|
|
||||||
|
|
||||||
LockRefPtr<Memory::SharedInodeVMObject> Inode::shared_vmobject() const
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
return LockRefPtr<Memory::SharedInodeVMObject>(nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Inode::will_be_destroyed()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> Inode::set_shared_vmobject(Memory::SharedInodeVMObject&)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<size_t> Inode::read_bytes(off_t, size_t, UserOrKernelBuffer&, OpenFileDescription*) const
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<size_t> Inode::write_bytes(off_t, size_t, UserOrKernelBuffer const&, OpenFileDescription*)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> Inode::update_timestamps([[maybe_unused]] Optional<time_t> atime, [[maybe_unused]] Optional<time_t> ctime, [[maybe_unused]] Optional<time_t> mtime)
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> Inode::increment_link_count()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
ErrorOr<void> Inode::decrement_link_count()
|
|
||||||
{
|
|
||||||
TODO_AARCH64();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// x86 init
|
// x86 init
|
||||||
|
|
||||||
multiboot_module_entry_t multiboot_copy_boot_modules_array[16];
|
multiboot_module_entry_t multiboot_copy_boot_modules_array[16];
|
||||||
|
|
|
@ -187,7 +187,6 @@ set(KERNEL_SOURCES
|
||||||
Interrupts/GenericInterruptHandler.cpp
|
Interrupts/GenericInterruptHandler.cpp
|
||||||
Interrupts/IRQHandler.cpp
|
Interrupts/IRQHandler.cpp
|
||||||
Interrupts/SharedIRQHandler.cpp
|
Interrupts/SharedIRQHandler.cpp
|
||||||
Interrupts/SpuriousInterruptHandler.cpp
|
|
||||||
Interrupts/UnhandledInterruptHandler.cpp
|
Interrupts/UnhandledInterruptHandler.cpp
|
||||||
KBufferBuilder.cpp
|
KBufferBuilder.cpp
|
||||||
KLexicalPath.cpp
|
KLexicalPath.cpp
|
||||||
|
@ -230,7 +229,6 @@ set(KERNEL_SOURCES
|
||||||
Net/Socket.cpp
|
Net/Socket.cpp
|
||||||
Net/TCPSocket.cpp
|
Net/TCPSocket.cpp
|
||||||
Net/UDPSocket.cpp
|
Net/UDPSocket.cpp
|
||||||
Panic.cpp
|
|
||||||
PerformanceEventBuffer.cpp
|
PerformanceEventBuffer.cpp
|
||||||
Process.cpp
|
Process.cpp
|
||||||
ProcessExposed.cpp
|
ProcessExposed.cpp
|
||||||
|
@ -240,7 +238,6 @@ set(KERNEL_SOURCES
|
||||||
Random.cpp
|
Random.cpp
|
||||||
Scheduler.cpp
|
Scheduler.cpp
|
||||||
StdLib.cpp
|
StdLib.cpp
|
||||||
Syscall.cpp
|
|
||||||
Syscalls/anon_create.cpp
|
Syscalls/anon_create.cpp
|
||||||
Syscalls/access.cpp
|
Syscalls/access.cpp
|
||||||
Syscalls/alarm.cpp
|
Syscalls/alarm.cpp
|
||||||
|
@ -253,11 +250,9 @@ set(KERNEL_SOURCES
|
||||||
Syscalls/disown.cpp
|
Syscalls/disown.cpp
|
||||||
Syscalls/dup2.cpp
|
Syscalls/dup2.cpp
|
||||||
Syscalls/emuctl.cpp
|
Syscalls/emuctl.cpp
|
||||||
Syscalls/execve.cpp
|
|
||||||
Syscalls/exit.cpp
|
Syscalls/exit.cpp
|
||||||
Syscalls/fallocate.cpp
|
Syscalls/fallocate.cpp
|
||||||
Syscalls/fcntl.cpp
|
Syscalls/fcntl.cpp
|
||||||
Syscalls/fork.cpp
|
|
||||||
Syscalls/fsync.cpp
|
Syscalls/fsync.cpp
|
||||||
Syscalls/ftruncate.cpp
|
Syscalls/ftruncate.cpp
|
||||||
Syscalls/futex.cpp
|
Syscalls/futex.cpp
|
||||||
|
@ -273,7 +268,6 @@ set(KERNEL_SOURCES
|
||||||
Syscalls/lseek.cpp
|
Syscalls/lseek.cpp
|
||||||
Syscalls/mkdir.cpp
|
Syscalls/mkdir.cpp
|
||||||
Syscalls/mknod.cpp
|
Syscalls/mknod.cpp
|
||||||
Syscalls/mmap.cpp
|
|
||||||
Syscalls/mount.cpp
|
Syscalls/mount.cpp
|
||||||
Syscalls/open.cpp
|
Syscalls/open.cpp
|
||||||
Syscalls/perf_event.cpp
|
Syscalls/perf_event.cpp
|
||||||
|
@ -283,7 +277,6 @@ set(KERNEL_SOURCES
|
||||||
Syscalls/prctl.cpp
|
Syscalls/prctl.cpp
|
||||||
Syscalls/process.cpp
|
Syscalls/process.cpp
|
||||||
Syscalls/profiling.cpp
|
Syscalls/profiling.cpp
|
||||||
Syscalls/ptrace.cpp
|
|
||||||
Syscalls/purge.cpp
|
Syscalls/purge.cpp
|
||||||
Syscalls/read.cpp
|
Syscalls/read.cpp
|
||||||
Syscalls/readlink.cpp
|
Syscalls/readlink.cpp
|
||||||
|
@ -295,7 +288,6 @@ set(KERNEL_SOURCES
|
||||||
Syscalls/sendfd.cpp
|
Syscalls/sendfd.cpp
|
||||||
Syscalls/setpgid.cpp
|
Syscalls/setpgid.cpp
|
||||||
Syscalls/setuid.cpp
|
Syscalls/setuid.cpp
|
||||||
Syscalls/sigaction.cpp
|
|
||||||
Syscalls/socket.cpp
|
Syscalls/socket.cpp
|
||||||
Syscalls/stat.cpp
|
Syscalls/stat.cpp
|
||||||
Syscalls/statvfs.cpp
|
Syscalls/statvfs.cpp
|
||||||
|
@ -329,7 +321,6 @@ set(KERNEL_SOURCES
|
||||||
UserOrKernelBuffer.cpp
|
UserOrKernelBuffer.cpp
|
||||||
WaitQueue.cpp
|
WaitQueue.cpp
|
||||||
WorkQueue.cpp
|
WorkQueue.cpp
|
||||||
kprintf.cpp
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if ("${SERENITY_ARCH}" STREQUAL "i686" OR "${SERENITY_ARCH}" STREQUAL "x86_64")
|
if ("${SERENITY_ARCH}" STREQUAL "i686" OR "${SERENITY_ARCH}" STREQUAL "x86_64")
|
||||||
|
@ -375,6 +366,17 @@ if ("${SERENITY_ARCH}" STREQUAL "i686" OR "${SERENITY_ARCH}" STREQUAL "x86_64")
|
||||||
Arch/x86/Time/RTC.cpp
|
Arch/x86/Time/RTC.cpp
|
||||||
|
|
||||||
Arch/x86/VGA/IOArbiter.cpp
|
Arch/x86/VGA/IOArbiter.cpp
|
||||||
|
|
||||||
|
# TODO: Share these with the aarch64 build
|
||||||
|
Interrupts/SpuriousInterruptHandler.cpp
|
||||||
|
kprintf.cpp
|
||||||
|
Panic.cpp
|
||||||
|
Syscall.cpp
|
||||||
|
Syscalls/execve.cpp
|
||||||
|
Syscalls/fork.cpp
|
||||||
|
Syscalls/mmap.cpp
|
||||||
|
Syscalls/ptrace.cpp
|
||||||
|
Syscalls/sigaction.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(KERNEL_SOURCES
|
set(KERNEL_SOURCES
|
||||||
|
@ -414,6 +416,48 @@ if ("${SERENITY_ARCH}" STREQUAL "i686" OR "${SERENITY_ARCH}" STREQUAL "x86_64")
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/Arch/x86/${KERNEL_ARCH}/Atomics.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/x86/${KERNEL_ARCH}/Atomics.cpp
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
elseif("${SERENITY_ARCH}" STREQUAL "aarch64")
|
||||||
|
set(RPI_SOURCES
|
||||||
|
Arch/aarch64/RPi/DebugOutput.cpp
|
||||||
|
Arch/aarch64/RPi/Framebuffer.cpp
|
||||||
|
Arch/aarch64/RPi/GPIO.cpp
|
||||||
|
Arch/aarch64/RPi/InterruptController.cpp
|
||||||
|
Arch/aarch64/RPi/Mailbox.cpp
|
||||||
|
Arch/aarch64/RPi/MMIO.cpp
|
||||||
|
Arch/aarch64/RPi/Timer.cpp
|
||||||
|
Arch/aarch64/RPi/UART.cpp
|
||||||
|
)
|
||||||
|
set(KERNEL_SOURCES
|
||||||
|
${KERNEL_SOURCES}
|
||||||
|
${RPI_SOURCES}
|
||||||
|
Arch/Processor.cpp
|
||||||
|
|
||||||
|
Arch/aarch64/boot.S
|
||||||
|
Arch/aarch64/BootPPMParser.cpp
|
||||||
|
Arch/aarch64/CrashHandler.cpp
|
||||||
|
Arch/aarch64/CurrentTime.cpp
|
||||||
|
Arch/aarch64/Dummy.cpp
|
||||||
|
Arch/aarch64/Exceptions.cpp
|
||||||
|
Arch/aarch64/init.cpp
|
||||||
|
Arch/aarch64/InterruptManagement.cpp
|
||||||
|
Arch/aarch64/Interrupts.cpp
|
||||||
|
Arch/aarch64/kprintf.cpp
|
||||||
|
Arch/aarch64/MainIdRegister.cpp
|
||||||
|
Arch/aarch64/MMU.cpp
|
||||||
|
Arch/aarch64/PageDirectory.cpp
|
||||||
|
Arch/aarch64/Panic.cpp
|
||||||
|
Arch/aarch64/Processor.cpp
|
||||||
|
Arch/aarch64/SafeMem.cpp
|
||||||
|
Arch/aarch64/ScopedCritical.cpp
|
||||||
|
Arch/aarch64/SmapDisabler.cpp
|
||||||
|
Arch/aarch64/vector_table.S
|
||||||
|
)
|
||||||
|
|
||||||
|
# Otherwise linker errors e.g undefined reference to `__aarch64_cas8_acq_rel'
|
||||||
|
add_compile_options(-mno-outline-atomics -latomic)
|
||||||
|
|
||||||
|
# FIXME: Remove this once compiling MemoryManager.cpp doesn't give the nonnull error anymore.
|
||||||
|
add_compile_options(-Wno-nonnull)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(AK_SOURCES
|
set(AK_SOURCES
|
||||||
|
@ -472,115 +516,15 @@ set(PARTITION_SOURCES
|
||||||
)
|
)
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
|
${KERNEL_SOURCES}
|
||||||
|
${GENERATED_SOURCES}
|
||||||
${AK_SOURCES}
|
${AK_SOURCES}
|
||||||
)
|
${EDID_SOURCES}
|
||||||
if (NOT "${SERENITY_ARCH}" STREQUAL "aarch64")
|
${ELF_SOURCES}
|
||||||
set(SOURCES
|
${VT_SOURCES}
|
||||||
${KERNEL_SOURCES}
|
${CRYPTO_SOURCES}
|
||||||
${GENERATED_SOURCES}
|
${PARTITION_SOURCES}
|
||||||
${SOURCES}
|
)
|
||||||
${EDID_SOURCES}
|
|
||||||
${ELF_SOURCES}
|
|
||||||
${VT_SOURCES}
|
|
||||||
${CRYPTO_SOURCES}
|
|
||||||
${PARTITION_SOURCES}
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(RPI_SOURCES
|
|
||||||
Arch/aarch64/RPi/DebugOutput.cpp
|
|
||||||
Arch/aarch64/RPi/Framebuffer.cpp
|
|
||||||
Arch/aarch64/RPi/GPIO.cpp
|
|
||||||
Arch/aarch64/RPi/InterruptController.cpp
|
|
||||||
Arch/aarch64/RPi/Mailbox.cpp
|
|
||||||
Arch/aarch64/RPi/MMIO.cpp
|
|
||||||
Arch/aarch64/RPi/Timer.cpp
|
|
||||||
Arch/aarch64/RPi/UART.cpp
|
|
||||||
)
|
|
||||||
set(SOURCES
|
|
||||||
${AK_SOURCES}
|
|
||||||
${RPI_SOURCES}
|
|
||||||
${CRYPTO_SOURCES}
|
|
||||||
|
|
||||||
Arch/Processor.cpp
|
|
||||||
|
|
||||||
Arch/aarch64/boot.S
|
|
||||||
Arch/aarch64/BootPPMParser.cpp
|
|
||||||
Arch/aarch64/CrashHandler.cpp
|
|
||||||
Arch/aarch64/CurrentTime.cpp
|
|
||||||
Arch/aarch64/Dummy.cpp
|
|
||||||
Arch/aarch64/Exceptions.cpp
|
|
||||||
Arch/aarch64/init.cpp
|
|
||||||
Arch/aarch64/InterruptManagement.cpp
|
|
||||||
Arch/aarch64/Interrupts.cpp
|
|
||||||
Arch/aarch64/kprintf.cpp
|
|
||||||
Arch/aarch64/MainIdRegister.cpp
|
|
||||||
Arch/aarch64/MMU.cpp
|
|
||||||
Arch/aarch64/PageDirectory.cpp
|
|
||||||
Arch/aarch64/Panic.cpp
|
|
||||||
Arch/aarch64/Processor.cpp
|
|
||||||
Arch/aarch64/SafeMem.cpp
|
|
||||||
Arch/aarch64/ScopedCritical.cpp
|
|
||||||
Arch/aarch64/SmapDisabler.cpp
|
|
||||||
Arch/aarch64/vector_table.S
|
|
||||||
|
|
||||||
# Files from base Kernel
|
|
||||||
CommandLine.cpp
|
|
||||||
Credentials.cpp
|
|
||||||
KBufferBuilder.cpp
|
|
||||||
KString.cpp
|
|
||||||
KSyms.cpp
|
|
||||||
MiniStdLib.cpp
|
|
||||||
Process.cpp
|
|
||||||
ProcessProcFSTraits.cpp
|
|
||||||
Random.cpp
|
|
||||||
Scheduler.cpp
|
|
||||||
StdLib.cpp
|
|
||||||
Time/TimeManagement.cpp
|
|
||||||
TimerQueue.cpp
|
|
||||||
Thread.cpp
|
|
||||||
ThreadTracer.cpp
|
|
||||||
UBSanitizer.cpp
|
|
||||||
UserOrKernelBuffer.cpp
|
|
||||||
WaitQueue.cpp
|
|
||||||
|
|
||||||
Devices/DeviceManagement.cpp
|
|
||||||
|
|
||||||
Graphics/Console/BootFramebufferConsole.cpp
|
|
||||||
Graphics/Console/GenericFramebufferConsole.cpp
|
|
||||||
|
|
||||||
Locking/Mutex.cpp
|
|
||||||
Locking/Spinlock.cpp
|
|
||||||
|
|
||||||
Memory/AddressSpace.cpp
|
|
||||||
Memory/AnonymousVMObject.cpp
|
|
||||||
Memory/InodeVMObject.cpp
|
|
||||||
Memory/MemoryManager.cpp
|
|
||||||
Memory/PageDirectory.cpp
|
|
||||||
Memory/PhysicalPage.cpp
|
|
||||||
Memory/PhysicalRegion.cpp
|
|
||||||
Memory/PhysicalZone.cpp
|
|
||||||
Memory/PrivateInodeVMObject.cpp
|
|
||||||
Memory/Region.cpp
|
|
||||||
Memory/RegionTree.cpp
|
|
||||||
Memory/RingBuffer.cpp
|
|
||||||
Memory/ScatterGatherList.cpp
|
|
||||||
Memory/ScopedAddressSpaceSwitcher.cpp
|
|
||||||
Memory/SharedInodeVMObject.cpp
|
|
||||||
Memory/VirtualRange.cpp
|
|
||||||
Memory/VMObject.cpp
|
|
||||||
|
|
||||||
Interrupts/GenericInterruptHandler.cpp
|
|
||||||
Interrupts/IRQHandler.cpp
|
|
||||||
Interrupts/SharedIRQHandler.cpp
|
|
||||||
Interrupts/UnhandledInterruptHandler.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
# Otherwise linker errors e.g undefined reference to `__aarch64_cas8_acq_rel'
|
|
||||||
add_compile_options(-mno-outline-atomics -latomic)
|
|
||||||
|
|
||||||
# FIXME: Remove this once compiling MemoryManager.cpp doesn't give the nonnull error anymore.
|
|
||||||
add_compile_options(-Wno-nonnull)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_compile_options(-fsigned-char)
|
add_compile_options(-fsigned-char)
|
||||||
add_compile_options(-Wno-unknown-warning-option -Wvla -Wnull-dereference)
|
add_compile_options(-Wno-unknown-warning-option -Wvla -Wnull-dereference)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue