mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 04:37:34 +00:00
Kernel: Replace VERIFY_NOT_REACHED with TODO_AARCH64
This makes it easier to differentiate between cases where certain functionality is not implemented vs. cases where a code location should really be unreachable.
This commit is contained in:
parent
9f3de0be6a
commit
dfee6f73d2
10 changed files with 50 additions and 49 deletions
|
@ -13,7 +13,7 @@ namespace Kernel {
|
||||||
|
|
||||||
void handle_crash(Kernel::RegisterState const&, char const*, int, bool)
|
void handle_crash(Kernel::RegisterState const&, char const*, int, bool)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace Kernel {
|
||||||
|
|
||||||
void get_fast_random_bytes(Bytes)
|
void get_fast_random_bytes(Bytes)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -41,12 +41,12 @@ namespace Kernel {
|
||||||
|
|
||||||
void Mutex::lock(Mode, [[maybe_unused]] LockLocation const& location)
|
void Mutex::lock(Mode, [[maybe_unused]] LockLocation const& location)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mutex::unlock()
|
void Mutex::unlock()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ namespace Kernel {
|
||||||
|
|
||||||
SpinlockProtected<Process::List>& Process::all_instances()
|
SpinlockProtected<Process::List>& Process::all_instances()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -76,36 +76,36 @@ static Singleton<SpinlockProtected<Inode::AllInstancesList>> s_all_instances;
|
||||||
|
|
||||||
SpinlockProtected<Inode::AllInstancesList>& Inode::all_instances()
|
SpinlockProtected<Inode::AllInstancesList>& Inode::all_instances()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return s_all_instances;
|
return s_all_instances;
|
||||||
}
|
}
|
||||||
|
|
||||||
LockRefPtr<Memory::SharedInodeVMObject> Inode::shared_vmobject() const
|
LockRefPtr<Memory::SharedInodeVMObject> Inode::shared_vmobject() const
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return LockRefPtr<Memory::SharedInodeVMObject>(nullptr);
|
return LockRefPtr<Memory::SharedInodeVMObject>(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inode::will_be_destroyed()
|
void Inode::will_be_destroyed()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<void> Inode::set_shared_vmobject(Memory::SharedInodeVMObject&)
|
ErrorOr<void> Inode::set_shared_vmobject(Memory::SharedInodeVMObject&)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<size_t> Inode::read_bytes(off_t, size_t, UserOrKernelBuffer&, OpenFileDescription*) const
|
ErrorOr<size_t> Inode::read_bytes(off_t, size_t, UserOrKernelBuffer&, OpenFileDescription*) const
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorOr<size_t> Inode::write_bytes(off_t, size_t, UserOrKernelBuffer const&, OpenFileDescription*)
|
ErrorOr<size_t> Inode::write_bytes(off_t, size_t, UserOrKernelBuffer const&, OpenFileDescription*)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,7 @@ void register_generic_interrupt_handler(u8 interrupt_number, GenericInterruptHan
|
||||||
if (!handler_slot->is_shared_handler()) {
|
if (!handler_slot->is_shared_handler()) {
|
||||||
if (handler_slot->type() == HandlerType::SpuriousInterruptHandler) {
|
if (handler_slot->type() == HandlerType::SpuriousInterruptHandler) {
|
||||||
// FIXME: Add support for spurious interrupts on aarch64
|
// FIXME: Add support for spurious interrupts on aarch64
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
VERIFY(handler_slot->type() == HandlerType::IRQHandler);
|
VERIFY(handler_slot->type() == HandlerType::IRQHandler);
|
||||||
auto& previous_handler = *handler_slot;
|
auto& previous_handler = *handler_slot;
|
||||||
|
|
|
@ -12,17 +12,17 @@ namespace Kernel::Memory {
|
||||||
|
|
||||||
void PageDirectory::register_page_directory(PageDirectory*)
|
void PageDirectory::register_page_directory(PageDirectory*)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PageDirectory::deregister_page_directory(PageDirectory*)
|
void PageDirectory::deregister_page_directory(PageDirectory*)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
LockRefPtr<PageDirectory> PageDirectory::find_current()
|
LockRefPtr<PageDirectory> PageDirectory::find_current()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ void activate_kernel_page_directory(PageDirectory const&)
|
||||||
|
|
||||||
void activate_page_directory(PageDirectory const&, Thread*)
|
void activate_page_directory(PageDirectory const&, Thread*)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,25 +60,25 @@ public:
|
||||||
bool is_present() const { return (raw() & Present) == Present; }
|
bool is_present() const { return (raw() & Present) == Present; }
|
||||||
void set_present(bool) { }
|
void set_present(bool) { }
|
||||||
|
|
||||||
bool is_user_allowed() const { VERIFY_NOT_REACHED(); }
|
bool is_user_allowed() const { TODO_AARCH64(); }
|
||||||
void set_user_allowed(bool) { }
|
void set_user_allowed(bool) { }
|
||||||
|
|
||||||
bool is_huge() const { VERIFY_NOT_REACHED(); }
|
bool is_huge() const { TODO_AARCH64(); }
|
||||||
void set_huge(bool) { }
|
void set_huge(bool) { }
|
||||||
|
|
||||||
bool is_writable() const { VERIFY_NOT_REACHED(); }
|
bool is_writable() const { TODO_AARCH64(); }
|
||||||
void set_writable(bool) { }
|
void set_writable(bool) { }
|
||||||
|
|
||||||
bool is_write_through() const { VERIFY_NOT_REACHED(); }
|
bool is_write_through() const { TODO_AARCH64(); }
|
||||||
void set_write_through(bool) { }
|
void set_write_through(bool) { }
|
||||||
|
|
||||||
bool is_cache_disabled() const { VERIFY_NOT_REACHED(); }
|
bool is_cache_disabled() const { TODO_AARCH64(); }
|
||||||
void set_cache_disabled(bool) { }
|
void set_cache_disabled(bool) { }
|
||||||
|
|
||||||
bool is_global() const { VERIFY_NOT_REACHED(); }
|
bool is_global() const { TODO_AARCH64(); }
|
||||||
void set_global(bool) { }
|
void set_global(bool) { }
|
||||||
|
|
||||||
bool is_execute_disabled() const { VERIFY_NOT_REACHED(); }
|
bool is_execute_disabled() const { TODO_AARCH64(); }
|
||||||
void set_execute_disabled(bool) { }
|
void set_execute_disabled(bool) { }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -116,25 +116,25 @@ public:
|
||||||
bool is_present() const { return (raw() & Present) == Present; }
|
bool is_present() const { return (raw() & Present) == Present; }
|
||||||
void set_present(bool) { }
|
void set_present(bool) { }
|
||||||
|
|
||||||
bool is_user_allowed() const { VERIFY_NOT_REACHED(); }
|
bool is_user_allowed() const { TODO_AARCH64(); }
|
||||||
void set_user_allowed(bool) { }
|
void set_user_allowed(bool) { }
|
||||||
|
|
||||||
bool is_writable() const { VERIFY_NOT_REACHED(); }
|
bool is_writable() const { TODO_AARCH64(); }
|
||||||
void set_writable(bool) { }
|
void set_writable(bool) { }
|
||||||
|
|
||||||
bool is_write_through() const { VERIFY_NOT_REACHED(); }
|
bool is_write_through() const { TODO_AARCH64(); }
|
||||||
void set_write_through(bool) { }
|
void set_write_through(bool) { }
|
||||||
|
|
||||||
bool is_cache_disabled() const { VERIFY_NOT_REACHED(); }
|
bool is_cache_disabled() const { TODO_AARCH64(); }
|
||||||
void set_cache_disabled(bool) { }
|
void set_cache_disabled(bool) { }
|
||||||
|
|
||||||
bool is_global() const { VERIFY_NOT_REACHED(); }
|
bool is_global() const { TODO_AARCH64(); }
|
||||||
void set_global(bool) { }
|
void set_global(bool) { }
|
||||||
|
|
||||||
bool is_execute_disabled() const { VERIFY_NOT_REACHED(); }
|
bool is_execute_disabled() const { TODO_AARCH64(); }
|
||||||
void set_execute_disabled(bool) { }
|
void set_execute_disabled(bool) { }
|
||||||
|
|
||||||
bool is_pat() const { VERIFY_NOT_REACHED(); }
|
bool is_pat() const { TODO_AARCH64(); }
|
||||||
void set_pat(bool) { }
|
void set_pat(bool) { }
|
||||||
|
|
||||||
bool is_null() const { return m_raw == 0; }
|
bool is_null() const { return m_raw == 0; }
|
||||||
|
|
|
@ -52,22 +52,22 @@ public:
|
||||||
|
|
||||||
ALWAYS_INLINE static void pause()
|
ALWAYS_INLINE static void pause()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
ALWAYS_INLINE static void wait_check()
|
ALWAYS_INLINE static void wait_check()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE u8 physical_address_bit_width() const
|
ALWAYS_INLINE u8 physical_address_bit_width() const
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE u8 virtual_address_bit_width() const
|
ALWAYS_INLINE u8 virtual_address_bit_width() const
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,13 +103,13 @@ public:
|
||||||
|
|
||||||
ALWAYS_INLINE static FlatPtr current_in_irq()
|
ALWAYS_INLINE static FlatPtr current_in_irq()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE static u64 read_cpu_counter()
|
ALWAYS_INLINE static u64 read_cpu_counter()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ public:
|
||||||
|
|
||||||
static void deferred_call_queue(Function<void()> /* callback */)
|
static void deferred_call_queue(Function<void()> /* callback */)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
[[noreturn]] static void halt();
|
[[noreturn]] static void halt();
|
||||||
|
|
|
@ -11,13 +11,13 @@ namespace Kernel {
|
||||||
|
|
||||||
bool safe_memset(void*, int, size_t, void*&)
|
bool safe_memset(void*, int, size_t, void*&)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t safe_strnlen(char const*, unsigned long, void*&)
|
ssize_t safe_strnlen(char const*, unsigned long, void*&)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,31 +30,31 @@ bool safe_memcpy(void* dest_ptr, void const* src_ptr, unsigned long n, void*&)
|
||||||
|
|
||||||
Optional<bool> safe_atomic_compare_exchange_relaxed(u32 volatile*, u32&, u32)
|
Optional<bool> safe_atomic_compare_exchange_relaxed(u32 volatile*, u32&, u32)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<u32> safe_atomic_load_relaxed(u32 volatile*)
|
Optional<u32> safe_atomic_load_relaxed(u32 volatile*)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<u32> safe_atomic_fetch_add_relaxed(u32 volatile*, u32)
|
Optional<u32> safe_atomic_fetch_add_relaxed(u32 volatile*, u32)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<u32> safe_atomic_exchange_relaxed(u32 volatile*, u32)
|
Optional<u32> safe_atomic_exchange_relaxed(u32 volatile*, u32)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
bool safe_atomic_store_relaxed(u32 volatile*, u32)
|
bool safe_atomic_store_relaxed(u32 volatile*, u32)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,23 +15,23 @@ ScopedCritical::~ScopedCritical() = default;
|
||||||
|
|
||||||
ScopedCritical::ScopedCritical(ScopedCritical&& /*from*/)
|
ScopedCritical::ScopedCritical(ScopedCritical&& /*from*/)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
ScopedCritical& ScopedCritical::operator=(ScopedCritical&& /*from*/)
|
ScopedCritical& ScopedCritical::operator=(ScopedCritical&& /*from*/)
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScopedCritical::leave()
|
void ScopedCritical::leave()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScopedCritical::enter()
|
void ScopedCritical::enter()
|
||||||
{
|
{
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ extern "C" [[noreturn]] void init()
|
||||||
for (;;)
|
for (;;)
|
||||||
asm volatile("wfi");
|
asm volatile("wfi");
|
||||||
|
|
||||||
VERIFY_NOT_REACHED();
|
TODO_AARCH64();
|
||||||
}
|
}
|
||||||
|
|
||||||
class QueryFirmwareVersionMboxMessage : RPi::Mailbox::Message {
|
class QueryFirmwareVersionMboxMessage : RPi::Mailbox::Message {
|
||||||
|
|
|
@ -26,6 +26,7 @@ extern "C" {
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TODO() __assertion_failed("TODO", __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
#define TODO() __assertion_failed("TODO", __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||||
|
#define TODO_AARCH64() __assertion_failed("TODO_AARCH64", __FILE__, __LINE__, __PRETTY_FUNCTION__)
|
||||||
|
|
||||||
#define VERIFY_INTERRUPTS_DISABLED() VERIFY(!(Processor::are_interrupts_enabled()))
|
#define VERIFY_INTERRUPTS_DISABLED() VERIFY(!(Processor::are_interrupts_enabled()))
|
||||||
#define VERIFY_INTERRUPTS_ENABLED() VERIFY(Processor::are_interrupts_enabled())
|
#define VERIFY_INTERRUPTS_ENABLED() VERIFY(Processor::are_interrupts_enabled())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue