Changeset 05d9dd89 in mainline for arch/ia64/src/ia64.c


Ignore:
Timestamp:
2005-11-03T21:55:52Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
dd118f0
Parents:
0259524
Message:

ia64 work.
Fix definition of u32.
Add more register manipulation functions.
Add unions describing bit-structured registers.
Distinguish between timer, unhandled and spurious external interrupts.
Initialize interval timer to generate first timer interrupt.

File:
1 edited

Legend:

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

    r0259524 r05d9dd89  
    2929#include <arch.h>
    3030#include <arch/ski/ski.h>
     31#include <arch/asm.h>
     32#include <arch/register.h>
     33#include <arch/barrier.h>
     34#include <arch/interrupt.h>
     35
     36/** TODO: read ticks per second from firmware */
     37#define IT_DELTA        50000000
    3138
    3239void arch_pre_mm_init(void)
     
    3744void arch_post_mm_init(void)
    3845{
     46        cr_itv_t itv;
     47
     48        /* initialize Interval Timer external interrupt vector */
     49        itv.value = itv_read();
     50        itv.vector = INTERRUPT_TIMER;
     51        itv.m = 0;
     52        itv_write(itv.value);
     53        srlz_d();
     54
     55        /* set Interval Timer Counter to zero */
     56        itc_write(0);
     57        srlz_d();
     58       
     59        /* generate first Interval Timer interrupt in IT_DELTA ticks */
     60        itm_write(IT_DELTA);
     61        srlz_d();
    3962}
Note: See TracChangeset for help on using the changeset viewer.