kernel/CPU: Move some stuff to StringView
This commit is contained in:
parent
1215c38d75
commit
abaf24d0da
@ -1,12 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <luna/Result.h>
|
#include <luna/Result.h>
|
||||||
|
#include <luna/StringView.h>
|
||||||
|
|
||||||
struct Registers;
|
struct Registers;
|
||||||
|
|
||||||
namespace CPU
|
namespace CPU
|
||||||
{
|
{
|
||||||
Result<const char*> identify();
|
Result<StringView> identify();
|
||||||
const char* platform_string();
|
StringView platform_string();
|
||||||
|
|
||||||
void platform_init();
|
void platform_init();
|
||||||
void platform_finish_init();
|
void platform_finish_init();
|
||||||
|
@ -184,7 +184,7 @@ static bool test_nx()
|
|||||||
|
|
||||||
namespace CPU
|
namespace CPU
|
||||||
{
|
{
|
||||||
Result<const char*> identify()
|
Result<StringView> identify()
|
||||||
{
|
{
|
||||||
static char brand_string[49];
|
static char brand_string[49];
|
||||||
|
|
||||||
@ -198,12 +198,12 @@ namespace CPU
|
|||||||
|
|
||||||
brand_string[48] = 0; // null-terminate it :)
|
brand_string[48] = 0; // null-terminate it :)
|
||||||
|
|
||||||
return brand_string;
|
return StringView { brand_string, 48 };
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* platform_string()
|
StringView platform_string()
|
||||||
{
|
{
|
||||||
return "x86_64";
|
return "x86_64"_sv;
|
||||||
}
|
}
|
||||||
|
|
||||||
void platform_init()
|
void platform_init()
|
||||||
|
@ -41,8 +41,8 @@ Result<void> init()
|
|||||||
// Default hostname if nobody from userspace changes it
|
// Default hostname if nobody from userspace changes it
|
||||||
set_host_name("moon"_sv);
|
set_host_name("moon"_sv);
|
||||||
|
|
||||||
kinfoln("Current platform: %s", CPU::platform_string());
|
kinfoln("Current platform: %s", CPU::platform_string().chars());
|
||||||
kinfoln("Current processor: %s", CPU::identify().value_or("(unknown)"));
|
kinfoln("Current processor: %s", CPU::identify().value_or("(unknown)"_sv).chars());
|
||||||
|
|
||||||
kinfoln("Total memory: %s", to_dynamic_unit(MemoryManager::total()).release_value().chars());
|
kinfoln("Total memory: %s", to_dynamic_unit(MemoryManager::total()).release_value().chars());
|
||||||
kinfoln("Free memory: %s", to_dynamic_unit(MemoryManager::free()).release_value().chars());
|
kinfoln("Free memory: %s", to_dynamic_unit(MemoryManager::free()).release_value().chars());
|
||||||
|
@ -27,7 +27,7 @@ Result<u64> sys_uname(Registers*, SyscallArgs args)
|
|||||||
// FIXME: Hardcode this at build time instead of in code (should be the short commit hash).
|
// FIXME: Hardcode this at build time instead of in code (should be the short commit hash).
|
||||||
strncpy(result.version, "alpha", _UTSNAME_LENGTH);
|
strncpy(result.version, "alpha", _UTSNAME_LENGTH);
|
||||||
|
|
||||||
strncpy(result.machine, CPU::platform_string(), _UTSNAME_LENGTH);
|
strncpy(result.machine, CPU::platform_string().chars(), _UTSNAME_LENGTH);
|
||||||
|
|
||||||
if (!MemoryManager::copy_to_user_typed(buf, &result)) return err(EFAULT);
|
if (!MemoryManager::copy_to_user_typed(buf, &result)) return err(EFAULT);
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ namespace ELFLoader
|
|||||||
if (elf_header.e_machine != EM_MACH)
|
if (elf_header.e_machine != EM_MACH)
|
||||||
{
|
{
|
||||||
kerrorln("Error while loading ELF: ELF object's target architecture does not match the current one (%s)",
|
kerrorln("Error while loading ELF: ELF object's target architecture does not match the current one (%s)",
|
||||||
CPU::platform_string());
|
CPU::platform_string().chars());
|
||||||
return err(ENOEXEC);
|
return err(ENOEXEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user