James Mintram
d014c0501d
Kernel: Remove unused dummy function from dummy.cpp
2022-04-04 14:35:54 -07:00
James Mintram
bd7acd4b90
Kernel: Add VERIFY_NOT_REACHED to stub functions in aarch64 dummy.cpp
2022-04-04 14:35:54 -07:00
James Mintram
92a8383101
Kernel: Add VERIFY_NOT_REACHED to stub aarch64 Processor functions
2022-04-04 14:35:54 -07:00
James Mintram
463910df98
Kernel: Print out assertion info in __assertion_failed on aarch64
2022-04-04 22:25:33 +01:00
James Mintram
2b442ae44f
Kernel: Add kmalloc.cpp to aarch64
2022-04-03 23:21:04 +02:00
James Mintram
9186ed3101
Kernel: Add all memory files to aarch64 and fix resulting linker errors
2022-04-02 19:34:20 -07:00
James Mintram
d79c772c87
Kernel: Make MemoryManager compile on aarch64
2022-04-02 19:34:20 -07:00
James Mintram
6299a69253
Kernel: Make handle_crash available to aarch64
2022-04-02 19:34:20 -07:00
James Mintram
d3b6201b40
Kernel: Make PageDirectory.cpp compile on aarch64
2022-04-02 19:34:20 -07:00
James Mintram
783a44b18e
Kernel: Make PhysicalRegion.cpp compile on aarch64
2022-04-02 19:34:20 -07:00
James Mintram
627fd231d5
Kernel: Make Region.cpp compile on aarch64
2022-04-02 19:34:20 -07:00
James Mintram
a883079b29
Kernel: Add missing new/delete and kcalloc to dummy.cpp
2022-04-02 19:34:20 -07:00
James Mintram
031b0c76b5
Kernel: Re-add dummy.cpp and remove duplicate definitions
2022-04-02 19:34:20 -07:00
James Mintram
d50e237281
Kernel: Add idle_thread() to aarch64 Processor.h
2022-04-02 19:34:20 -07:00
James Mintram
026efae8a8
Kernel: Add PAGE_MASK to an aarch64 CPU header
2022-04-02 19:34:20 -07:00
Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
Lenny Maiorani
190cf1507b
Kernel: Use default constructors/destructors
...
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules
"The compiler is more likely to get the default semantics right and
you cannot implement these functions better than the compiler."
2022-03-17 00:51:36 -07:00
Jakub V. Flasar
6d2c298b66
Kernel: Move aarch64 Prekernel into Kernel
...
As there is no need for a Prekernel on aarch64, the Prekernel code was
moved into Kernel itself. The functionality remains the same.
SERENITY_KERNEL_AND_INITRD in run.sh specifies a kernel and an inital
ramdisk to be used by the emulator. This is needed because aarch64
does not need a Prekernel and the other ones do.
2022-03-12 14:54:12 -08:00
Jakub V. Flasar
f94293f121
Kernel: Create a stub mcontext for aarch64
...
The struct only has a stub integer so that the size is the same for C
and C++. Something caught by CLion.
This commit was made with mrkct's help!
2022-03-12 14:54:12 -08:00
Marco Cutecchia
a9dbb52deb
Kernel: Add 'RegisterState' & 'KString::try_create' stubs for aarch64
...
The aarch64 build was broken due to missing these two things, this
commit adds two empty stubs for them
2022-02-18 01:48:18 +01:00
Lenny Maiorani
b0a54518d8
Everywhere: Remove redundant inline keyword
...
`constexpr` implies `inline` so when both are used it is redundant.
2022-01-29 21:45:17 +02:00
Hendiadyoin1
3f434506f5
Kernel: Extract ProcessorSpecificDataID from from Arch/Processor.h
2021-12-11 13:23:27 -08:00
Daniel Bertalan
8e2d0c8d5c
Kernel: Do not return a null ref in Processor::current
on aarch64
...
Clang rejects binding a reference to a null pointer at compile-time.
Let's just crash explicitly, instead of waiting for a null dereference
to mess things up.
2021-12-04 11:59:59 -08:00
James Mintram
4a4a3193f8
Kernel: Rename Aarch64Asm -> ASM_wrapper and add Aarch64::Asm namespace
2021-11-28 22:01:21 -08:00
James Mintram
34709c8d39
Kernel: Rename Aarch64Registers -> Registers and add Aarch64 namespace
2021-11-28 22:01:21 -08:00
James Mintram
271b9b8da3
Kernel: Set up and activate the MMU in the aarch64 perkernel
2021-11-28 22:01:21 -08:00
James Mintram
c2d7e200eb
Kernel: Move common aarch64 asm functions into kernel folder and NS
2021-11-28 22:01:21 -08:00
James Mintram
5a75bd31b0
Kernel: Replace inline asm with typesafe static member functions
2021-11-28 22:01:21 -08:00
Andreas Kling
79fa9765ca
Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T>
...
We now use AK::Error and AK::ErrorOr<T> in both kernel and userspace!
This was a slightly tedious refactoring that took a long time, so it's
not unlikely that some bugs crept in.
Nevertheless, it does pass basic functionality testing, and it's just
real nice to finally see the same pattern in all contexts. :^)
2021-11-08 01:10:53 +01:00
James Mintram
8e4d53f216
Kernel: Add MiniStdLib to the Aarch64 kernel
2021-10-16 23:31:52 +01:00
James Mintram
3a9c7ce9d4
Kernel: Add StdLib.cpp to aarch64 build and update stubs in dummy.cpp
2021-10-15 21:48:45 +01:00
James Mintram
e8f09279d3
Kernel: Move spinlock into Arch
...
Spinlocks are tied to the platform they are built for, this is why they
have been moved into the Arch folder. They are still available via
"Locking/Spinlock.h"
An Aarch64 stub has been created
2021-10-15 21:48:45 +01:00
James Mintram
dfe4810c3a
Kernel: Add cross platform RegisterState header and Aarch64 version
...
A new RegisterState header includes the platform specific RegisterState
header based on the platform being compiled.
The Aarch64 RegisterState header contains stubs for Debug
2021-10-15 21:48:45 +01:00
James Mintram
0fbeac6011
Kernel: Split SmapDisabler so header is platform independent
...
A new header file has been created in the Arch/ folder while the
implementation has been moved into a CPP living in the X86 folder.
2021-10-15 21:48:45 +01:00
James Mintram
f4fb637914
Kernel: Split ScopedCritical so header is platform independent
...
A new header file has been created in the Arch/ folder while the
implementation has been moved into a CPP living in the X86 folder.
2021-10-15 21:48:45 +01:00
James Mintram
ceb3328877
Kernel: Fix all linker errors for Aarch64 build
2021-10-14 01:23:08 +01:00
James Mintram
545ce5b595
Kernel: Add per platform Processor.h headers
...
The platform independent Processor.h file includes the shared processor
code and includes the specific platform header file.
All references to the Arch/x86/Processor.h file have been replaced with
a reference to Arch/Processor.h.
2021-10-14 01:23:08 +01:00
Nico Weber
585edb8cff
Kernel: Omit all actual code from the kernel on aarch64 for now
2021-08-28 21:51:30 +01:00