Changeset bd571f44 in mainline


Ignore:
Timestamp:
2006-06-01T14:03:21Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
152b2b0
Parents:
982f0fe
Message:

Misseed clock ticks counting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/src/drivers/it.c

    r982f0fe rbd571f44  
    3636#include <arch/barrier.h>
    3737#include <time/clock.h>
     38#include <arch.h>
    3839
     40
     41#define IT_SERVICE_CLOCKS 64
    3942
    4043/** Initialize Interval Timer. */
     
    5962}
    6063
     64
    6165/** Process Interval Timer interrupt. */
    6266void it_interrupt(void)
    6367{
     68        __s64 c;
     69        __s64 m;
     70       
    6471        eoi_write(EOI);
    65         itm_write(itc_read() + IT_DELTA);       /* program next interruption */
     72       
     73        m=itm_read();
     74       
     75        while(1)
     76        {
     77       
     78                c=itc_read();
     79                c+=IT_SERVICE_CLOCKS;
     80
     81                m+=IT_DELTA;
     82                if(m-c<0)
     83                {
     84                        CPU->missed_clock_ticks++;
     85                }
     86                else break;
     87        }
     88       
     89        itm_write(m);
    6690        srlz_d();                               /* propagate changes */
     91       
     92       
     93       
    6794        clock();
    6895        poll_keyboard();
Note: See TracChangeset for help on using the changeset viewer.