/*
 * Copyright (c) 2026, Chloe M.
 * Provided under the BSD-3 clause.
 *
 * Description: Thread control block
 * Author:      Chloe M.
 */

#ifndef _MACHINE_TCB_H_
#define _MACHINE_TCB_H_ 1

#include <ptdef.h>
#include <machine/frame.h>

/*
 * The thread control block contains machine specific thread
 * information.
 *
 * @FrameSnapshot:   Processor state snapshot
 * @KStackBase:      TSS RSP0 base
 * @KStackLength:    TSS RSP0 length
 */
typedef struct {
    TRAP_FRAME FrameSnapshot;
    UPTR KStackBase;
    USIZE KStackLength;
} TCB;

#endif  /* !_MACHINE_TCB_H_ */
