ams: support building unit test programs on windows/linux/macos

This commit is contained in:
Michael Scire 2022-03-06 12:08:20 -08:00 committed by SciresM
parent 9a38be201a
commit 64a97576d0
756 changed files with 33359 additions and 9372 deletions

View file

@ -19,6 +19,9 @@
#include "os_thread_manager_types.hpp"
#include "os_tick_manager_impl.hpp"
#include "os_aslr_space_manager_types.hpp"
#include "os_tls_manager_types.hpp"
#include "os_giant_lock_types.hpp"
#include "os_vamm_manager_types.hpp"
namespace ams::os::impl {
@ -28,21 +31,26 @@ namespace ams::os::impl {
AslrSpaceManager m_aslr_space_manager{};
/* TODO */
ThreadManager m_thread_manager{};
/* TODO */
//TlsManager m_tls_manager{};
TickManager m_tick_manager{};
/* TODO */
VammManager m_vamm_manager;
GiantLock m_giant_lock{};
public:
OsResourceManager() = default;
constexpr ALWAYS_INLINE RngManager &GetRngManager() { return m_rng_manager; }
constexpr ALWAYS_INLINE AslrSpaceManager &GetAslrSpaceManager() { return m_aslr_space_manager; }
constexpr ALWAYS_INLINE ThreadManager &GetThreadManager() { return m_thread_manager; }
//constexpr ALWAYS_INLINE TlsManager &GetTlsManager() { return m_tls_manager; }
constexpr ALWAYS_INLINE TickManager &GetTickManager() { return m_tick_manager; }
constexpr ALWAYS_INLINE VammManager &GetVammManager() { return m_vamm_manager; }
constexpr ALWAYS_INLINE GiantLock &GetGiantLock() { return m_giant_lock; }
};
class ResourceManagerHolder {
private:
static util::TypedStorage<OsResourceManager> s_resource_manager_storage;
static constinit util::TypedStorage<OsResourceManager> s_resource_manager_storage;
private:
constexpr ResourceManagerHolder() { /* ... */ }
public: