Created x86/mp.h

This commit is contained in:
2023-11-07 12:36:59 -06:00
parent b9208aceba
commit 98528dbc4a

53
include/x86/mp.h Normal file
View File

@@ -0,0 +1,53 @@
#include <stdint.h>
#define MP_SIGNATURE (uint32_t) 0x5F504D5F
struct mp_floating_pointer
{
/**
* @brief The ASCII string "_MP_" indicates the presence of the pointer structure.
*
*/
uint32_t signature;
/**
* @brief The physical address of the MP configuration table. All zeroes if
* the table does not exist.
*
*/
uint32_t physical_addr;
/**
* @brief The length of the floating pointer structure in 16-byte units.
* Should contain the value '0x01'.
*
*/
uint8_t length;
/**
* @brief The version number of the MP specification supported.
*
*/
uint8_t spec_rev;
/**
* @brief A checksum of the pointer structure.
*
*/
uint8_t checksum;
/**
* @brief When zero, the configuration table is present. Otherwise, the
* value indicates a default configuration.
*
*/
uint8_t config_type;
uint8_t undef : 7;
/**
* @brief
*
*/
uint8_t imcrp : 1;
} __attribute__ ((packed));