Changeset 1120276 in mainline for arch/sparc64/src/drivers/tick.c


Ignore:
Timestamp:
2005-12-27T12:03:29Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7614565
Parents:
39494010
Message:

sparc64 work.
Tick interrupt support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/sparc64/src/drivers/tick.c

    r39494010 r1120276  
    3232#include <arch/register.h>
    3333#include <debug.h>
    34 #include <print.h>
     34#include <time/clock.h>
    3535
     36/** Initialize tick interrupt. */
    3637void tick_init(void)
    3738{
     
    4546}
    4647
     48/** Process tick interrupt.
     49 *
     50 * @param n Interrupt Level, 14,  (can be ignored)
     51 * @param stack Stack pointer of the interrupted context.
     52 */
    4753void tick_interrupt(int n, void *stack)
    4854{
    49         panic("Unserviced %s.\n", __FUNCTION__);
     55        softint_reg_t softint, clear;
     56       
     57        softint.value = softint_read();
     58       
     59        /*
     60         * Make sure we are servicing interrupt_level_14
     61         */
     62        ASSERT(n == 14);
     63       
     64        /*
     65         * Make sure we are servicing TICK_INT.
     66         */
     67        ASSERT(softint.tick_int);
     68
     69        /*
     70         * Clear tick interrupt.
     71         */
     72        clear.value = 0;
     73        clear.tick_int = 1;
     74        clear_softint_write(clear.value);
     75       
     76        /*
     77         * Restart counter.
     78         */
     79        tick_write(0);
     80       
     81        clock();
    5082}
Note: See TracChangeset for help on using the changeset viewer.