From 1781ce79cc67c30b2c6541918b07007437d349d2 Mon Sep 17 00:00:00 2001 From: NicJA Date: Thu, 2 Mar 2017 01:27:31 +0000 Subject: [PATCH] add another arch specific function for IRQ handling. git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@54006 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- rom/kernel/kernel.conf | 2 +- rom/kernel/mmakefile.src | 19 +++++++++--------- rom/kernel/modifyirq.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 10 deletions(-) create mode 100644 rom/kernel/modifyirq.c diff --git a/rom/kernel/kernel.conf b/rom/kernel/kernel.conf index 41c2545446..c7c739ea67 100644 --- a/rom/kernel/kernel.conf +++ b/rom/kernel/kernel.conf @@ -74,7 +74,7 @@ void KrnDisplayAlert(uint32_t code, const char *text) (D0, A0) .skip 1 # One LVO is reserved here void KrnModifyIRQHandler(void *handle, void *handlerData, void *handlerData2) (A0, A1, A2) ULONG KrnAllocIRQ(ULONG irq_type) (D0) -.skip 1 # One LVO is reserved here +ULONG KrnModifyIRQA(ULONG irq, struct TagItem *attribs) (D0, A0) unsigned int KrnGetCPUCount() () uint32_t KrnGetCPUNumber() () void *KrnAllocCPUMask() () diff --git a/rom/kernel/mmakefile.src b/rom/kernel/mmakefile.src index 733e02cb2d..e25d4345b2 100644 --- a/rom/kernel/mmakefile.src +++ b/rom/kernel/mmakefile.src @@ -23,16 +23,17 @@ ifneq ($(AROS_TARGET_VARIANT),) -include $(SRCDIR)/arch/$(CPU)-$(ARCH)/$(AROS_TARGET_VARIANT)/kernel/make.opts endif -FUNCS := spininit spinislocked spintrylock spinlock spinunlock addexceptionhandler \ - allocirq addirqhandler bug cause cli createcontext deletecontext \ - displayalert dispatch getbootinfo getscheduler issuper mapglobal modifyirqhandler \ - remexceptionhandler remirqhandler schedule setprotection setscheduler sti \ - switch unmapglobal virtualtophysical obtaininput releaseinput \ - putchar maygetchar allocpages freepages getsystemattr formatstr \ - initmemory statmemory _bug _displayalert \ - getcpucount getcpunumber alloccpumask clearcpumask getcpumask cpuinmask \ +FUNCS := spininit spinislocked spintrylock spinlock spinunlock addexceptionhandler \ + allocirq modifyirq addirqhandler modifyirqhandler cause cli sti \ + bug createcontext deletecontext displayalert dispatch getbootinfo issuper mapglobal \ + remexceptionhandler remirqhandler schedule setprotection getscheduler setscheduler \ + switch unmapglobal virtualtophysical obtaininput releaseinput \ + putchar maygetchar allocpages freepages getsystemattr formatstr \ + initmemory statmemory _bug _displayalert \ + getcpucount getcpunumber alloccpumask clearcpumask getcpumask cpuinmask \ freecpumask schedulecpu allockernelbase prepareexecbase -FILES := kernel_init cpu_init kernel_cpu kernel_debug kernel_panic kernel_intr kernel_interruptcontroller \ +FILES := kernel_init cpu_init kernel_debug kernel_panic \ + kernel_cpu kernel_intr kernel_interruptcontroller \ kernel_memory kernel_romtags kernel_scheduler kernel_globals tlsf MMU_FILES := kernel_mm # You can replace this with own algorithm diff --git a/rom/kernel/modifyirq.c b/rom/kernel/modifyirq.c new file mode 100644 index 0000000000..e63a0a91d3 --- /dev/null +++ b/rom/kernel/modifyirq.c @@ -0,0 +1,52 @@ +/* + Copyright © 2017, The AROS Development Team. All rights reserved. + $Id$ + + Desc: +*/ + +#include + +#include +#include + +/***************************************************************************** + + NAME */ +#include + + AROS_LH2(ULONG, KrnModifyIRQA, + +/* SYNOPSIS */ + AROS_LHA(ULONG, irq, D0), + AROS_LHA(struct TagItem *, attribs, A0), + +/* LOCATION */ + struct KernelBase *, KernelBase, 39, Kernel) + +/* FUNCTION + Modify an IRQ using the passed in tags. + + INPUTS + + RESULT + + NOTES + + EXAMPLE + + BUGS + + SEE ALSO + + INTERNALS + +******************************************************************************/ +{ + AROS_LIBFUNC_INIT + + /* The implementation of this function is architecture-specific */ + return 0; + + AROS_LIBFUNC_EXIT +} -- 2.11.4.GIT