ams: support building unit test programs on windows/linux/macos
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user