Rev 1702 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1702 | Rev 1780 | ||
|---|---|---|---|
| Line 43... | Line 43... | ||
| 43 | 43 | ||
| 44 | #define CT_EXT_ENTRY_TYPE 0 |
44 | #define CT_EXT_ENTRY_TYPE 0 |
| 45 | #define CT_EXT_ENTRY_LEN 1 |
45 | #define CT_EXT_ENTRY_LEN 1 |
| 46 | 46 | ||
| 47 | struct mps_fs { |
47 | struct mps_fs { |
| 48 | __u32 signature; |
48 | uint32_t signature; |
| 49 | __u32 configuration_table; |
49 | uint32_t configuration_table; |
| 50 | __u8 length; |
50 | uint8_t length; |
| 51 | __u8 revision; |
51 | uint8_t revision; |
| 52 | __u8 checksum; |
52 | uint8_t checksum; |
| 53 | __u8 config_type; |
53 | uint8_t config_type; |
| 54 | __u8 mpfib2; |
54 | uint8_t mpfib2; |
| 55 | __u8 mpfib3; |
55 | uint8_t mpfib3; |
| 56 | __u8 mpfib4; |
56 | uint8_t mpfib4; |
| 57 | __u8 mpfib5; |
57 | uint8_t mpfib5; |
| 58 | } __attribute__ ((packed)); |
58 | } __attribute__ ((packed)); |
| 59 | 59 | ||
| 60 | struct mps_ct { |
60 | struct mps_ct { |
| 61 | __u32 signature; |
61 | uint32_t signature; |
| 62 | __u16 base_table_length; |
62 | uint16_t base_table_length; |
| 63 | __u8 revision; |
63 | uint8_t revision; |
| 64 | __u8 checksum; |
64 | uint8_t checksum; |
| 65 | __u8 oem_id[8]; |
65 | uint8_t oem_id[8]; |
| 66 | __u8 product_id[12]; |
66 | uint8_t product_id[12]; |
| 67 | __u32 oem_table; |
67 | uint32_t oem_table; |
| 68 | __u16 oem_table_size; |
68 | uint16_t oem_table_size; |
| 69 | __u16 entry_count; |
69 | uint16_t entry_count; |
| 70 | __u32 l_apic; |
70 | uint32_t l_apic; |
| 71 | __u16 ext_table_length; |
71 | uint16_t ext_table_length; |
| 72 | __u8 ext_table_checksum; |
72 | uint8_t ext_table_checksum; |
| 73 | __u8 xxx; |
73 | uint8_t xxx; |
| 74 | __u8 base_table[0]; |
74 | uint8_t base_table[0]; |
| 75 | } __attribute__ ((packed)); |
75 | } __attribute__ ((packed)); |
| 76 | 76 | ||
| 77 | struct __processor_entry { |
77 | struct __processor_entry { |
| 78 | __u8 type; |
78 | uint8_t type; |
| 79 | __u8 l_apic_id; |
79 | uint8_t l_apic_id; |
| 80 | __u8 l_apic_version; |
80 | uint8_t l_apic_version; |
| 81 | __u8 cpu_flags; |
81 | uint8_t cpu_flags; |
| 82 | __u8 cpu_signature[4]; |
82 | uint8_t cpu_signature[4]; |
| 83 | __u32 feature_flags; |
83 | uint32_t feature_flags; |
| 84 | __u32 xxx[2]; |
84 | uint32_t xxx[2]; |
| 85 | } __attribute__ ((packed)); |
85 | } __attribute__ ((packed)); |
| 86 | 86 | ||
| 87 | struct __bus_entry { |
87 | struct __bus_entry { |
| 88 | __u8 type; |
88 | uint8_t type; |
| 89 | __u8 bus_id; |
89 | uint8_t bus_id; |
| 90 | __u8 bus_type[6]; |
90 | uint8_t bus_type[6]; |
| 91 | } __attribute__ ((packed)); |
91 | } __attribute__ ((packed)); |
| 92 | 92 | ||
| 93 | struct __io_apic_entry { |
93 | struct __io_apic_entry { |
| 94 | __u8 type; |
94 | uint8_t type; |
| 95 | __u8 io_apic_id; |
95 | uint8_t io_apic_id; |
| 96 | __u8 io_apic_version; |
96 | uint8_t io_apic_version; |
| 97 | __u8 io_apic_flags; |
97 | uint8_t io_apic_flags; |
| 98 | __u32 io_apic; |
98 | uint32_t io_apic; |
| 99 | } __attribute__ ((packed)); |
99 | } __attribute__ ((packed)); |
| 100 | 100 | ||
| 101 | struct __io_intr_entry { |
101 | struct __io_intr_entry { |
| 102 | __u8 type; |
102 | uint8_t type; |
| 103 | __u8 intr_type; |
103 | uint8_t intr_type; |
| 104 | __u8 poel; |
104 | uint8_t poel; |
| 105 | __u8 xxx; |
105 | uint8_t xxx; |
| 106 | __u8 src_bus_id; |
106 | uint8_t src_bus_id; |
| 107 | __u8 src_bus_irq; |
107 | uint8_t src_bus_irq; |
| 108 | __u8 dst_io_apic_id; |
108 | uint8_t dst_io_apic_id; |
| 109 | __u8 dst_io_apic_pin; |
109 | uint8_t dst_io_apic_pin; |
| 110 | } __attribute__ ((packed)); |
110 | } __attribute__ ((packed)); |
| 111 | 111 | ||
| 112 | struct __l_intr_entry { |
112 | struct __l_intr_entry { |
| 113 | __u8 type; |
113 | uint8_t type; |
| 114 | __u8 intr_type; |
114 | uint8_t intr_type; |
| 115 | __u8 poel; |
115 | uint8_t poel; |
| 116 | __u8 xxx; |
116 | uint8_t xxx; |
| 117 | __u8 src_bus_id; |
117 | uint8_t src_bus_id; |
| 118 | __u8 src_bus_irq; |
118 | uint8_t src_bus_irq; |
| 119 | __u8 dst_l_apic_id; |
119 | uint8_t dst_l_apic_id; |
| 120 | __u8 dst_l_apic_pin; |
120 | uint8_t dst_l_apic_pin; |
| 121 | } __attribute__ ((packed)); |
121 | } __attribute__ ((packed)); |
| 122 | 122 | ||
| 123 | 123 | ||
| 124 | extern waitq_t ap_completion_wq; |
124 | extern waitq_t ap_completion_wq; |
| 125 | 125 | ||