kern: implement KHandleTable, other cleanup

This commit is contained in:
Michael Scire 2020-01-30 15:29:51 -08:00
parent d5a4c17ee7
commit 484f132651
41 changed files with 710 additions and 89 deletions

View file

@ -17,7 +17,7 @@
#include <mesosphere/kern_k_typed_address.hpp>
#ifdef ATMOSPHERE_ARCH_ARM64
#include "../arch/arm64/init/kern_k_init_arguments.hpp"
#include <mesosphere/arch/arm64/init/kern_k_init_arguments.hpp>
#else
#error "Unknown architecture for KInitArguments"
#endif

View file

@ -17,23 +17,21 @@
#include <vapours.hpp>
#ifdef ATMOSPHERE_ARCH_ARM64
#include "kern_init_elf64.hpp"
#include <mesosphere/init/kern_init_elf64.hpp>
namespace ams::kern::init::Elf {
using namespace ams::kern::init::Elf::Elf64;
enum RelocationType {
R_ARCHITECTURE_RELATIVE = 0x403, /* Real name R_AARCH64_RELATIVE */
};
}
#else
#error "Unknown Architecture"
#endif
namespace ams::kern::init::Elf {
#ifdef ATMOSPHERE_ARCH_ARM64
using namespace ams::kern::init::Elf::Elf64;
enum RelocationType {
R_ARCHITECTURE_RELATIVE = 0x403, /* Real name R_AARCH64_RELATIVE */
};
#else
#error "Unknown Architecture"
#endif
/* API to apply relocations or call init array. */
void ApplyRelocations(uintptr_t base_address, const Dyn *dynamic);
void CallInitArrayFuncs(uintptr_t init_array_start, uintptr_t init_array_end);

View file

@ -16,7 +16,7 @@
#pragma once
#ifdef ATMOSPHERE_ARCH_ARM64
#include "../arch/arm64/init/kern_k_init_page_table.hpp"
#include <mesosphere/arch/arm64/init/kern_k_init_page_table.hpp>
#else
#error "Unknown architecture for KInitialPageTable"
#endif