12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #include "hal.h"
- void vic_init(void) {
- int i;
- VIC *vic = VICBase;
- vic->VIC_IntSelect = 0;
- vic->VIC_SoftIntClear = ALLINTMASK;
- vic->VIC_IntEnClear = ALLINTMASK;
- for (i = 0; i < 16; i++) {
- vic->VIC_VectCntls[i] = 0;
- vic->VIC_VectAddrs[i] = 0;
- vic->VIC_VectAddr = 0;
- }
- }
- void SetVICVector(void *handler, int vector, int source) {
- VIC *vicp = VICBase;
- vicp->VIC_VectAddrs[vector] = (IOREG32)handler;
- vicp->VIC_VectCntls[vector] = (IOREG32)(source | 0x20);
- }
|