Annotation of sys/arch/amd64/include/pic.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: pic.h,v 1.5 2005/05/31 09:34:23 art Exp $ */
! 2: /* $NetBSD: pic.h,v 1.1 2003/02/26 21:26:11 fvdl Exp $ */
! 3:
! 4: #ifndef _X86_PIC_H
! 5: #define _X86_PIC_H
! 6:
! 7: #include <sys/device.h>
! 8: #include <sys/mutex.h>
! 9: #include <sys/lock.h>
! 10:
! 11: struct cpu_info;
! 12:
! 13: /*
! 14: * Structure common to all PIC softcs
! 15: */
! 16: struct pic {
! 17: struct device pic_dev;
! 18: int pic_type;
! 19: #ifdef MULTIPROCESSOR
! 20: struct mutex pic_mutex;
! 21: #endif
! 22: void (*pic_hwmask)(struct pic *, int);
! 23: void (*pic_hwunmask)(struct pic *, int);
! 24: void (*pic_addroute)(struct pic *, struct cpu_info *, int, int, int);
! 25: void (*pic_delroute)(struct pic *, struct cpu_info *, int, int, int);
! 26: struct intrstub *pic_level_stubs;
! 27: struct intrstub *pic_edge_stubs;
! 28: };
! 29:
! 30: #define pic_name pic_dev.dv_xname
! 31:
! 32: /*
! 33: * PIC types.
! 34: */
! 35: #define PIC_I8259 0
! 36: #define PIC_IOAPIC 1
! 37: #define PIC_LAPIC 2
! 38: #define PIC_SOFT 3
! 39:
! 40: extern struct pic i8259_pic;
! 41: extern struct pic local_pic;
! 42: extern struct pic softintr_pic;
! 43: #endif
CVSweb