mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-29 14:14:45 +03:00
37 lines
2.0 KiB
Plaintext
37 lines
2.0 KiB
Plaintext
|
/*
|
||
|
* Copyright (c) 2023, kleines Filmröllchen <filmroellchen@serenityos.org>
|
||
|
*
|
||
|
* SPDX-License-Identifier: BSD-2-Clause
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <Kernel/Arch/Processor.h>
|
||
|
|
||
|
// This header instantiates all functions of ProcessorBase that are architecture-specific.
|
||
|
namespace Kernel {
|
||
|
template bool ProcessorBase<Processor>::is_smp_enabled();
|
||
|
template void ProcessorBase<Processor>::idle_begin() const;
|
||
|
template void ProcessorBase<Processor>::idle_end() const;
|
||
|
template void ProcessorBase<Processor>::smp_enable();
|
||
|
template void ProcessorBase<Processor>::flush_tlb_local(VirtualAddress vaddr, size_t page_count);
|
||
|
template void ProcessorBase<Processor>::flush_entire_tlb_local();
|
||
|
template void ProcessorBase<Processor>::flush_tlb(Memory::PageDirectory const*, VirtualAddress, size_t);
|
||
|
template void ProcessorBase<Processor>::early_initialize(u32 cpu);
|
||
|
template void ProcessorBase<Processor>::initialize(u32 cpu);
|
||
|
template void ProcessorBase<Processor>::halt();
|
||
|
template void ProcessorBase<Processor>::exit_trap(TrapFrame& trap);
|
||
|
template u32 ProcessorBase<Processor>::clear_critical();
|
||
|
template bool ProcessorBase<Processor>::are_interrupts_enabled();
|
||
|
template void ProcessorBase<Processor>::wait_for_interrupt() const;
|
||
|
template Processor& ProcessorBase<Processor>::by_id(u32 id);
|
||
|
template StringView ProcessorBase<Processor>::platform_string();
|
||
|
template void ProcessorBase<Processor>::set_thread_specific_data(VirtualAddress thread_specific_data);
|
||
|
template void ProcessorBase<Processor>::initialize_context_switching(Thread& initial_thread);
|
||
|
template void ProcessorBase<Processor>::switch_context(Thread*& from_thread, Thread*& to_thread);
|
||
|
template void ProcessorBase<Processor>::assume_context(Thread& thread, InterruptsState new_interrupts_state);
|
||
|
template FlatPtr ProcessorBase<Processor>::init_context(Thread& thread, bool leave_crit);
|
||
|
template ErrorOr<Vector<FlatPtr, 32>> ProcessorBase<Processor>::capture_stack_trace(Thread& thread, size_t max_frames);
|
||
|
template u32 ProcessorBase<Processor>::smp_wake_n_idle_processors(u32 wake_count);
|
||
|
}
|