From: Antti Kantee Date: Wed, 17 Feb 2016 12:53:13 +0000 (+0000) Subject: Rename bmk_isr_init -> bmk_isr_rumpkernel X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=aa2ab16d6314dcf267305b047c679a4f70c904a7;p=osstest%2Frumprun.git Rename bmk_isr_init -> bmk_isr_rumpkernel The established handler will always call the rump kernel, so reflect that in the name. Also, give it a flags parameter (always 0 for now). --- diff --git a/platform/hw/include/hw/kernel.h b/platform/hw/include/hw/kernel.h index 3e48757..d403664 100644 --- a/platform/hw/include/hw/kernel.h +++ b/platform/hw/include/hw/kernel.h @@ -21,7 +21,7 @@ bmk_time_t cpu_clock_epochoffset(void); void isr(int); int intr_init(void); -int bmk_isr_init(int (*)(void *), void *, int); +int bmk_isr_rumpkernel(int (*)(void *), void *, int, int); #define BMK_MULTIBOOT_CMDLINE_SIZE 4096 extern char multiboot_cmdline[]; diff --git a/platform/hw/intr.c b/platform/hw/intr.c index f5be299..97a2bd8 100644 --- a/platform/hw/intr.c +++ b/platform/hw/intr.c @@ -43,6 +43,7 @@ struct intrhand { int (*ih_fun)(void *); void *ih_arg; + int ih_flags; SLIST_ENTRY(intrhand) ih_entries; }; @@ -131,7 +132,7 @@ doisr(void *arg) } int -bmk_isr_init(int (*func)(void *), void *arg, int intr) +bmk_isr_rumpkernel(int (*func)(void *), void *arg, int intr, int flags) { struct intrhand *ih; int error; @@ -139,6 +140,9 @@ bmk_isr_init(int (*func)(void *), void *arg, int intr) if (intr > sizeof(isr_todo)*8 || intr > BMK_MAXINTR) return BMK_EGENERIC; + if (flags != 0) + bmk_platform_halt("bmk_isr_rumpkernel: invalid flags"); + ih = bmk_xmalloc_bmk(sizeof(*ih)); if (!ih) return BMK_ENOMEM; @@ -149,6 +153,7 @@ bmk_isr_init(int (*func)(void *), void *arg, int intr) } ih->ih_fun = func; ih->ih_arg = arg; + ih->ih_flags = flags; SLIST_INSERT_HEAD(&isr_ih[intr % BMK_INTRLEVS], ih, ih_entries); if ((unsigned)intr < isr_lowest) isr_lowest = intr; diff --git a/platform/hw/pci/rumppci.c b/platform/hw/pci/rumppci.c index eb2984d..82a891b 100644 --- a/platform/hw/pci/rumppci.c +++ b/platform/hw/pci/rumppci.c @@ -97,7 +97,7 @@ void * rumpcomp_pci_irq_establish(unsigned cookie, int (*handler)(void *), void *data) { - if (bmk_isr_init(handler, data, intrs[cookie]) == 0) + if (bmk_isr_rumpkernel(handler, data, intrs[cookie], 0) == 0) return &intrs[cookie]; else return NULL;