Changes between Version 12 and Version 13 of Component/Vci Icu


Ignore:
Timestamp:
Jan 4, 2008, 12:39:35 PM (16 years ago)
Author:
Nicolas Pouillon
Comment:

No span in ICU

Legend:

Unmodified
Added
Removed
Modified
  • Component/Vci Icu

    v12 v13  
    5757static const volatile void* icu_address = 0xc0000000;
    5858
    59 static icu_test(const size_t icu_no)
     59static icu_test()
    6060{
    6161    // Getting / setting interrupt mask
    62     uint32_t current_interrupt_mask = soclib_io_get( icu_address, ICU_SPAN*icu_no + ICU_MASK );
     62    uint32_t current_interrupt_mask = soclib_io_get( icu_address, ICU_MASK );
    6363
    6464    // Enabling IRQ #5
    65     soclib_io_set( icu_address, ICU_SPAN*icu_no + ICU_MASK_SET, 1<<5 );
     65    soclib_io_set( icu_address, ICU_MASK_SET, 1<<5 );
    6666    // Disabling IRQ #0
    67     soclib_io_set( icu_address, ICU_SPAN*icu_no + ICU_MASK_CLEAR, 1<<0 );
     67    soclib_io_set( icu_address, ICU_MASK_CLEAR, 1<<0 );
    6868
    6969    // When interrupt is raised, you may do:
    70     int irq_to_serve = soclib_io_get( icu_address, ICU_SPAN*icu_no + ICU_IT_VECTOR );
     70    int irq_to_serve = soclib_io_get( icu_address, ICU_IT_VECTOR );
    7171    // This should be equivalent to (see man 3 ffs)
    72     int irq_to_serve = ffs( soclib_io_get( icu_address, ICU_SPAN*icu_no + ICU_IT_VECTOR )
    73                           & soclib_io_get( icu_address, ICU_SPAN*icu_no + ICU_MASK ) );
     72    int irq_to_serve = ffs( soclib_io_get( icu_address, ICU_IT_VECTOR )
     73                          & soclib_io_get( icu_address, ICU_MASK ) );
    7474}
    7575}}}