mp.h

来自「美国mit操作系统课程所用的一个教学操作系统xv6」· C头文件 代码 · 共 55 行

H
55
字号
// See MultiProcessor Specification Version 1.[14]struct mp {             // floating pointer  uchar signature[4];           // "_MP_"  void *physaddr;               // phys addr of MP config table  uchar length;                 // 1  uchar specrev;                // [14]  uchar checksum;               // all bytes must add up to 0  uchar type;                   // MP system config type  uchar imcrp;  uchar reserved[3];};struct mpconf {         // configuration table header  uchar signature[4];           // "PCMP"  ushort length;                // total table length  uchar version;                // [14]  uchar checksum;               // all bytes must add up to 0  uchar product[20];            // product id  uint *oemtable;               // OEM table pointer  ushort oemlength;             // OEM table length  ushort entry;                 // entry count  uint *lapicaddr;              // address of local APIC  ushort xlength;               // extended table length  uchar xchecksum;              // extended table checksum  uchar reserved;};struct mpproc {         // processor table entry  uchar type;                   // entry type (0)  uchar apicid;                 // local APIC id  uchar version;                // local APIC verison  uchar flags;                  // CPU flags    #define MPBOOT 0x02           // This proc is the bootstrap processor.  uchar signature[4];           // CPU signature  uint feature;                 // feature flags from CPUID instruction  uchar reserved[8];};struct mpioapic {       // I/O APIC table entry  uchar type;                   // entry type (2)  uchar apicno;                 // I/O APIC id  uchar version;                // I/O APIC version  uchar flags;                  // I/O APIC flags  uint *addr;                  // I/O APIC address};// Table entry types#define MPPROC    0x00  // One per processor#define MPBUS     0x01  // One per bus#define MPIOAPIC  0x02  // One per I/O APIC#define MPIOINTR  0x03  // One per bus interrupt source#define MPLINTR   0x04  // One per system interrupt source

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?