Changeset a83a802 in mainline for arch/ia32/include
- Timestamp:
- 2005-11-23T13:28:17Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8418c7d
- Parents:
- 607c5f9
- Location:
- arch/ia32/include/smp
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/include/smp/apic.h
r607c5f9 ra83a802 115 115 #define IOREDTBL 0x10 116 116 117 /** Delivery modes. */ 118 #define DELMOD_FIXED 0x0 119 #define DELMOD_LOWPRI 0x1 120 #define DELMOD_SMI 0x2 121 /* 0x3 reserved */ 122 #define DELMOD_NMI 0x4 123 #define DELMOD_INIT 0x5 124 /* 0x6 reserved */ 125 #define DELMOD_EXTINT 0x7 126 127 /** Destination modes. */ 128 #define DESTMOD_PHYS 0x0 129 #define DESTMOD_LOGIC 0x1 130 131 /** Trigger Modes. */ 132 #define TRIGMOD_EDGE 0x0 133 #define TRIGMOD_LEVEL 0x1 134 135 /** Interrupt Input Pin Polarities. */ 136 #define POLARITY_HIGH 0x0 137 #define POLARITY_LOW 0x1 138 139 /** I/O Redirection Register. */ 140 struct io_redirection_reg { 141 union { 142 __u32 lo; 143 struct { 144 unsigned intvec : 8; /**< Interrupt Vector. */ 145 unsigned delmod : 3; /**< Delivery Mode. */ 146 unsigned destmod : 1; /**< Destination mode. */ 147 unsigned delivs : 1; /**< Delivery status (RO). */ 148 unsigned intpol : 1; /**< Interrupt Input Pin Polarity. */ 149 unsigned irr : 1; /**< Remote IRR (RO). */ 150 unsigned trigger_mode : 1; /**< Trigger Mode. */ 151 unsigned masked : 1; /**< Interrupt Mask. */ 152 unsigned : 15; /**< Reserved. */ 153 }; 154 }; 155 union { 156 __u32 hi; 157 struct { 158 unsigned : 24; /**< Reserved. */ 159 unsigned dest : 8; /**< Destination Field. */ 160 }; 161 }; 162 163 } __attribute__ ((packed)); 164 165 typedef struct io_redirection_reg io_redirection_reg_t; 117 166 118 167 extern volatile __u32 *l_apic; -
arch/ia32/include/smp/mps.h
r607c5f9 ra83a802 121 121 extern struct smp_config_operations mps_config_operations; 122 122 123 extern int mps_irq_to_pin(int irq);124 125 123 extern void mps_init(void); 126 124 extern void kmp(void *arg); -
arch/ia32/include/smp/smp.h
r607c5f9 ra83a802 33 33 #include <typedefs.h> 34 34 35 /** SMP config opertaions interface. */ 35 36 struct smp_config_operations { 36 count_t (* cpu_count)(void); 37 bool (* cpu_enabled)(index_t i); 38 bool (*cpu_bootstrap)(index_t i); 39 __u8 (*cpu_apic_id)(index_t i); 37 count_t (* cpu_count)(void); /**< Return number of detected processors. */ 38 bool (* cpu_enabled)(index_t i); /**< Check whether the processor of index i is enabled. */ 39 bool (*cpu_bootstrap)(index_t i); /**< Check whether the processor of index i is BSP. */ 40 __u8 (*cpu_apic_id)(index_t i); /**< Return APIC ID of the processor of index i. */ 41 int (*irq_to_pin)(int irq); /**< Return mapping between irq and APIC pin. */ 40 42 }; 41 43 44 extern int smp_irq_to_pin(int irq); 45 42 46 #endif
Note:
See TracChangeset
for help on using the changeset viewer.