Rev 2101 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2101 | Rev 4490 | ||
|---|---|---|---|
| Line 37... | Line 37... | ||
| 37 | 37 | ||
| 38 | #include <arch/types.h> |
38 | #include <arch/types.h> |
| 39 | 39 | ||
| 40 | /** SMP config opertaions interface. */ |
40 | /** SMP config opertaions interface. */ |
| 41 | struct smp_config_operations { |
41 | struct smp_config_operations { |
| 42 | count_t (* cpu_count)(void); /**< Return number of detected processors. */ |
42 | size_t (* cpu_count)(void); /**< Return number of detected processors. */ |
| 43 | bool (* cpu_enabled)(index_t i); /**< Check whether the processor of index i is enabled. */ |
43 | bool (* cpu_enabled)(size_t i); /**< Check whether the processor of index i is enabled. */ |
| 44 | bool (*cpu_bootstrap)(index_t i); /**< Check whether the processor of index i is BSP. */ |
44 | bool (*cpu_bootstrap)(size_t i); /**< Check whether the processor of index i is BSP. */ |
| 45 | uint8_t (*cpu_apic_id)(index_t i); /**< Return APIC ID of the processor of index i. */ |
45 | uint8_t (*cpu_apic_id)(size_t i); /**< Return APIC ID of the processor of index i. */ |
| 46 | int (*irq_to_pin)(unsigned int irq); /**< Return mapping between irq and APIC pin. */ |
46 | int (*irq_to_pin)(unsigned int irq); /**< Return mapping between irq and APIC pin. */ |
| 47 | }; |
47 | }; |
| 48 | 48 | ||
| 49 | extern int smp_irq_to_pin(unsigned int irq); |
49 | extern int smp_irq_to_pin(unsigned int irq); |
| 50 | 50 | ||