1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 23:17:45 +00:00

Kernel: Move all code into the Kernel namespace

This commit is contained in:
Andreas Kling 2020-02-16 01:27:42 +01:00
parent d42f0f4661
commit a356e48150
201 changed files with 907 additions and 111 deletions

View file

@ -57,19 +57,19 @@ Console::~Console()
}
#if defined(KERNEL)
bool Console::can_read(const FileDescription&) const
bool Console::can_read(const Kernel::FileDescription&) const
{
return false;
}
ssize_t Console::read(FileDescription&, u8*, ssize_t)
ssize_t Console::read(Kernel::FileDescription&, u8*, ssize_t)
{
// FIXME: Implement reading from the console.
// Maybe we could use a ring buffer for this device?
return 0;
}
ssize_t Console::write(FileDescription&, const u8* data, ssize_t size)
ssize_t Console::write(Kernel::FileDescription&, const u8* data, ssize_t size)
{
if (!size)
return 0;

View file

@ -39,7 +39,7 @@ public:
};
#if defined(KERNEL)
class Console final : public CharacterDevice {
class Console final : public Kernel::CharacterDevice {
AK_MAKE_ETERNAL
#elif defined(BOOTSTRAPPER)
class Console {
@ -57,10 +57,10 @@ public:
#if defined(KERNEL)
// ^CharacterDevice
virtual bool can_read(const FileDescription&) const override;
virtual bool can_write(const FileDescription&) const override { return true; }
virtual ssize_t read(FileDescription&, u8*, ssize_t) override;
virtual ssize_t write(FileDescription&, const u8*, ssize_t) override;
virtual bool can_read(const Kernel::FileDescription&) const override;
virtual bool can_write(const Kernel::FileDescription&) const override { return true; }
virtual ssize_t read(Kernel::FileDescription&, u8*, ssize_t) override;
virtual ssize_t write(Kernel::FileDescription&, const u8*, ssize_t) override;
virtual const char* class_name() const override { return "Console"; }
#endif
void set_implementation(ConsoleImplementation* implementation)

View file

@ -38,7 +38,7 @@
#ifdef KERNEL
String copy_string_from_user(const char* user_str, size_t user_str_size)
{
SmapDisabler disabler;
Kernel::SmapDisabler disabler;
size_t length = strnlen(user_str, user_str_size);
return String(user_str, length);
}
@ -49,15 +49,15 @@ extern "C" {
#ifdef KERNEL
void copy_to_user(void* dest_ptr, const void* src_ptr, size_t n)
{
ASSERT(is_user_range(VirtualAddress(dest_ptr), n));
SmapDisabler disabler;
ASSERT(Kernel::is_user_range(VirtualAddress(dest_ptr), n));
Kernel::SmapDisabler disabler;
memcpy(dest_ptr, src_ptr, n);
}
void copy_from_user(void* dest_ptr, const void* src_ptr, size_t n)
{
ASSERT(is_user_range(VirtualAddress(src_ptr), n));
SmapDisabler disabler;
ASSERT(Kernel::is_user_range(VirtualAddress(src_ptr), n));
Kernel::SmapDisabler disabler;
memcpy(dest_ptr, src_ptr, n);
}
#endif
@ -118,8 +118,8 @@ char* strncpy(char* dest, const char* src, size_t n)
#ifdef KERNEL
void memset_user(void* dest_ptr, int c, size_t n)
{
ASSERT(is_user_range(VirtualAddress(dest_ptr), n));
SmapDisabler disabler;
ASSERT(Kernel::is_user_range(VirtualAddress(dest_ptr), n));
Kernel::SmapDisabler disabler;
memset(dest_ptr, c, n);
}
#endif

View file

@ -154,7 +154,7 @@ String ELFLoader::symbolicate(u32 address, u32* out_offset) const
SortedSymbol* sorted_symbols = nullptr;
#ifdef KERNEL
if (!m_sorted_symbols_region) {
m_sorted_symbols_region = MM.allocate_kernel_region(PAGE_ROUND_UP(m_image.symbol_count() * sizeof(SortedSymbol)), "Sorted symbols", Region::Access::Read | Region::Access::Write);
m_sorted_symbols_region = MM.allocate_kernel_region(PAGE_ROUND_UP(m_image.symbol_count() * sizeof(SortedSymbol)), "Sorted symbols", Kernel::Region::Access::Read | Kernel::Region::Access::Write);
sorted_symbols = (SortedSymbol*)m_sorted_symbols_region->vaddr().as_ptr();
size_t index = 0;
m_image.for_each_symbol([&](auto& symbol) {

View file

@ -34,7 +34,9 @@
#ifdef KERNEL
# include <LibBareMetal/Memory/VirtualAddress.h>
namespace Kernel {
class Region;
}
#endif
class ELFLoader {
@ -80,7 +82,7 @@ private:
StringView name;
};
#ifdef KERNEL
mutable OwnPtr<Region> m_sorted_symbols_region;
mutable OwnPtr<Kernel::Region> m_sorted_symbols_region;
#else
mutable Vector<SortedSymbol> m_sorted_symbols;
#endif