Move interrupt dispatch logic from sched/ to sched/irq

This commit is contained in:
Gregory Nutt 2014-08-08 14:31:15 -06:00
parent 0f318e9249
commit 85e8117062
10 changed files with 60 additions and 21 deletions

View File

@ -48,7 +48,7 @@
#include "up_arch.h"
#include "os_internal.h"
#include "irq_internal.h"
#include "irq/irq.h"
#include "tiva_gpio.h"

View File

@ -51,7 +51,7 @@
#include "up_arch.h"
#include "os_internal.h"
#include "irq_internal.h"
#include "irq/irq.h"
#include "at32uc3_internal.h"
#include "at32uc3_gpio.h"

View File

@ -123,8 +123,7 @@ ifeq ($(CONFIG_PAGING),y)
PGFILL_SRCS = pg_miss.c pg_worker.c
endif
IRQ_SRCS = irq_initialize.c irq_attach.c irq_dispatch.c irq_unexpectedisr.c
include irq/Make.defs
include group/Make.defs
include wdog/Make.defs
include semaphore/Make.defs
@ -134,9 +133,8 @@ include mqueue/Make.defs
include environ/Make.defs
CSRCS = $(MISC_SRCS) $(TSK_SRCS) $(SCHED_SRCS)
CSRCS += $(TIME_SRCS) $(TIMER_SRCS) $(PGFILL_SRCS)
CSRCS += $(IRQ_SRCS) $(CLOCK_SRCS)
CSRCS += $(GRP_SRCS) $(WDOG_SRCS) $(SEM_SRCS) $(SIGNAL_SRCS) $(PTHREAD_SRCS) $(MQUEUE_SRCS) $(ENV_SRCS)
CSRCS += $(TIME_SRCS) $(TIMER_SRCS) $(PGFILL_SRCS) $(CLOCK_SRCS)
CSRCS += $(IRQ_SRCS) $(GRP_SRCS) $(WDOG_SRCS) $(SEM_SRCS) $(SIGNAL_SRCS) $(PTHREAD_SRCS) $(MQUEUE_SRCS) $(ENV_SRCS)
COBJS = $(CSRCS:.c=$(OBJEXT))

41
sched/irq/Make.defs Normal file
View File

@ -0,0 +1,41 @@
############################################################################
# sched/irq/Make.defs
#
# Copyright (C) 2014 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name NuttX nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
IRQ_SRCS = irq_initialize.c irq_attach.c irq_dispatch.c irq_unexpectedisr.c
# Include irq build support
DEPPATH += --dep-path irq
VPATH += :irq

View File

@ -1,7 +1,7 @@
/****************************************************************************
* sched/irq_internal.h
* sched/irq/irq.h
*
* Copyright (C) 2007, 2008, 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2008, 2013-2014 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -33,8 +33,8 @@
*
****************************************************************************/
#ifndef __SCHED_IRQ_INTERNAL_H
#define __SCHED_IRQ_INTERNAL_H
#ifndef __SCHED_IRQ_IRQ_H
#define __SCHED_IRQ_IRQ_H
/****************************************************************************
* Included Files
@ -80,5 +80,5 @@ int irq_unexpected_isr(int irq, FAR void *context);
}
#endif
#endif /* __SCHED_IRQ_INTERNAL_H */
#endif /* __SCHED_IRQ_IRQ_H */

View File

@ -1,5 +1,5 @@
/****************************************************************************
* sched/irq_attach.c
* sched/irq/irq_attach.c
*
* Copyright (C) 2007-2008, 2010, 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@ -41,7 +41,7 @@
#include <nuttx/irq.h>
#include "irq_internal.h"
#include "irq/irq.h"
/****************************************************************************
* Definitions

View File

@ -1,5 +1,5 @@
/****************************************************************************
* sched/irq_dispatch.c
* sched/irq/irq_dispatch.c
*
* Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@ -43,7 +43,7 @@
#include <nuttx/arch.h>
#include <nuttx/irq.h>
#include "irq_internal.h"
#include "irq/irq.h"
/****************************************************************************
* Definitions

View File

@ -1,5 +1,5 @@
/****************************************************************************
* sched/irq_initialize.c
* sched/irq/irq_initialize.c
*
* Copyright (C) 2007-2008, 2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@ -41,7 +41,7 @@
#include <nuttx/arch.h>
#include <nuttx/irq.h>
#include "irq_internal.h"
#include "irq/irq.h"
/****************************************************************************
* Definitions

View File

@ -1,5 +1,5 @@
/****************************************************************************
* sched/irq_unexpectedisr.c
* sched/irq/irq_unexpectedisr.c
*
* Copyright (C) 2007-2009, 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@ -44,7 +44,7 @@
#include <nuttx/irq.h>
#include "os_internal.h"
#include "irq_internal.h"
#include "irq/irq.h"
/****************************************************************************
* Definitions

View File

@ -63,7 +63,7 @@
#endif
#include "clock_internal.h"
#include "timer_internal.h"
#include "irq_internal.h"
#include "irq/irq.h"
#ifdef HAVE_TASK_GROUP
#include "group/group.h"
#endif