diff options
Diffstat (limited to 'sys/alpha/include')
| -rw-r--r-- | sys/alpha/include/cpu.h | 1 | ||||
| -rw-r--r-- | sys/alpha/include/cpuconf.h | 4 | ||||
| -rw-r--r-- | sys/alpha/include/intr.h | 6 | ||||
| -rw-r--r-- | sys/alpha/include/ipl.h | 96 | ||||
| -rw-r--r-- | sys/alpha/include/md_var.h | 6 |
5 files changed, 13 insertions, 100 deletions
diff --git a/sys/alpha/include/cpu.h b/sys/alpha/include/cpu.h index 99eb79eef6686..cd60cc644ddf3 100644 --- a/sys/alpha/include/cpu.h +++ b/sys/alpha/include/cpu.h @@ -154,7 +154,6 @@ int badaddr __P((void *, size_t)); int badaddr_read __P((void *, size_t, void *)); void child_return __P((struct proc *p)); u_int64_t console_restart __P((u_int64_t, u_int64_t, u_int64_t)); -void do_sir __P((void)); void dumpconf __P((void)); void exception_return __P((void)); /* MAGIC */ void frametoreg __P((struct trapframe *, struct reg *)); diff --git a/sys/alpha/include/cpuconf.h b/sys/alpha/include/cpuconf.h index 7ff7d98812165..db93a1dc9502e 100644 --- a/sys/alpha/include/cpuconf.h +++ b/sys/alpha/include/cpuconf.h @@ -75,7 +75,9 @@ extern struct platform { void (*pci_intr_map) __P((void *)); void (*pci_intr_disable) __P((int)); void (*pci_intr_enable) __P((int)); - int (*pci_setup_ide_intr) __P((int chan, void (*fn)(void*), void *arg)); + int (*pci_setup_ide_intr) __P((struct device *dev, + struct device *child, + int chan, void (*fn)(void*), void *arg)); int (*isa_setup_intr) __P((struct device *, struct device *, struct resource *, int, void *, void *, void **)); int (*isa_teardown_intr) __P((struct device *, struct device *, diff --git a/sys/alpha/include/intr.h b/sys/alpha/include/intr.h index 4f003886ec1f9..e43010da5c652 100644 --- a/sys/alpha/include/intr.h +++ b/sys/alpha/include/intr.h @@ -29,8 +29,10 @@ #ifndef _MACHINE_INTR_H_ #define _MACHINE_INTR_H_ -int alpha_setup_intr(int vector, driver_intr_t *intr, void *arg, - void **cookiep, volatile long *cntp); +int alpha_setup_intr(const char *name, int vector, + driver_intr_t *handle, void *arg, int pri, + void **cookiep, volatile long *cntp, + void (*disable)(int), void (*enable)(int)); int alpha_teardown_intr(void *cookie); void alpha_dispatch_intr(void *frame, unsigned long vector); diff --git a/sys/alpha/include/ipl.h b/sys/alpha/include/ipl.h index 2e9b3cc7b7d9e..79de282280b52 100644 --- a/sys/alpha/include/ipl.h +++ b/sys/alpha/include/ipl.h @@ -32,100 +32,8 @@ #include <machine/cpu.h> /* for pal inlines */ -/* - * Software interrupt bit numbers - */ -#define SWI_TTY 0 -#define SWI_NET 1 -#define SWI_CAMNET 2 -#define SWI_CAMBIO 3 -#define SWI_VM 4 -#define SWI_CLOCK 5 -#define SWI_TQ 6 #define NSWI 32 -#define NHWI 0 - -extern u_int32_t ipending; - -#define getcpl() (alpha_pal_rdps() & ALPHA_PSL_IPL_MASK) - -#define SPLDOWN(name, pri) \ - \ -static __inline int name(void) \ -{ \ - int s; \ - s = alpha_pal_swpipl(ALPHA_PSL_IPL_##pri); \ - return s; \ -} - -SPLDOWN(splsoftclock, SOFT) -SPLDOWN(splsoft, SOFT) - -#define SPLUP(name, pri) \ - \ -static __inline int name(void) \ -{ \ - int cpl = getcpl(); \ - if (ALPHA_PSL_IPL_##pri > cpl) { \ - int s = alpha_pal_swpipl(ALPHA_PSL_IPL_##pri); \ - return s; \ - } else \ - return cpl; \ -} - -SPLUP(splsoftcam, SOFT) -SPLUP(splsoftnet, SOFT) -SPLUP(splsoftvm, SOFT) -SPLUP(splsofttq, SOFT) -SPLUP(splnet, IO) -SPLUP(splbio, IO) -SPLUP(splcam, IO) -SPLUP(splimp, IO) -SPLUP(spltty, IO) -SPLUP(splvm, IO) -SPLUP(splclock, CLOCK) -SPLUP(splstatclock, CLOCK) -SPLUP(splhigh, HIGH) - -static __inline void -spl0(void) -{ - if (ipending) - do_sir(); /* lowers ipl to SOFT */ - - alpha_pal_swpipl(ALPHA_PSL_IPL_0); -} - -static __inline void -splx(int s) -{ - if (s) - alpha_pal_swpipl(s); - else - spl0(); -} - -extern void setdelayed(void); -extern void setsofttty(void); -extern void setsoftnet(void); -extern void setsoftcamnet(void); -extern void setsoftcambio(void); -extern void setsoftvm(void); -extern void setsofttq(void); -extern void setsoftclock(void); - -extern void schedsofttty(void); -extern void schedsoftnet(void); -extern void schedsoftcamnet(void); -extern void schedsoftcambio(void); -extern void schedsoftvm(void); -extern void schedsofttq(void); -extern void schedsoftclock(void); - -#if 0 -/* XXX bogus */ -extern unsigned cpl; /* current priority level mask */ -#endif +#define HWHI 0 /* * Interprocessor interrupts for SMP. @@ -142,4 +50,4 @@ void smp_ipi_all_but_self(u_int64_t ipi); void smp_ipi_self(u_int64_t ipi); void smp_handle_ipi(struct trapframe *frame); -#endif /* !_MACHINE_MD_VAR_H_ */ +#endif /* !_MACHINE_IPL_H_ */ diff --git a/sys/alpha/include/md_var.h b/sys/alpha/include/md_var.h index 740d40bbfd3bc..d3e4ea3d54595 100644 --- a/sys/alpha/include/md_var.h +++ b/sys/alpha/include/md_var.h @@ -60,10 +60,12 @@ void alpha_register_pci_scsi __P((int bus, int slot, struct cam_sim *sim)); #ifdef _SYS_BUS_H_ struct resource *alpha_platform_alloc_ide_intr(int chan); int alpha_platform_release_ide_intr(int chan, struct resource *res); -int alpha_platform_setup_ide_intr(struct resource *res, +int alpha_platform_setup_ide_intr(struct device *dev, + struct resource *res, driver_intr_t *fn, void *arg, void **cookiep); -int alpha_platform_teardown_ide_intr(struct resource *res, void *cookie); +int alpha_platform_teardown_ide_intr(struct device *dev, + struct resource *res, void *cookie); int alpha_platform_pci_setup_intr(device_t dev, device_t child, struct resource *irq, int flags, driver_intr_t *intr, void *arg, |
