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

#ifndef _MACHINE_MCB_H_
#define _MACHINE_MCB_H_ 1

#include <stdef.h>

/*
 * The machine-core block contains machine specific
 * processor information
 *
 * @ModelId:    Processor model ID
 * @FamilyId:   Processor family ID
 * @LapicBase:  Local APIC MMIO base
 * @HasX2Apic:  If set, x2APIC is supported
 */
typedef struct {
    UCHAR ModelId;
    USHORT FamilyId : 12;
    VOID *LapicBase;
    UCHAR HasX2Apic : 1;
} MCB;

#endif  /* !_MACHINE_MCB_H_ */
