kern: Implement KAutoObject, KSlabHeap, KLightLock
This commit is contained in:
@@ -14,11 +14,24 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
#include <mesosphere/kern_slab_helpers.hpp>
|
||||
|
||||
namespace ams::kern {
|
||||
|
||||
|
||||
class KThread {
|
||||
class KThread : KAutoObjectWithSlabHeapAndContainer<KThread, /* TODO: KSynchronizationObject */ KAutoObjectWithList> {
|
||||
public:
|
||||
struct StackParameters {
|
||||
alignas(0x10) u8 svc_permission[0x10];
|
||||
std::atomic<u8> dpc_flags;
|
||||
u8 current_svc_id;
|
||||
bool is_calling_svc;
|
||||
bool is_in_exception_handler;
|
||||
bool has_exception_svc_perms;
|
||||
s32 disable_count;
|
||||
void *context; /* TODO: KThreadContext * */
|
||||
};
|
||||
static_assert(alignof(StackParameters) == 0x10);
|
||||
/* TODO: This should be a KAutoObject, and this is a placeholder definition. */
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user