Subversion Repositories HelenOS

Rev

Rev 2095 | Rev 2441 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2095 Rev 2101
Line 88... Line 88...
88
 */
88
 */
89
static count_t get_cpu_count(void);
89
static count_t get_cpu_count(void);
90
static bool is_cpu_enabled(index_t i);
90
static bool is_cpu_enabled(index_t i);
91
static bool is_bsp(index_t i);
91
static bool is_bsp(index_t i);
92
static uint8_t get_cpu_apic_id(index_t i);
92
static uint8_t get_cpu_apic_id(index_t i);
93
static int mps_irq_to_pin(int irq);
93
static int mps_irq_to_pin(unsigned int irq);
94
 
94
 
95
struct smp_config_operations mps_config_operations = {
95
struct smp_config_operations mps_config_operations = {
96
    .cpu_count = get_cpu_count,
96
    .cpu_count = get_cpu_count,
97
    .cpu_enabled = is_cpu_enabled,
97
    .cpu_enabled = is_cpu_enabled,
98
    .cpu_bootstrap = is_bsp,
98
    .cpu_bootstrap = is_bsp,
Line 411... Line 411...
411
                break;
411
                break;
412
        }
412
        }
413
    }
413
    }
414
}
414
}
415
 
415
 
416
int mps_irq_to_pin(int irq)
416
int mps_irq_to_pin(unsigned int irq)
417
{
417
{
418
    unsigned int i;
418
    unsigned int i;
419
   
419
   
420
    for(i = 0; i < io_intr_entry_cnt; i++) {
420
    for (i = 0; i < io_intr_entry_cnt; i++) {
421
        if (io_intr_entries[i].src_bus_irq == irq && io_intr_entries[i].intr_type == 0)
421
        if (io_intr_entries[i].src_bus_irq == irq && io_intr_entries[i].intr_type == 0)
422
            return io_intr_entries[i].dst_io_apic_pin;
422
            return io_intr_entries[i].dst_io_apic_pin;
423
    }
423
    }
424
   
424
   
425
    return -1;
425
    return -1;