Created x86/mp.h
This commit is contained in:
53
include/x86/mp.h
Normal file
53
include/x86/mp.h
Normal 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));
|
||||||
Reference in New Issue
Block a user