arch: rename arch special function name
This commit is contained in:
parent
fc65e6969d
commit
a8fa51e6bf
@ -41,12 +41,12 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: arm_saveusercontext
|
||||
* Name: up_saveusercontext
|
||||
*
|
||||
* Description:
|
||||
* Restore the current thread context. Full prototype is:
|
||||
*
|
||||
* int arm_saveusercontext(uint32_t *saveregs);
|
||||
* int up_saveusercontext(uint32_t *saveregs);
|
||||
*
|
||||
* R0 = saveregs = pinter saved array
|
||||
*
|
||||
|
@ -61,7 +61,7 @@
|
||||
|
||||
/* SYS call 0:
|
||||
*
|
||||
* int arm64_saveusercontext(void *saveregs);
|
||||
* int up_saveusercontext(void *saveregs);
|
||||
*/
|
||||
|
||||
#define SYS_save_context (0)
|
||||
|
@ -20,23 +20,23 @@
|
||||
|
||||
# The start-up, "head", file
|
||||
|
||||
HEAD_ASRC = up_nommuhead.S
|
||||
HEAD_ASRC = avr_nommuhead.S
|
||||
|
||||
# Common AVR/AVR32 files
|
||||
|
||||
CMN_ASRCS = up_exceptions.S up_fullcontextrestore.S up_switchcontext.S
|
||||
CMN_CSRCS = up_assert.c up_allocateheap.c up_blocktask.c up_copystate.c
|
||||
CMN_CSRCS += up_createstack.c up_mdelay.c up_udelay.c up_exit.c up_idle.c
|
||||
CMN_CSRCS += up_initialize.c up_initialstate.c
|
||||
CMN_CSRCS += up_modifyreg8.c up_modifyreg16.c up_modifyreg32.c
|
||||
CMN_CSRCS += up_releasepending.c up_releasestack.c
|
||||
CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c up_stackframe.c
|
||||
CMN_CSRCS += up_unblocktask.c up_usestack.c up_doirq.c up_nputs.c
|
||||
CMN_ASRCS = avr_exceptions.S avr_fullcontextrestore.S avr_switchcontext.S
|
||||
CMN_CSRCS = avr_assert.c avr_allocateheap.c avr_blocktask.c avr_copystate.c
|
||||
CMN_CSRCS += avr_createstack.c avr_mdelay.c avr_udelay.c avr_exit.c avr_idle.c
|
||||
CMN_CSRCS += avr_initialize.c avr_initialstate.c
|
||||
CMN_CSRCS += avr_modifyreg8.c avr_modifyreg16.c avr_modifyreg32.c
|
||||
CMN_CSRCS += avr_releasepending.c avr_releasestack.c
|
||||
CMN_CSRCS += avr_schedulesigaction.c avr_sigdeliver.c avr_stackframe.c
|
||||
CMN_CSRCS += avr_unblocktask.c avr_usestack.c avr_doirq.c avr_nputs.c
|
||||
|
||||
# Configuration-dependent common files
|
||||
|
||||
ifeq ($(CONFIG_ARCH_STACKDUMP),y)
|
||||
CMN_CSRCS += up_dumpstate.c
|
||||
CMN_CSRCS += avr_dumpstate.c
|
||||
endif
|
||||
|
||||
# Required AT32UC3 files
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "at32uc3_config.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at32uc3.h"
|
||||
#include "at32uc3_pm.h"
|
||||
#include "at32uc3_flashc.h"
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include <assert.h>
|
||||
|
||||
#include "at32uc3_config.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at32uc3.h"
|
||||
|
||||
#include "chip.h"
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
#include <nuttx/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "irq/irq.h"
|
||||
#include "at32uc3.h"
|
||||
#include "at32uc3_gpio.h"
|
||||
|
@ -34,7 +34,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <arch/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at32uc3.h"
|
||||
|
||||
#include "chip.h"
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include <nuttx/irq.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at32uc3.h"
|
||||
#include "at32uc3_pm.h"
|
||||
#include "at32uc3_usart.h"
|
||||
@ -356,7 +356,7 @@ void up_consoleinit(void)
|
||||
putreg32(regval, AVR32_PM_PBAMASK);
|
||||
|
||||
/* Then configure the console here (if it is not going to be configured
|
||||
* by up_earlyserialinit()).
|
||||
* by avr_earlyserialinit()).
|
||||
*/
|
||||
|
||||
#if defined(HAVE_SERIAL_CONSOLE) && !defined(USE_EARLYSERIALINIT)
|
||||
@ -367,14 +367,14 @@ void up_consoleinit(void)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_lowputc
|
||||
* Name: avr_lowputc
|
||||
*
|
||||
* Description:
|
||||
* Output one byte on the serial console
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_lowputc(char ch)
|
||||
void avr_lowputc(char ch)
|
||||
{
|
||||
#ifdef HAVE_SERIAL_CONSOLE
|
||||
/* Wait until the TX to become ready */
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include "at32uc3_config.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at32uc3.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -57,7 +57,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_lowinit
|
||||
* Name: avr_lowinit
|
||||
*
|
||||
* Description:
|
||||
* This performs basic initialization of the USART used for the serial
|
||||
@ -66,7 +66,7 @@
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_lowinit(void)
|
||||
void avr_lowinit(void)
|
||||
{
|
||||
/* Initialize MCU clocking */
|
||||
|
||||
@ -81,7 +81,7 @@ void up_lowinit(void)
|
||||
*/
|
||||
|
||||
#ifdef USE_EARLYSERIALINIT
|
||||
up_earlyserialinit();
|
||||
avr_earlyserialinit();
|
||||
#endif
|
||||
|
||||
/* Perform board-level initialization */
|
||||
|
@ -42,7 +42,7 @@
|
||||
#include "at32uc3_config.h"
|
||||
#include "chip.h"
|
||||
#include "at32uc3_usart.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at32uc3.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -687,18 +687,18 @@ static bool up_txready(struct uart_dev_s *dev)
|
||||
#ifdef USE_EARLYSERIALINIT
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_earlyserialinit
|
||||
* Name: avr_earlyserialinit
|
||||
*
|
||||
* Description:
|
||||
* Performs the low level USART initialization early in debug so that the
|
||||
* serial console will be available during bootup. This must be called
|
||||
* before up_serialinit. NOTE: This function depends on GPIO pin
|
||||
* before avr_serialinit. NOTE: This function depends on GPIO pin
|
||||
* configuration performed in up_consoleinit() and main clock
|
||||
* initialization performed in up_clkinitialize().
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_earlyserialinit(void)
|
||||
void avr_earlyserialinit(void)
|
||||
{
|
||||
/* Disable all USARTS */
|
||||
|
||||
@ -720,15 +720,15 @@ void up_earlyserialinit(void)
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_serialinit
|
||||
* Name: avr_serialinit
|
||||
*
|
||||
* Description:
|
||||
* Register serial console and serial ports. This assumes
|
||||
* that up_earlyserialinit was called previously.
|
||||
* that avr_earlyserialinit was called previously.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_serialinit(void)
|
||||
void avr_serialinit(void)
|
||||
{
|
||||
/* Register the console */
|
||||
|
||||
@ -769,10 +769,10 @@ int up_putc(int ch)
|
||||
{
|
||||
/* Add CR */
|
||||
|
||||
up_lowputc('\r');
|
||||
avr_lowputc('\r');
|
||||
}
|
||||
|
||||
up_lowputc(ch);
|
||||
avr_lowputc(ch);
|
||||
up_restoreusartint(priv, imr);
|
||||
#endif
|
||||
return ch;
|
||||
@ -797,10 +797,10 @@ int up_putc(int ch)
|
||||
{
|
||||
/* Add CR */
|
||||
|
||||
up_lowputc('\r');
|
||||
avr_lowputc('\r');
|
||||
}
|
||||
|
||||
up_lowputc(ch);
|
||||
avr_lowputc(ch);
|
||||
#endif
|
||||
return ch;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "chip.h"
|
||||
#include "at32uc3.h"
|
||||
#include "at32uc3_pm.h"
|
||||
|
@ -24,31 +24,31 @@ HEAD_ASRC = at90usb_head.S
|
||||
|
||||
# Common AVR files
|
||||
|
||||
CMN_ASRCS = up_switchcontext.S
|
||||
CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c
|
||||
CMN_CSRCS += up_createstack.c up_doirq.c up_exit.c up_idle.c up_initialize.c
|
||||
CMN_CSRCS += up_initialstate.c up_irq.c up_lowputs.c
|
||||
CMN_CSRCS += up_mdelay.c up_modifyreg8.c up_modifyreg16.c up_modifyreg32.c
|
||||
CMN_CSRCS += up_nputs.c up_releasepending.c up_releasestack.c
|
||||
CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c
|
||||
CMN_CSRCS += up_stackframe.c up_udelay.c up_unblocktask.c up_usestack.c
|
||||
CMN_ASRCS = avr_switchcontext.S
|
||||
CMN_CSRCS = avr_allocateheap.c avr_assert.c avr_blocktask.c avr_copystate.c
|
||||
CMN_CSRCS += avr_createstack.c avr_doirq.c avr_exit.c avr_idle.c avr_initialize.c
|
||||
CMN_CSRCS += avr_initialstate.c avr_irq.c avr_lowputs.c
|
||||
CMN_CSRCS += avr_mdelay.c avr_modifyreg8.c avr_modifyreg16.c avr_modifyreg32.c
|
||||
CMN_CSRCS += avr_nputs.c avr_releasepending.c avr_releasestack.c
|
||||
CMN_CSRCS += avr_schedulesigaction.c avr_sigdeliver.c
|
||||
CMN_CSRCS += avr_stackframe.c avr_udelay.c avr_unblocktask.c avr_usestack.c
|
||||
|
||||
# Configuration-dependent common files
|
||||
|
||||
ifeq ($(CONFIG_ARCH_STACKDUMP),y)
|
||||
CMN_CSRCS += up_dumpstate.c
|
||||
CMN_CSRCS += avr_dumpstate.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_AVR_SPI),y)
|
||||
CMN_CSRCS += up_spi.c
|
||||
CMN_CSRCS += avr_spi.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_STACK_COLORATION),y)
|
||||
CMN_CSRCS += up_checkstack.c
|
||||
CMN_CSRCS += avr_checkstack.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_ROMGETC),y)
|
||||
CMN_CSRCS += up_romgetc.c
|
||||
CMN_CSRCS += avr_romgetc.c
|
||||
endif
|
||||
|
||||
# Required AT90USB files
|
||||
|
@ -37,8 +37,8 @@
|
||||
********************************************************************************************/
|
||||
|
||||
.file "at90usb_exceptions.S"
|
||||
.global up_doirq
|
||||
.global up_fullcontextrestore
|
||||
.global avr_doirq
|
||||
.global avr_fullcontextrestore
|
||||
|
||||
/********************************************************************************************
|
||||
* Macros
|
||||
@ -109,7 +109,7 @@ excpt_common:
|
||||
|
||||
EXCPT_PROLOGUE
|
||||
|
||||
/* Call up_doirq with r24 = IRQ number, r22-23 = Pointer to the save structure. The stack
|
||||
/* Call avr_doirq with r24 = IRQ number, r22-23 = Pointer to the save structure. The stack
|
||||
* pointer currently points to the save structure (or maybe the save structure -1 since
|
||||
* the push operation post-decrements -- need to REVISIT this).
|
||||
*/
|
||||
@ -119,7 +119,7 @@ excpt_common:
|
||||
adiw r28, 1 /* Remembering that push post-decrements */
|
||||
movw r22, r28 /* Pass register save structure as the parameter 2 */
|
||||
USE_INTSTACK rx, ry, rz /* Switch to the interrupt stack */
|
||||
call up_doirq /* Dispatch the interrupt */
|
||||
call avr_doirq /* Dispatch the interrupt */
|
||||
RESTORE_STACK rx, ry /* Undo the operations of USE_INTSTACK */
|
||||
|
||||
/* up_doiq returns with r24-r25 equal to the new save structure. If no context
|
||||
@ -132,11 +132,11 @@ excpt_common:
|
||||
cpc r29, r25
|
||||
breq .Lnoswitch
|
||||
|
||||
/* A context switch has occurred, jump to up_fullcontextrestore with r24, r25
|
||||
/* A context switch has occurred, jump to avr_fullcontextrestore with r24, r25
|
||||
* equal to the address of the new register save area.
|
||||
*/
|
||||
|
||||
jmp up_fullcontextrestore
|
||||
jmp avr_fullcontextrestore
|
||||
|
||||
/* No context switch occurred.. just return off the stack */
|
||||
|
||||
|
@ -58,7 +58,7 @@
|
||||
.global _edata /* End of .data section in RAM */
|
||||
.global _eronly /* Start of .data section in FLASH */
|
||||
.global _enoinit /* End of uninitialized data. Defined by ld.script */
|
||||
.global up_lowinit /* Perform low level initialization */
|
||||
.global avr_lowinit /* Perform low level initialization */
|
||||
.global nx_start /* NuttX entry point */
|
||||
|
||||
.global vectortab
|
||||
@ -239,7 +239,7 @@ __do_clear_bss:
|
||||
|
||||
/* Perform any low-level initialization */
|
||||
|
||||
call up_lowinit
|
||||
call avr_lowinit
|
||||
|
||||
/* Now start NuttX */
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <arch/board/board.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at90usb.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -251,14 +251,14 @@ void up_consoleinit(void)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_lowputc
|
||||
* Name: avr_lowputc
|
||||
*
|
||||
* Description:
|
||||
* Output one byte on the serial console
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_lowputc(char ch)
|
||||
void avr_lowputc(char ch)
|
||||
{
|
||||
#ifdef HAVE_SERIAL_CONSOLE
|
||||
while ((UCSR1A & (1 << UDRE1)) == 0);
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <avr/power.h>
|
||||
|
||||
#include "at90usb_config.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at90usb.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -96,7 +96,7 @@ static inline void up_wdtinit(void)
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_lowinit
|
||||
* Name: avr_lowinit
|
||||
*
|
||||
* Description:
|
||||
* This performs basic initialization of the USART used for the serial
|
||||
@ -105,7 +105,7 @@ static inline void up_wdtinit(void)
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_lowinit(void)
|
||||
void avr_lowinit(void)
|
||||
{
|
||||
/* Disable the watchdog timer */
|
||||
|
||||
@ -128,7 +128,7 @@ void up_lowinit(void)
|
||||
*/
|
||||
|
||||
#ifdef USE_EARLYSERIALINIT
|
||||
up_earlyserialinit();
|
||||
avr_earlyserialinit();
|
||||
#endif
|
||||
|
||||
/* Perform board-level initialization */
|
||||
|
@ -40,7 +40,7 @@
|
||||
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at90usb.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -507,16 +507,16 @@ static bool usart1_txempty(struct uart_dev_s *dev)
|
||||
#ifdef USE_EARLYSERIALINIT
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_earlyserialinit
|
||||
* Name: avr_earlyserialinit
|
||||
*
|
||||
* Description:
|
||||
* Performs the low level USART initialization early in debug so that the
|
||||
* serial console will be available during bootup. This must be called
|
||||
* before up_serialinit.
|
||||
* before avr_serialinit.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_earlyserialinit(void)
|
||||
void avr_earlyserialinit(void)
|
||||
{
|
||||
/* Disable all USARTS */
|
||||
|
||||
@ -532,15 +532,15 @@ void up_earlyserialinit(void)
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_serialinit
|
||||
* Name: avr_serialinit
|
||||
*
|
||||
* Description:
|
||||
* Register serial console and serial ports. This assumes
|
||||
* that up_earlyserialinit was called previously.
|
||||
* that avr_earlyserialinit was called previously.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_serialinit(void)
|
||||
void avr_serialinit(void)
|
||||
{
|
||||
/* Register the console */
|
||||
|
||||
@ -574,10 +574,10 @@ int up_putc(int ch)
|
||||
{
|
||||
/* Add CR */
|
||||
|
||||
up_lowputc('\r');
|
||||
avr_lowputc('\r');
|
||||
}
|
||||
|
||||
up_lowputc(ch);
|
||||
avr_lowputc(ch);
|
||||
usart1_restoreusartint(imr);
|
||||
#endif
|
||||
return ch;
|
||||
@ -602,10 +602,10 @@ int up_putc(int ch)
|
||||
{
|
||||
/* Add CR */
|
||||
|
||||
up_lowputc('\r');
|
||||
avr_lowputc('\r');
|
||||
}
|
||||
|
||||
up_lowputc(ch);
|
||||
avr_lowputc(ch);
|
||||
#endif
|
||||
return ch;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <arch/board/board.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "at90usb.h"
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -46,7 +46,7 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "chip.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -2801,7 +2801,7 @@ static int avr_pullup(struct usbdev_s *dev, bool enable)
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_usbinitialize
|
||||
* Name: avr_usbinitialize
|
||||
*
|
||||
* Description:
|
||||
* Initialize USB hardware.
|
||||
@ -2815,7 +2815,7 @@ static int avr_pullup(struct usbdev_s *dev, bool enable)
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_usbinitialize(void)
|
||||
void avr_usbinitialize(void)
|
||||
{
|
||||
usbtrace(TRACE_DEVINIT, 0);
|
||||
|
||||
@ -2868,14 +2868,14 @@ void up_usbinitialize(void)
|
||||
return;
|
||||
|
||||
errout:
|
||||
up_usbuninitialize();
|
||||
avr_usbuninitialize();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_usbuninitialize
|
||||
* Name: avr_usbuninitialize
|
||||
****************************************************************************/
|
||||
|
||||
void up_usbuninitialize(void)
|
||||
void avr_usbuninitialize(void)
|
||||
{
|
||||
irqstate_t flags;
|
||||
|
||||
|
@ -24,31 +24,31 @@ HEAD_ASRC = atmega_head.S
|
||||
|
||||
# Common AVR files
|
||||
|
||||
CMN_ASRCS = up_switchcontext.S
|
||||
CMN_CSRCS = up_allocateheap.c up_assert.c up_blocktask.c up_copystate.c
|
||||
CMN_CSRCS += up_createstack.c up_doirq.c up_exit.c up_idle.c up_initialize.c
|
||||
CMN_CSRCS += up_initialstate.c up_irq.c up_lowputs.c
|
||||
CMN_CSRCS += up_mdelay.c up_modifyreg8.c up_modifyreg16.c up_modifyreg32.c
|
||||
CMN_CSRCS += up_nputs.c up_releasepending.c up_releasestack.c
|
||||
CMN_CSRCS += up_schedulesigaction.c up_sigdeliver.c
|
||||
CMN_CSRCS += up_stackframe.c up_udelay.c up_unblocktask.c up_usestack.c
|
||||
CMN_ASRCS = avr_switchcontext.S
|
||||
CMN_CSRCS = avr_allocateheap.c avr_assert.c avr_blocktask.c avr_copystate.c
|
||||
CMN_CSRCS += avr_createstack.c avr_doirq.c avr_exit.c avr_idle.c avr_initialize.c
|
||||
CMN_CSRCS += avr_initialstate.c avr_irq.c avr_lowputs.c
|
||||
CMN_CSRCS += avr_mdelay.c avr_modifyreg8.c avr_modifyreg16.c avr_modifyreg32.c
|
||||
CMN_CSRCS += avr_nputs.c avr_releasepending.c avr_releasestack.c
|
||||
CMN_CSRCS += avr_schedulesigaction.c avr_sigdeliver.c
|
||||
CMN_CSRCS += avr_stackframe.c avr_udelay.c avr_unblocktask.c avr_usestack.c
|
||||
|
||||
# Configuration-dependent common files
|
||||
|
||||
ifeq ($(CONFIG_ARCH_STACKDUMP),y)
|
||||
CMN_CSRCS += up_dumpstate.c
|
||||
CMN_CSRCS += avr_dumpstate.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_AVR_SPI),y)
|
||||
CMN_CSRCS += up_spi.c
|
||||
CMN_CSRCS += avr_spi.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_STACK_COLORATION),y)
|
||||
CMN_CSRCS += up_checkstack.c
|
||||
CMN_CSRCS += avr_checkstack.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_ROMGETC),y)
|
||||
CMN_CSRCS += up_romgetc.c
|
||||
CMN_CSRCS += avr_romgetc.c
|
||||
endif
|
||||
|
||||
# Required ATMEGA files
|
||||
|
@ -33,8 +33,8 @@
|
||||
********************************************************************************************/
|
||||
|
||||
.file "atmega_exceptions.S"
|
||||
.global up_doirq
|
||||
.global up_fullcontextrestore
|
||||
.global avr_doirq
|
||||
.global avr_fullcontextrestore
|
||||
|
||||
/********************************************************************************************
|
||||
* Macros
|
||||
@ -198,7 +198,7 @@ excpt_common:
|
||||
|
||||
EXCPT_PROLOGUE
|
||||
|
||||
/* Call up_doirq with r24 = IRQ number, r22-23 = Pointer to the save structure. The stack
|
||||
/* Call avr_doirq with r24 = IRQ number, r22-23 = Pointer to the save structure. The stack
|
||||
* pointer currently points to the save structure (or maybe the save structure -1 since
|
||||
* the push operation post-decrements -- need to REVISIT this).
|
||||
*/
|
||||
@ -208,7 +208,7 @@ excpt_common:
|
||||
adiw r28, 1 /* Remembering that push post-decrements */
|
||||
movw r22, r28 /* Pass register save structure as the parameter 2 */
|
||||
USE_INTSTACK rx, ry, rz /* Switch to the interrupt stack */
|
||||
call up_doirq /* Dispatch the interrupt */
|
||||
call avr_doirq /* Dispatch the interrupt */
|
||||
RESTORE_STACK rx, ry /* Undo the operations of USE_INTSTACK */
|
||||
|
||||
/* up_doiq returns with r24-r25 equal to the new save structure. If no context
|
||||
@ -221,11 +221,11 @@ excpt_common:
|
||||
cpc r29, r25
|
||||
breq .Lnoswitch
|
||||
|
||||
/* A context switch has occurred, jump to up_fullcontextrestore with r24, r25
|
||||
/* A context switch has occurred, jump to avr_fullcontextrestore with r24, r25
|
||||
* equal to the address of the new register save ared.
|
||||
*/
|
||||
|
||||
jmp up_fullcontextrestore
|
||||
jmp avr_fullcontextrestore
|
||||
|
||||
/* No context switch occurred.. just return off the stack */
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
||||
.global _edata /* End of .data section in RAM */
|
||||
.global _eronly /* Start of .data section in FLASH */
|
||||
.global _enoinit /* End of uninitilized data. Defined by ld.script */
|
||||
.global up_lowinit /* Perform low level initialization */
|
||||
.global avr_lowinit /* Perform low level initialization */
|
||||
.global nx_start /* NuttX entry point */
|
||||
|
||||
.global vectortab
|
||||
@ -435,7 +435,7 @@ __do_clear_bss:
|
||||
|
||||
/* Perform any low-level initialization */
|
||||
|
||||
call up_lowinit
|
||||
call avr_lowinit
|
||||
|
||||
/* Now start NuttX */
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <arch/board/board.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "atmega.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -442,14 +442,14 @@ void up_consoleinit(void)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_lowputc
|
||||
* Name: avr_lowputc
|
||||
*
|
||||
* Description:
|
||||
* Output one byte on the serial console
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_lowputc(char ch)
|
||||
void avr_lowputc(char ch)
|
||||
{
|
||||
#ifdef HAVE_SERIAL_CONSOLE
|
||||
# if defined(CONFIG_USART0_SERIAL_CONSOLE)
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <avr/power.h>
|
||||
|
||||
#include "atmega_config.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "atmega.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -96,7 +96,7 @@ static inline void up_wdtinit(void)
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_lowinit
|
||||
* Name: avr_lowinit
|
||||
*
|
||||
* Description:
|
||||
* This performs basic initialization of the USART used for the serial
|
||||
@ -105,7 +105,7 @@ static inline void up_wdtinit(void)
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_lowinit(void)
|
||||
void avr_lowinit(void)
|
||||
{
|
||||
/* Disable the watchdog timer */
|
||||
|
||||
@ -133,7 +133,7 @@ void up_lowinit(void)
|
||||
*/
|
||||
|
||||
#ifdef USE_EARLYSERIALINIT
|
||||
up_earlyserialinit();
|
||||
avr_earlyserialinit();
|
||||
#endif
|
||||
|
||||
/* Perform board-level initialization */
|
||||
|
@ -40,7 +40,7 @@
|
||||
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "atmega.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -823,16 +823,16 @@ static bool usart1_txempty(struct uart_dev_s *dev)
|
||||
#ifdef USE_EARLYSERIALINIT
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_earlyserialinit
|
||||
* Name: avr_earlyserialinit
|
||||
*
|
||||
* Description:
|
||||
* Performs the low level USART initialization early in debug so that the
|
||||
* serial console will be available during bootup. This must be called
|
||||
* before up_serialinit.
|
||||
* before avr_serialinit.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_earlyserialinit(void)
|
||||
void avr_earlyserialinit(void)
|
||||
{
|
||||
/* Disable all USARTS */
|
||||
|
||||
@ -857,15 +857,15 @@ void up_earlyserialinit(void)
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_serialinit
|
||||
* Name: avr_serialinit
|
||||
*
|
||||
* Description:
|
||||
* Register serial console and serial ports. This assumes
|
||||
* that up_earlyserialinit was called previously.
|
||||
* that avr_earlyserialinit was called previously.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_serialinit(void)
|
||||
void avr_serialinit(void)
|
||||
{
|
||||
/* Register the console */
|
||||
|
||||
@ -906,10 +906,10 @@ int up_putc(int ch)
|
||||
{
|
||||
/* Add CR */
|
||||
|
||||
up_lowputc('\r');
|
||||
avr_lowputc('\r');
|
||||
}
|
||||
|
||||
up_lowputc(ch);
|
||||
avr_lowputc(ch);
|
||||
|
||||
#if defined(CONFIG_USART0_SERIAL_CONSOLE)
|
||||
usart0_restoreusartint(imr);
|
||||
@ -940,10 +940,10 @@ int up_putc(int ch)
|
||||
{
|
||||
/* Add CR */
|
||||
|
||||
up_lowputc('\r');
|
||||
avr_lowputc('\r');
|
||||
}
|
||||
|
||||
up_lowputc(ch);
|
||||
avr_lowputc(ch);
|
||||
#endif
|
||||
return ch;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
||||
#include <arch/board/board.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "atmega.h"
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -43,8 +43,8 @@
|
||||
* state from the TCB.
|
||||
*/
|
||||
|
||||
#define up_savestate(regs) up_copystate(regs, (uint8_t*)g_current_regs)
|
||||
#define up_restorestate(regs) (g_current_regs = regs)
|
||||
#define avr_savestate(regs) avr_copystate(regs, (uint8_t*)g_current_regs)
|
||||
#define avr_restorestate(regs) (g_current_regs = regs)
|
||||
|
||||
/****************************************************************************
|
||||
* Public Types
|
||||
@ -77,7 +77,7 @@ extern uint16_t g_idle_topstack;
|
||||
struct spi_dev_s; /* Forward references */
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_copystate
|
||||
* Name: avr_copystate
|
||||
*
|
||||
* Description:
|
||||
* Copy the contents of a register state save structure from one location
|
||||
@ -85,37 +85,37 @@ struct spi_dev_s; /* Forward references */
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_copystate(uint8_t *dest, uint8_t *src);
|
||||
void avr_copystate(uint8_t *dest, uint8_t *src);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_fullcontextrestore
|
||||
* Name: avr_fullcontextrestore
|
||||
*
|
||||
* Description:
|
||||
* Restore the full context of a saved thread/task.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_fullcontextrestore(uint8_t *restoreregs) noreturn_function;
|
||||
void avr_fullcontextrestore(uint8_t *restoreregs) noreturn_function;
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_switchcontext
|
||||
* Name: avr_switchcontext
|
||||
*
|
||||
* Description:
|
||||
* Switch from one thread/task context to another.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_switchcontext(uint8_t *saveregs, uint8_t *restoreregs);
|
||||
void avr_switchcontext(uint8_t *saveregs, uint8_t *restoreregs);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_doirq
|
||||
* Name: avr_doirq
|
||||
*
|
||||
* Description:
|
||||
* Dispatch an interrupt.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
uint8_t *up_doirq(uint8_t irq, uint8_t *regs);
|
||||
uint8_t *avr_doirq(uint8_t irq, uint8_t *regs);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: avr_spibus_initialize
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_blocktask.c
|
||||
* arch/avr/src/avr/avr_blocktask.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -33,7 +33,7 @@
|
||||
#include <nuttx/sched.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -67,7 +67,7 @@ void up_block_task(struct tcb_s *rtcb)
|
||||
* Just copy the g_current_regs into the OLD rtcb.
|
||||
*/
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
avr_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the ready-to-run task list.
|
||||
@ -81,7 +81,7 @@ void up_block_task(struct tcb_s *rtcb)
|
||||
|
||||
/* Then switch contexts */
|
||||
|
||||
up_restorestate(rtcb->xcp.regs);
|
||||
avr_restorestate(rtcb->xcp.regs);
|
||||
}
|
||||
|
||||
/* No, then we will need to perform the user context switch */
|
||||
@ -98,9 +98,9 @@ void up_block_task(struct tcb_s *rtcb)
|
||||
* ready to run list.
|
||||
*/
|
||||
|
||||
up_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
avr_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* avr_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_checkstack.c
|
||||
* arch/avr/src/avr/avr_checkstack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -32,7 +32,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <nuttx/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "sched/sched.h"
|
||||
|
||||
#ifdef CONFIG_STACK_COLORATION
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_copystate.c
|
||||
* arch/avr/src/avr/avr_copystate.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -27,7 +27,7 @@
|
||||
#include <stdint.h>
|
||||
#include <arch/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -46,12 +46,12 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_copystate
|
||||
* Name: avr_copystate
|
||||
****************************************************************************/
|
||||
|
||||
/* Really just a memcpy */
|
||||
|
||||
void up_copystate(uint8_t *dest, uint8_t *src)
|
||||
void avr_copystate(uint8_t *dest, uint8_t *src)
|
||||
{
|
||||
int i;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_createstack.c
|
||||
* arch/avr/src/avr/avr_createstack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -38,7 +38,7 @@
|
||||
#include <nuttx/tls.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Private Types
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_doirq.c
|
||||
* arch/avr/src/avr/avr_doirq.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -32,7 +32,7 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -54,7 +54,7 @@
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
uint8_t *up_doirq(uint8_t irq, uint8_t *regs)
|
||||
uint8_t *avr_doirq(uint8_t irq, uint8_t *regs)
|
||||
{
|
||||
board_autoled_on(LED_INIRQ);
|
||||
#ifdef CONFIG_SUPPRESS_INTERRUPTS
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_dumpstate.c
|
||||
* arch/avr/src/avr/avr_dumpstate.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -35,7 +35,7 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
#ifdef CONFIG_ARCH_STACKDUMP
|
||||
|
||||
@ -121,10 +121,10 @@ static inline void avr_registerdump(void)
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_dumpstate
|
||||
* Name: avr_dumpstate
|
||||
****************************************************************************/
|
||||
|
||||
void up_dumpstate(void)
|
||||
void avr_dumpstate(void)
|
||||
{
|
||||
FAR struct tcb_s *rtcb = running_task();
|
||||
uint16_t sp = up_getsp();
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_initialstate.c
|
||||
* arch/avr/src/avr/avr_initialstate.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -32,7 +32,7 @@
|
||||
#include <arch/irq.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_irq.c
|
||||
* arch/avr/src/avr/avr_irq.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -33,7 +33,7 @@
|
||||
#include <arch/irq.h>
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_releasepending.c
|
||||
* arch/avr/src/avr/avr_releasepending.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/sched.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -71,7 +71,7 @@ void up_release_pending(void)
|
||||
* Just copy the g_current_regs into the OLD rtcb.
|
||||
*/
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
avr_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the ready-to-run task list.
|
||||
@ -85,7 +85,7 @@ void up_release_pending(void)
|
||||
|
||||
/* Then switch contexts */
|
||||
|
||||
up_restorestate(rtcb->xcp.regs);
|
||||
avr_restorestate(rtcb->xcp.regs);
|
||||
}
|
||||
|
||||
/* No, then we will need to perform the user context switch */
|
||||
@ -102,9 +102,9 @@ void up_release_pending(void)
|
||||
* ready to run list.
|
||||
*/
|
||||
|
||||
up_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
avr_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* avr_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_romgetc.c
|
||||
* arch/avr/src/avr/avr_romgetc.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_schedulesigaction.c
|
||||
* arch/avr/src/avr/avr_schedulesigaction.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -33,7 +33,7 @@
|
||||
#include <avr/io.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -77,7 +77,7 @@
|
||||
|
||||
void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
|
||||
{
|
||||
uintptr_t reg_ptr = (uintptr_t)up_sigdeliver;
|
||||
uintptr_t reg_ptr = (uintptr_t)avr_sigdeliver;
|
||||
|
||||
sinfo("tcb=%p sigdeliver=%p\n", tcb, sigdeliver);
|
||||
|
||||
@ -150,7 +150,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
|
||||
* is the same as the interrupt return context.
|
||||
*/
|
||||
|
||||
up_savestate(tcb->xcp.regs);
|
||||
avr_savestate(tcb->xcp.regs);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_sigdeliver.c
|
||||
* arch/avr/src/avr/avr_sigdeliver.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -35,14 +35,14 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_sigdeliver
|
||||
* Name: avr_sigdeliver
|
||||
*
|
||||
* Description:
|
||||
* This is the a signal handling trampoline. When a signal action was
|
||||
@ -51,7 +51,7 @@
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_sigdeliver(void)
|
||||
void avr_sigdeliver(void)
|
||||
{
|
||||
struct tcb_s *rtcb = this_task();
|
||||
uint8_t regs[XCPTCONTEXT_REGS];
|
||||
@ -64,7 +64,7 @@ void up_sigdeliver(void)
|
||||
|
||||
/* Save the return state on the stack. */
|
||||
|
||||
up_copystate(regs, rtcb->xcp.regs);
|
||||
avr_copystate(regs, rtcb->xcp.regs);
|
||||
|
||||
#ifndef CONFIG_SUPPRESS_INTERRUPTS
|
||||
/* Then make sure that interrupts are enabled. Signal handlers must always
|
||||
@ -109,13 +109,13 @@ void up_sigdeliver(void)
|
||||
* unusual in two ways:
|
||||
*
|
||||
* 1. It is not a context switch between threads. Rather,
|
||||
* up_fullcontextrestore must behave more it more like a longjmp
|
||||
* avr_fullcontextrestore must behave more it more like a longjmp
|
||||
* within the same task, using the same stack.
|
||||
* 2. In this case, up_fullcontextrestore is called with r12 pointing to
|
||||
* 2. In this case, avr_fullcontextrestore is called with r12 pointing to
|
||||
* a register save area on the stack to be destroyed. This is
|
||||
* dangerous because there is the very real possibility that the new
|
||||
* stack pointer might overlap with the register save area and that
|
||||
* stack usage in up_fullcontextrestore might corrupt the register
|
||||
* stack usage in avr_fullcontextrestore might corrupt the register
|
||||
* save data before the state is restored. At present, there does
|
||||
* not appear to be any stack overlap problems. If there were, then
|
||||
* adding 3 words to the size of register save structure size will
|
||||
@ -123,5 +123,5 @@ void up_sigdeliver(void)
|
||||
*/
|
||||
|
||||
board_autoled_off(LED_SIGNAL);
|
||||
up_fullcontextrestore(regs);
|
||||
avr_fullcontextrestore(regs);
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_spi.c
|
||||
* arch/avr/src/avr/avr_spi.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -41,7 +41,7 @@
|
||||
#include <avr/io.h>
|
||||
#include <avr/power.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "chip.h"
|
||||
#include "avr.h"
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_stackframe.c
|
||||
* arch/avr/src/avr/avr_stackframe.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -32,7 +32,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <arch/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/************************************************************************************
|
||||
* arch/avr/src/avr/up_switchcontext.S
|
||||
* arch/avr/src/avr/avr_switchcontext.S
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -36,7 +36,7 @@
|
||||
* Public Symbols
|
||||
************************************************************************************/
|
||||
|
||||
.file "up_switchcontext.S"
|
||||
.file "avr_switchcontext.S"
|
||||
|
||||
/************************************************************************************
|
||||
* Macros
|
||||
@ -47,20 +47,20 @@
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Name: up_switchcontext
|
||||
* Name: avr_switchcontext
|
||||
*
|
||||
* Description:
|
||||
* Save the current thread context and restore the specified context. The full
|
||||
* C function prototype is:
|
||||
*
|
||||
* void up_switchcontext(uint8_t *saveregs, uint8_t *restoreregs);
|
||||
* void avr_switchcontext(uint8_t *saveregs, uint8_t *restoreregs);
|
||||
*
|
||||
* On Entry:
|
||||
* r24-r25: savregs
|
||||
* r22-r23: restoreregs
|
||||
*
|
||||
* Returned Value:
|
||||
* up_switchcontext forces a context switch to the task "canned" in restoreregs.
|
||||
* avr_switchcontext forces a context switch to the task "canned" in restoreregs.
|
||||
* It does not 'return' in the normal sense, rather, it will context switch back
|
||||
* to the function point. When it does 'return,' it is because the blocked
|
||||
* task hat was "pickeled" in the saveregs "can" is again ready to run and has
|
||||
@ -72,9 +72,9 @@
|
||||
************************************************************************************/
|
||||
|
||||
.text
|
||||
.globl up_switchcontext
|
||||
.func up_switchcontext
|
||||
up_switchcontext:
|
||||
.globl avr_switchcontext
|
||||
.func avr_switchcontext
|
||||
avr_switchcontext:
|
||||
/* Use X [r26:r27] to reference the save structure. (X is Call-used) */
|
||||
|
||||
movw r26, r24
|
||||
@ -89,7 +89,7 @@ up_switchcontext:
|
||||
.endfunc
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_fullcontextrestore
|
||||
* Name: avr_fullcontextrestore
|
||||
*
|
||||
* Description:
|
||||
* Restore the full-running context of a thread.
|
||||
@ -98,7 +98,7 @@ up_switchcontext:
|
||||
* r24-r25 = A pointer to the register save area of the thread to be restored.
|
||||
*
|
||||
* C Prototype:
|
||||
* void up_fullcontextrestore(uint8_t *regs);
|
||||
* void avr_fullcontextrestore(uint8_t *regs);
|
||||
*
|
||||
* Assumptions:
|
||||
* Interrupts are disabled.
|
||||
@ -106,9 +106,9 @@ up_switchcontext:
|
||||
****************************************************************************/
|
||||
|
||||
.text
|
||||
.global up_fullcontextrestore
|
||||
.func up_fullcontextrestore
|
||||
up_fullcontextrestore:
|
||||
.global avr_fullcontextrestore
|
||||
.func avr_fullcontextrestore
|
||||
avr_fullcontextrestore:
|
||||
/* Use X [r26:r27] to reference the restore structure. */
|
||||
|
||||
movw r26, r24
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_unblocktask.c
|
||||
* arch/avr/src/avr/avr_unblocktask.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "clock/clock.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -66,7 +66,7 @@ void up_unblock_task(struct tcb_s *tcb, struct tcb_s *rtcb)
|
||||
* Just copy the g_current_regs into the OLD rtcb.
|
||||
*/
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
avr_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Update scheduler parameters */
|
||||
|
||||
@ -74,7 +74,7 @@ void up_unblock_task(struct tcb_s *tcb, struct tcb_s *rtcb)
|
||||
|
||||
/* Then switch contexts */
|
||||
|
||||
up_restorestate(tcb->xcp.regs);
|
||||
avr_restorestate(tcb->xcp.regs);
|
||||
}
|
||||
|
||||
/* No, then we will need to perform the user context switch */
|
||||
@ -89,9 +89,9 @@ void up_unblock_task(struct tcb_s *tcb, struct tcb_s *rtcb)
|
||||
* ready to run list.
|
||||
*/
|
||||
|
||||
up_switchcontext(rtcb->xcp.regs, tcb->xcp.regs);
|
||||
avr_switchcontext(rtcb->xcp.regs, tcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* avr_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr/up_usestack.c
|
||||
* arch/avr/src/avr/avr_usestack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -35,7 +35,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <nuttx/tls.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -546,7 +546,7 @@
|
||||
* interrupt_enable - return sequence.
|
||||
*
|
||||
* NOTE: since actual returning is handled by this macro it has been
|
||||
* removed from up_fullcontextrestore function (up_switchcontext.S)
|
||||
* removed from avr_fullcontextrestore function (avr_switchcontext.S)
|
||||
*/
|
||||
|
||||
/* If interrupts shall be enabled go to 'restore remaining and reti' code
|
||||
|
@ -53,8 +53,8 @@
|
||||
* state from the TCB.
|
||||
*/
|
||||
|
||||
#define up_savestate(regs) up_copystate(regs, (uint32_t*)g_current_regs)
|
||||
#define up_restorestate(regs) (g_current_regs = regs)
|
||||
#define avr_savestate(regs) avr_copystate(regs, (uint32_t*)g_current_regs)
|
||||
#define avr_restorestate(regs) (g_current_regs = regs)
|
||||
|
||||
/****************************************************************************
|
||||
* Public Types
|
||||
@ -85,7 +85,7 @@ extern uint32_t g_idle_topstack;
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_copystate
|
||||
* Name: avr_copystate
|
||||
*
|
||||
* Description:
|
||||
* Copy the contents of a register state save structure from one location
|
||||
@ -93,37 +93,37 @@ extern uint32_t g_idle_topstack;
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_copystate(uint32_t *dest, uint32_t *src);
|
||||
void avr_copystate(uint32_t *dest, uint32_t *src);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_fullcontextrestore
|
||||
* Name: avr_fullcontextrestore
|
||||
*
|
||||
* Description:
|
||||
* Restore the full context of a saved thread/task.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
void avr_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_switchcontext
|
||||
* Name: avr_switchcontext
|
||||
*
|
||||
* Description:
|
||||
* Switch from one thread/task context to another.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
|
||||
void avr_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_doirq
|
||||
* Name: avr_doirq
|
||||
*
|
||||
* Description:
|
||||
* Dispatch an interrupt.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
uint32_t *up_doirq(int irq, uint32_t *regs);
|
||||
uint32_t *avr_doirq(int irq, uint32_t *regs);
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __ARCH_AVR_SRC_AVR32_AVR32_H */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_blocktask.c
|
||||
* arch/avr/src/avr32/avr_blocktask.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -34,7 +34,7 @@
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "group/group.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -68,7 +68,7 @@ void up_block_task(struct tcb_s *rtcb)
|
||||
* Just copy the g_current_regs into the OLD rtcb.
|
||||
*/
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
avr_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the ready-to-run task list.
|
||||
@ -85,7 +85,7 @@ void up_block_task(struct tcb_s *rtcb)
|
||||
* interrupt.
|
||||
*/
|
||||
|
||||
up_restorestate(rtcb->xcp.regs);
|
||||
avr_restorestate(rtcb->xcp.regs);
|
||||
}
|
||||
|
||||
/* No, then we will need to perform the user context switch */
|
||||
@ -113,9 +113,9 @@ void up_block_task(struct tcb_s *rtcb)
|
||||
|
||||
/* Then switch contexts */
|
||||
|
||||
up_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
avr_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* avr_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_copystate.c
|
||||
* arch/avr/src/avr32/avr_copystate.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -28,7 +28,7 @@
|
||||
|
||||
#include <arch/avr32/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -47,12 +47,12 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_copystate
|
||||
* Name: avr_copystate
|
||||
****************************************************************************/
|
||||
|
||||
/* A little faster than most memcpy's */
|
||||
|
||||
void up_copystate(uint32_t *dest, uint32_t *src)
|
||||
void avr_copystate(uint32_t *dest, uint32_t *src)
|
||||
{
|
||||
int i;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_createstack.c
|
||||
* arch/avr/src/avr32/avr_createstack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -38,7 +38,7 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Private Types
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_doirq.c
|
||||
* arch/avr/src/avr32/avr_doirq.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -32,7 +32,7 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
#include "group/group.h"
|
||||
|
||||
/****************************************************************************
|
||||
@ -55,7 +55,7 @@
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
uint32_t *up_doirq(int irq, uint32_t *regs)
|
||||
uint32_t *avr_doirq(int irq, uint32_t *regs)
|
||||
{
|
||||
board_autoled_on(LED_INIRQ);
|
||||
#ifdef CONFIG_SUPPRESS_INTERRUPTS
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_dumpstate.c
|
||||
* arch/avr/src/avr32/avr_dumpstate.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -35,7 +35,7 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
#ifdef CONFIG_ARCH_STACKDUMP
|
||||
|
||||
@ -93,10 +93,10 @@ static inline void avr_registerdump(void)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_dumpstate
|
||||
* Name: avr_dumpstate
|
||||
****************************************************************************/
|
||||
|
||||
void up_dumpstate(void)
|
||||
void avr_dumpstate(void)
|
||||
{
|
||||
FAR struct tcb_s *rtcb = running_task();
|
||||
uint32_t sp = up_getsp();
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_exceptions.S
|
||||
* arch/avr/src/avr32/avr_exceptions.S
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -35,8 +35,8 @@
|
||||
.global avr32_int1irqno /* Returns IRQ number of INT1 event */
|
||||
.global avr32_int2irqno /* Returns IRQ number of INT2 event */
|
||||
.global avr32_int3irqno /* Returns IRQ number of INT3 event */
|
||||
.global up_doirq /* Dispatch an IRQ */
|
||||
.global up_fullcontextrestore /* Restore new task context */
|
||||
.global avr_doirq /* Dispatch an IRQ */
|
||||
.global avr_fullcontextrestore /* Restore new task context */
|
||||
|
||||
/****************************************************************************
|
||||
* Macros
|
||||
@ -276,7 +276,7 @@ avr32_common:
|
||||
|
||||
stm --sp, r0-r7
|
||||
|
||||
/* Now call up_doirq passing the IRQ number in r12 and the base address */
|
||||
/* Now call avr_doirq passing the IRQ number in r12 and the base address */
|
||||
/* of the register context save area in r11. */
|
||||
|
||||
mov r11, sp
|
||||
@ -290,7 +290,7 @@ avr32_common:
|
||||
lddpc sp, .Linstacktopptr
|
||||
#endif
|
||||
|
||||
/* Call up_doirq with r12=IRQ number and r11=register save area */
|
||||
/* Call avr_doirq with r12=IRQ number and r11=register save area */
|
||||
|
||||
mcall .Ldoirqptr
|
||||
|
||||
@ -304,7 +304,7 @@ avr32_common:
|
||||
|
||||
/* On return, r12 will hold the new address of the register context */
|
||||
/* save area. On an interrupt context switch, this will (1) not be the */
|
||||
/* same as the value of r12 passed to up_doirq(), and (2) may not */
|
||||
/* same as the value of r12 passed to avr_doirq(), and (2) may not */
|
||||
/* reside on a stack. */
|
||||
|
||||
cp.w sp, r12
|
||||
@ -330,9 +330,9 @@ avr32_common:
|
||||
lddpc pc, .Lfullcontextrestoreptr
|
||||
|
||||
.Ldoirqptr:
|
||||
.word up_doirq
|
||||
.word avr_doirq
|
||||
.Lfullcontextrestoreptr:
|
||||
.word up_fullcontextrestore
|
||||
.word avr_fullcontextrestore
|
||||
|
||||
#if CONFIG_ARCH_INTERRUPTSTACK > 3
|
||||
.Linstacktopptr:
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr32/src/avr32/up_fullcontextrestore.S
|
||||
* arch/avr32/src/avr32/avr_fullcontextrestore.S
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -29,23 +29,23 @@
|
||||
* External Symbols
|
||||
****************************************************************************/
|
||||
|
||||
.file "up_fullcontextrestore.S"
|
||||
.file "avr_fullcontextrestore.S"
|
||||
|
||||
/****************************************************************************
|
||||
* Macros
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_fullcontextrestore
|
||||
* Name: avr_fullcontextrestore
|
||||
*
|
||||
* Description:
|
||||
* Restore the full-running context of a thread.
|
||||
*
|
||||
* NOTE: Thus function must handle one very strange case. That is when
|
||||
* this function is called with up_sigdeliver(). That case is strange in
|
||||
* this function is called with avr_sigdeliver(). That case is strange in
|
||||
* two ways:
|
||||
*
|
||||
* 1. It is not a context switch between threads. Rather, up_fullcontextrestore
|
||||
* 1. It is not a context switch between threads. Rather, avr_fullcontextrestore
|
||||
* must behave more it more like a longjmp within the same task, using the
|
||||
* same stack.
|
||||
* 2. In this case, this function is called with r12 pointing to a register
|
||||
@ -64,7 +64,7 @@
|
||||
* r12 = A pointer to the register save area of the thread to be restored.
|
||||
*
|
||||
* C Prototype:
|
||||
* void up_fullcontextrestore(uint32_t *regs);
|
||||
* void avr_fullcontextrestore(uint32_t *regs);
|
||||
*
|
||||
* Assumptions:
|
||||
* Interrupts are disabled.
|
||||
@ -72,9 +72,9 @@
|
||||
****************************************************************************/
|
||||
|
||||
.text
|
||||
.global up_fullcontextrestore
|
||||
.type up_fullcontextrestore, @function
|
||||
up_fullcontextrestore:
|
||||
.global avr_fullcontextrestore
|
||||
.type avr_fullcontextrestore, @function
|
||||
avr_fullcontextrestore:
|
||||
|
||||
/* Initially, r12 points to the r7 save area. Restore r0-r7. */
|
||||
/* regs: 07 06 05 04 03 02 01 00 xx xx xx xx xx xx xx xx xx */
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_initialstate.c
|
||||
* arch/avr/src/avr32/avr_initialstate.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr32/src/avr32/up_nommuhead.S
|
||||
* arch/avr32/src/avr32/avr_nommuhead.S
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -25,7 +25,7 @@
|
||||
#include <nuttx/config.h>
|
||||
#include <arch/avr32/avr32.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* External Symbols
|
||||
@ -39,7 +39,7 @@
|
||||
.global _edata /* End of .data section in RAM */
|
||||
.global _eronly /* Start of .data section in FLASH */
|
||||
#endif
|
||||
.global up_lowinit /* Perform low level initialization */
|
||||
.global avr_lowinit /* Perform low level initialization */
|
||||
.global nx_start /* NuttX entry point */
|
||||
.global vectortab /* Vector base address */
|
||||
|
||||
@ -113,7 +113,7 @@ __start:
|
||||
|
||||
/* Perform low-level initialization */
|
||||
|
||||
mcall .Lup_lowinit
|
||||
mcall .Lavr_lowinit
|
||||
|
||||
/* Then jump to OS entry (will not return) */
|
||||
|
||||
@ -121,8 +121,8 @@ __start:
|
||||
|
||||
.Lstackbase:
|
||||
.word _ebss+CONFIG_IDLETHREAD_STACKSIZE
|
||||
.Lup_lowinit:
|
||||
.word up_lowinit
|
||||
.Lavr_lowinit:
|
||||
.word avr_lowinit
|
||||
.size __start, .-__start
|
||||
|
||||
/* This global variable is unsigned long g_idle_topstack and is
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_releasepending.c
|
||||
* arch/avr/src/avr32/avr_releasepending.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "group/group.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -74,7 +74,7 @@ void up_release_pending(void)
|
||||
* Just copy the g_current_regs into the OLD rtcb.
|
||||
*/
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
avr_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Restore the exception context of the rtcb at the (new) head
|
||||
* of the ready-to-run task list.
|
||||
@ -90,7 +90,7 @@ void up_release_pending(void)
|
||||
* changes will be made when the interrupt returns.
|
||||
*/
|
||||
|
||||
up_restorestate(rtcb->xcp.regs);
|
||||
avr_restorestate(rtcb->xcp.regs);
|
||||
}
|
||||
|
||||
/* No, then we will need to perform the user context switch */
|
||||
@ -118,9 +118,9 @@ void up_release_pending(void)
|
||||
|
||||
/* Then switch contexs */
|
||||
|
||||
up_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
avr_switchcontext(rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* avr_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_schedulesigaction.c
|
||||
* arch/avr/src/avr32/avr_schedulesigaction.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -33,7 +33,7 @@
|
||||
#include <arch/avr32/avr32.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -130,14 +130,14 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
|
||||
* disabled
|
||||
*/
|
||||
|
||||
g_current_regs[REG_PC] = (uint32_t)up_sigdeliver;
|
||||
g_current_regs[REG_PC] = (uint32_t)avr_sigdeliver;
|
||||
g_current_regs[REG_SR] |= AVR32_SR_GM_MASK;
|
||||
|
||||
/* And make sure that the saved context in the TCB
|
||||
* is the same as the interrupt return context.
|
||||
*/
|
||||
|
||||
up_savestate(tcb->xcp.regs);
|
||||
avr_savestate(tcb->xcp.regs);
|
||||
}
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
|
||||
* disabled
|
||||
*/
|
||||
|
||||
tcb->xcp.regs[REG_PC] = (uint32_t)up_sigdeliver;
|
||||
tcb->xcp.regs[REG_PC] = (uint32_t)avr_sigdeliver;
|
||||
tcb->xcp.regs[REG_SR] |= AVR32_SR_GM_MASK;
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_sigdeliver.c
|
||||
* arch/avr/src/avr32/avr_sigdeliver.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -35,14 +35,14 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_sigdeliver
|
||||
* Name: avr_sigdeliver
|
||||
*
|
||||
* Description:
|
||||
* This is the a signal handling trampoline. When a signal action was
|
||||
@ -51,7 +51,7 @@
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_sigdeliver(void)
|
||||
void avr_sigdeliver(void)
|
||||
{
|
||||
struct tcb_s *rtcb = this_task();
|
||||
#if 0
|
||||
@ -68,7 +68,7 @@ void up_sigdeliver(void)
|
||||
|
||||
/* Save the return state on the stack. */
|
||||
|
||||
up_copystate(regs, rtcb->xcp.regs);
|
||||
avr_copystate(regs, rtcb->xcp.regs);
|
||||
|
||||
#ifndef CONFIG_SUPPRESS_INTERRUPTS
|
||||
/* Then make sure that interrupts are enabled. Signal handlers must always
|
||||
@ -109,13 +109,13 @@ void up_sigdeliver(void)
|
||||
* unusual in two ways:
|
||||
*
|
||||
* 1. It is not a context switch between threads. Rather,
|
||||
* up_fullcontextrestore must behave more it more like a longjmp
|
||||
* avr_fullcontextrestore must behave more it more like a longjmp
|
||||
* within the same task, using the same stack.
|
||||
* 2. In this case, up_fullcontextrestore is called with r12 pointing to
|
||||
* 2. In this case, avr_fullcontextrestore is called with r12 pointing to
|
||||
* a register save area on the stack to be destroyed. This is
|
||||
* dangerous because there is the very real possibility that the new
|
||||
* stack pointer might overlap with the register save area and that
|
||||
* stack usage in up_fullcontextrestore might corrupt the register
|
||||
* stack usage in avr_fullcontextrestore might corrupt the register
|
||||
* save data before the state is restored. At present, there does
|
||||
* not appear to be any stack overlap problems. If there were, then
|
||||
* adding 3 words to the size of register save structure size will
|
||||
@ -123,5 +123,5 @@ void up_sigdeliver(void)
|
||||
*/
|
||||
|
||||
board_autoled_off(LED_SIGNAL);
|
||||
up_fullcontextrestore(regs);
|
||||
avr_fullcontextrestore(regs);
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/hc/src/common/up_stackframe.c
|
||||
* arch/avr/src/avr32/avr_stackframe.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -32,7 +32,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <arch/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/************************************************************************************
|
||||
* arch/avr/src/avr32/up_switchcontext.S
|
||||
* arch/avr/src/avr32/avr_switchcontext.S
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -34,7 +34,7 @@
|
||||
* Public Symbols
|
||||
************************************************************************************/
|
||||
|
||||
.file "up_switchcontext.S"
|
||||
.file "avr_switchcontext.S"
|
||||
|
||||
/************************************************************************************
|
||||
* Macros
|
||||
@ -45,16 +45,16 @@
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Name: up_switchcontext
|
||||
* Name: avr_switchcontext
|
||||
*
|
||||
* Description:
|
||||
* Save the current thread context and restore the specified context. The full
|
||||
* C function prototype is:
|
||||
*
|
||||
* void up_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
|
||||
* void avr_switchcontext(uint32_t *saveregs, uint32_t *restoreregs);
|
||||
*
|
||||
* Returned Value:
|
||||
* up_switchcontext forces a context switch to the task "canned" in restoreregs.
|
||||
* avr_switchcontext forces a context switch to the task "canned" in restoreregs.
|
||||
* It does not 'return' in the normal sense, rather, it will context switch back
|
||||
* to the function point. When it does 'return,' it is because the blocked
|
||||
* task hat was "pickeled" in the saveregs "can" is again ready to run and has
|
||||
@ -66,9 +66,9 @@
|
||||
************************************************************************************/
|
||||
|
||||
.text
|
||||
.globl up_switchcontext
|
||||
.type up_switchcontext, @function
|
||||
up_switchcontext:
|
||||
.globl avr_switchcontext
|
||||
.type avr_switchcontext, @function
|
||||
avr_switchcontext:
|
||||
/* "Pickle" the current thread context in the saveregs "can." r12=saveregs. */
|
||||
/* xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx */
|
||||
/* ^r12 */
|
||||
@ -95,13 +95,13 @@ up_switchcontext:
|
||||
|
||||
stm --r12, r0-r7
|
||||
|
||||
/* Finally, let up_fullcontextrestore handling the re-instatement of the thread */
|
||||
/* Finally, let avr_fullcontextrestore handling the re-instatement of the thread */
|
||||
/* "canned" in restoregs. */
|
||||
|
||||
mov r12, r11
|
||||
lddpc pc, .Lup_fullcontextrestore
|
||||
lddpc pc, .Lavr_fullcontextrestore
|
||||
|
||||
.Lup_fullcontextrestore:
|
||||
.word up_fullcontextrestore
|
||||
.size up_switchcontext, .-up_switchcontext
|
||||
.Lavr_fullcontextrestore:
|
||||
.word avr_fullcontextrestore
|
||||
.size avr_switchcontext, .-avr_switchcontext
|
||||
.end
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_syscall6.S
|
||||
* arch/avr/src/avr32/avr_syscall6.S
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_unblocktask.c
|
||||
* arch/avr/src/avr32/avr_unblocktask.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -33,7 +33,7 @@
|
||||
#include "sched/sched.h"
|
||||
#include "group/group.h"
|
||||
#include "clock/clock.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -67,7 +67,7 @@ void up_unblock_task(struct tcb_s *tcb, struct tcb_s *rtcb)
|
||||
* Just copy the g_current_regs into the OLD rtcb.
|
||||
*/
|
||||
|
||||
up_savestate(rtcb->xcp.regs);
|
||||
avr_savestate(rtcb->xcp.regs);
|
||||
|
||||
/* Update scheduler parameters */
|
||||
|
||||
@ -78,7 +78,7 @@ void up_unblock_task(struct tcb_s *tcb, struct tcb_s *rtcb)
|
||||
* interrupt.
|
||||
*/
|
||||
|
||||
up_restorestate(tcb->xcp.regs);
|
||||
avr_restorestate(tcb->xcp.regs);
|
||||
}
|
||||
|
||||
/* No, then we will need to perform the user context switch */
|
||||
@ -100,9 +100,9 @@ void up_unblock_task(struct tcb_s *tcb, struct tcb_s *rtcb)
|
||||
|
||||
/* Then switch contexts */
|
||||
|
||||
up_switchcontext(rtcb->xcp.regs, tcb->xcp.regs);
|
||||
avr_switchcontext(rtcb->xcp.regs, tcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* avr_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/avr32/up_usestack.c
|
||||
* arch/avr/src/avr32/avr_usestack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -34,7 +34,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <nuttx/tls.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_allocateheap.c
|
||||
* arch/avr/src/common/avr_allocateheap.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -31,7 +31,7 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_assert.c
|
||||
* arch/avr/src/common/avr_assert.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -38,7 +38,7 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -143,7 +143,7 @@ void up_assert(const char *filename, int lineno)
|
||||
filename, lineno);
|
||||
#endif
|
||||
|
||||
up_dumpstate();
|
||||
avr_dumpstate();
|
||||
|
||||
/* Flush any buffered SYSLOG data (from the above) */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_exit.c
|
||||
* arch/avr/src/common/avr_exit.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -36,7 +36,7 @@
|
||||
#include "task/task.h"
|
||||
#include "sched/sched.h"
|
||||
#include "group/group.h"
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -145,5 +145,5 @@ void up_exit(int status)
|
||||
|
||||
/* Then switch contexts */
|
||||
|
||||
up_fullcontextrestore(tcb->xcp.regs);
|
||||
avr_fullcontextrestore(tcb->xcp.regs);
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_idle.c
|
||||
* arch/avr/src/common/avr_idle.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -25,7 +25,7 @@
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <nuttx/arch.h>
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_initialize.c
|
||||
* arch/avr/src/common/avr_initialize.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -26,14 +26,14 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
****************************************************************************/
|
||||
|
||||
/* Determine which (if any) console driver to use. This will probably cause
|
||||
* up_serialinit to be incorrectly called if there is no USART configured to
|
||||
* avr_serialinit to be incorrectly called if there is no USART configured to
|
||||
* be an RS-232 device (see as an example
|
||||
* arch/avr/src/at32uc23/at32uc3_config.h)
|
||||
* This will probably have to be revisited someday.
|
||||
@ -130,7 +130,7 @@ void up_initialize(void)
|
||||
|
||||
/* Add any extra memory fragments to the memory manager */
|
||||
|
||||
up_addregion();
|
||||
avr_addregion();
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
/* Initialize the power management subsystem. This MCU-specific function
|
||||
@ -143,31 +143,31 @@ void up_initialize(void)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_DMA
|
||||
/* Initialize the DMA subsystem if the weak function up_dma_initialize has
|
||||
/* Initialize the DMA subsystem if the weak function avr_dma_initialize has
|
||||
* been brought into the build
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_HAVE_WEAKFUNCTIONS
|
||||
if (up_dma_initialize)
|
||||
if (avr_dma_initialize)
|
||||
#endif
|
||||
{
|
||||
up_dma_initialize();
|
||||
avr_dma_initialize();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Initialize the serial device driver */
|
||||
|
||||
#ifdef USE_SERIALDRIVER
|
||||
up_serialinit();
|
||||
avr_serialinit();
|
||||
#endif
|
||||
|
||||
/* Initialize the network */
|
||||
|
||||
up_netinitialize();
|
||||
avr_netinitialize();
|
||||
|
||||
/* Initialize USB */
|
||||
|
||||
up_usbinitialize();
|
||||
avr_usbinitialize();
|
||||
|
||||
#if defined(ARCH_HAVE_LEDS)
|
||||
board_autoled_on(LED_IRQSENABLED);
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_internal.h
|
||||
* arch/avr/src/common/avr_internal.h
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -114,19 +114,19 @@ void modifyreg32(unsigned int addr, uint32_t clearbits, uint32_t setbits);
|
||||
/* Defined in files with the same name as the function */
|
||||
|
||||
#ifdef CONFIG_ARCH_DMA
|
||||
void weak_function up_dma_initialize(void);
|
||||
void weak_function avr_dma_initialize(void);
|
||||
#endif
|
||||
void up_sigdeliver(void);
|
||||
void up_lowputc(char ch);
|
||||
void up_lowputs(const char *str);
|
||||
void up_dumpstate(void);
|
||||
void avr_sigdeliver(void);
|
||||
void avr_lowputc(char ch);
|
||||
void avr_lowputs(const char *str);
|
||||
void avr_dumpstate(void);
|
||||
|
||||
/* Defined in common/up_allocateheap.c or chip/xxx_allocateheap.c */
|
||||
/* Defined in common/avr_allocateheap.c or chip/xxx_allocateheap.c */
|
||||
|
||||
#if CONFIG_MM_REGIONS > 1
|
||||
void up_addregion(void);
|
||||
void avr_addregion(void);
|
||||
#else
|
||||
# define up_addregion()
|
||||
# define avr_addregion()
|
||||
#endif
|
||||
|
||||
/* Defined in chip/xxx_lowinit.c. This function is called from the
|
||||
@ -135,31 +135,31 @@ void up_addregion(void);
|
||||
* before the OS gets started (clocks, console, LEDs, etc.)
|
||||
*/
|
||||
|
||||
void up_lowinit(void);
|
||||
void avr_lowinit(void);
|
||||
|
||||
/* Defined in chip/xxx_serial.c */
|
||||
|
||||
#ifdef CONFIG_DEV_CONSOLE
|
||||
void up_earlyserialinit(void);
|
||||
void up_serialinit(void);
|
||||
void avr_earlyserialinit(void);
|
||||
void avr_serialinit(void);
|
||||
#endif
|
||||
|
||||
/* Defined in chip/xxx_ethernet.c */
|
||||
|
||||
#if defined(CONFIG_NET) && !defined(CONFIG_NETDEV_LATEINIT)
|
||||
void up_netinitialize(void);
|
||||
void avr_netinitialize(void);
|
||||
#else
|
||||
# define up_netinitialize()
|
||||
# define avr_netinitialize()
|
||||
#endif
|
||||
|
||||
/* Defined in chip/xxx_usbdev.c */
|
||||
|
||||
#ifdef CONFIG_USBDEV
|
||||
void up_usbinitialize(void);
|
||||
void up_usbuninitialize(void);
|
||||
void avr_usbinitialize(void);
|
||||
void avr_usbuninitialize(void);
|
||||
#else
|
||||
# define up_usbinitialize()
|
||||
# define up_usbuninitialize()
|
||||
# define avr_usbinitialize()
|
||||
# define avr_usbuninitialize()
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_STACK_COLORATION
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/sparc/src/common/up_lowputs.c
|
||||
* arch/avr/src/common/avr_lowputs.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -43,18 +43,17 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_lowputs
|
||||
* Name: avr_lowputs
|
||||
*
|
||||
* Description:
|
||||
* This is a low-level helper function used to support debug.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_lowputs(const char *str)
|
||||
void avr_lowputs(const char *str)
|
||||
{
|
||||
while (*str)
|
||||
{
|
||||
up_lowputc(*str++);
|
||||
avr_lowputc(*str++);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_mdelay.c
|
||||
* arch/avr/src/common/avr_mdelay.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_modifyreg16.c
|
||||
* arch/avr/src/common/avr_modifyreg16.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/irq.h>
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_modifyreg32.c
|
||||
* arch/avr/src/common/avr_modifyreg32.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/irq.h>
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_modifyreg8.c
|
||||
* arch/avr/src/common/avr_modifyreg8.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/irq.h>
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_nputs.c
|
||||
* arch/avr/src/common/avr_nputs.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/avr/src/common/up_releasestack.c
|
||||
* arch/avr/src/common/avr_releasestack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <nuttx/kmalloc.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "avr_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Private Types
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/x86/src/common/up_udelay.c
|
||||
* arch/avr/src/common/avr_udelay.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
@ -65,14 +65,14 @@
|
||||
|
||||
/* SYS call 1:
|
||||
*
|
||||
* void up_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
* void ceva_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
*/
|
||||
|
||||
#define SYS_restore_context 0x01
|
||||
|
||||
/* SYS call 2:
|
||||
*
|
||||
* void up_switchcontext(uint32_t **saveregs, uint32_t *restoreregs);
|
||||
* void ceva_switchcontext(uint32_t **saveregs, uint32_t *restoreregs);
|
||||
*/
|
||||
|
||||
#define SYS_switch_context 0x02
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_assert.c
|
||||
* arch/ceva/src/common/ceva_assert.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -33,7 +33,7 @@
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "irq/irq.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_blocktask.c
|
||||
* arch/ceva/src/common/ceva_blocktask.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -26,7 +26,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -91,9 +91,9 @@ void up_block_task(struct tcb_s *rtcb)
|
||||
* ready to run list.
|
||||
*/
|
||||
|
||||
up_switchcontext(&rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
ceva_switchcontext(&rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* ceva_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_board.c
|
||||
* arch/ceva/src/common/ceva_board.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -28,7 +28,7 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -64,7 +64,7 @@ void board_late_initialize(void)
|
||||
{
|
||||
/* Perform the arch late initialization */
|
||||
|
||||
up_lateinitialize();
|
||||
ceva_lateinitialize();
|
||||
|
||||
/* Perform the board late initialization */
|
||||
|
||||
@ -103,7 +103,7 @@ int board_app_initialize(uintptr_t arg)
|
||||
# ifdef CONFIG_NSH_ARCHINIT
|
||||
/* Perform the arch late initialization */
|
||||
|
||||
up_lateinitialize();
|
||||
ceva_lateinitialize();
|
||||
|
||||
/* Perform the board late initialization */
|
||||
|
||||
@ -137,7 +137,7 @@ int board_app_finalinitialize(uintptr_t arg)
|
||||
{
|
||||
/* Perform the arch final initialization */
|
||||
|
||||
up_finalinitialize();
|
||||
ceva_finalinitialize();
|
||||
|
||||
/* Perform the board final initialization */
|
||||
|
||||
@ -171,8 +171,8 @@ int board_reset(int status)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
up_reset(status);
|
||||
up_cpu_idle();
|
||||
ceva_reset(status);
|
||||
ceva_cpu_idle();
|
||||
}
|
||||
|
||||
return 0;
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_checkstack.c
|
||||
* arch/ceva/src/common/ceva_checkstack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/tls.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
#ifdef CONFIG_STACK_COLORATION
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_createstack.c
|
||||
* arch/ceva/src/common/ceva_createstack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -33,7 +33,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <nuttx/tls.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Macros
|
||||
@ -208,7 +208,7 @@ int up_create_stack(struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
|
||||
* water marks.
|
||||
*/
|
||||
|
||||
up_stack_color(tcb->stack_alloc_ptr, tcb->adj_stack_size);
|
||||
ceva_stack_color(tcb->stack_alloc_ptr, tcb->adj_stack_size);
|
||||
|
||||
#endif /* CONFIG_STACK_COLORATION */
|
||||
|
||||
@ -220,7 +220,7 @@ int up_create_stack(struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_stack_color
|
||||
* Name: ceva_stack_color
|
||||
*
|
||||
* Description:
|
||||
* Write a well know value into the stack
|
||||
@ -228,7 +228,7 @@ int up_create_stack(struct tcb_s *tcb, size_t stack_size, uint8_t ttype)
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_STACK_COLORATION
|
||||
void up_stack_color(void *stackbase, size_t nbytes)
|
||||
void ceva_stack_color(void *stackbase, size_t nbytes)
|
||||
{
|
||||
uint32_t *stkptr;
|
||||
uintptr_t stkend;
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_doirq.c
|
||||
* arch/ceva/src/common/ceva_doirq.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -27,7 +27,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Data
|
||||
@ -45,7 +45,7 @@ uint32_t *volatile g_current_regs[CONFIG_SMP_NCPUS];
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
uint32_t *up_doirq(int irq, uint32_t *regs)
|
||||
uint32_t *ceva_doirq(int irq, uint32_t *regs)
|
||||
{
|
||||
/* Is it the outermost interrupt? */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_exit.c
|
||||
* arch/ceva/src/common/ceva_exit.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
#include "task/task.h"
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -80,5 +80,5 @@ void _exit(int status)
|
||||
|
||||
/* Then switch contexts */
|
||||
|
||||
up_fullcontextrestore(tcb->xcp.regs);
|
||||
ceva_fullcontextrestore(tcb->xcp.regs);
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_fullcontextrestore.c
|
||||
* arch/ceva/src/common/ceva_fullcontextrestore.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -24,26 +24,26 @@
|
||||
|
||||
#include <arch/syscall.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_fullcontextrestore
|
||||
* Name: ceva_fullcontextrestore
|
||||
*
|
||||
* Description:
|
||||
* Restore the current thread context. Full prototype is:
|
||||
*
|
||||
* void up_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
* void ceva_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
*
|
||||
* Return:
|
||||
* None
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_fullcontextrestore(uint32_t *restoreregs)
|
||||
void ceva_fullcontextrestore(uint32_t *restoreregs)
|
||||
{
|
||||
/* Let sys_call1() do all of the work */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_heap.c
|
||||
* arch/ceva/src/common/ceva_heap.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -31,7 +31,7 @@
|
||||
#include <nuttx/kmalloc.h>
|
||||
|
||||
#include "mpu.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -187,7 +187,7 @@ void up_allocate_heap(void **heap_start, size_t *heap_size)
|
||||
if (size != 0)
|
||||
{
|
||||
mpu_user_data(bssend[i], size);
|
||||
up_heap_color(bssend[i], size);
|
||||
ceva_heap_color(bssend[i], size);
|
||||
if (i == CONFIG_ARCH_USER_DEFAULT_HEAP)
|
||||
{
|
||||
/* Return the default user-space heap settings */
|
||||
@ -210,7 +210,7 @@ void up_allocate_heap(void **heap_start, size_t *heap_size)
|
||||
if (size != 0)
|
||||
{
|
||||
mpu_priv_data(g_bssend[i], size);
|
||||
up_heap_color(g_bssend[i], size);
|
||||
ceva_heap_color(g_bssend[i], size);
|
||||
if (i == CONFIG_ARCH_DEFAULT_HEAP)
|
||||
{
|
||||
/* Return the default heap settings */
|
||||
@ -250,7 +250,7 @@ void up_allocate_kheap(void **heap_start, size_t *heap_size)
|
||||
if (size != 0)
|
||||
{
|
||||
mpu_priv_data(g_bssend[i], size);
|
||||
up_heap_color(g_bssend[i], size);
|
||||
ceva_heap_color(g_bssend[i], size);
|
||||
if (i == CONFIG_ARCH_DEFAULT_HEAP)
|
||||
{
|
||||
/* Return the default kernel-space heap settings */
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_idle.c
|
||||
* arch/ceva/src/common/ceva_idle.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -28,7 +28,7 @@
|
||||
#include <nuttx/irq.h>
|
||||
#include <nuttx/power/pm.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
@ -73,19 +73,19 @@ static void up_idlepm(void)
|
||||
switch (newstate)
|
||||
{
|
||||
case PM_NORMAL:
|
||||
up_cpu_doze();
|
||||
ceva_cpu_doze();
|
||||
break;
|
||||
|
||||
case PM_IDLE:
|
||||
up_cpu_idle();
|
||||
ceva_cpu_idle();
|
||||
break;
|
||||
|
||||
case PM_STANDBY:
|
||||
up_cpu_standby();
|
||||
ceva_cpu_standby();
|
||||
break;
|
||||
|
||||
case PM_SLEEP:
|
||||
up_cpu_sleep();
|
||||
ceva_cpu_sleep();
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -93,7 +93,7 @@ static void up_idlepm(void)
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define up_idlepm() up_cpu_idle()
|
||||
# define up_idlepm() ceva_cpu_idle()
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
@ -127,7 +127,7 @@ void up_idle(void)
|
||||
|
||||
/* Quit lower power mode, restore to PM_NORMAL */
|
||||
|
||||
up_cpu_normal();
|
||||
ceva_cpu_normal();
|
||||
pm_changestate(PM_IDLE_DOMAIN, PM_RESTORE);
|
||||
|
||||
sched_unlock();
|
||||
@ -138,12 +138,12 @@ void up_idle(void)
|
||||
* Power callback default implementation
|
||||
****************************************************************************/
|
||||
|
||||
void weak_function up_cpu_normal(void)
|
||||
void weak_function ceva_cpu_normal(void)
|
||||
{
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_pminitialize
|
||||
* Name: ceva_pminitialize
|
||||
*
|
||||
* Description:
|
||||
* This function is called by MCU-specific logic at power-on reset in
|
||||
@ -161,7 +161,7 @@ void weak_function up_cpu_normal(void)
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
void up_pminitialize(void)
|
||||
void ceva_pminitialize(void)
|
||||
{
|
||||
/* Initialize the NuttX power management subsystem proper */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_initialize.c
|
||||
* arch/ceva/src/common/ceva_initialize.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
@ -81,7 +81,7 @@ void up_initialize(void)
|
||||
|
||||
/* Add any extra memory fragments to the memory manager */
|
||||
|
||||
up_addregion();
|
||||
ceva_addregion();
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
/* Initialize the power management subsystem. This MCU-specific function
|
||||
@ -90,30 +90,30 @@ void up_initialize(void)
|
||||
* with the power management subsystem).
|
||||
*/
|
||||
|
||||
up_pminitialize();
|
||||
ceva_pminitialize();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_DMA
|
||||
/* Initialize the DMA subsystem if the weak function up_dma_initialize has
|
||||
* been brought into the build
|
||||
/* Initialize the DMA subsystem if the weak function ceva_dma_initialize
|
||||
* has been brought into the build
|
||||
*/
|
||||
|
||||
up_dma_initialize();
|
||||
ceva_dma_initialize();
|
||||
#endif
|
||||
|
||||
/* Initialize the serial device driver */
|
||||
|
||||
#ifdef USE_SERIALDRIVER
|
||||
up_serialinit();
|
||||
ceva_serialinit();
|
||||
#endif
|
||||
|
||||
/* Initialize the network */
|
||||
|
||||
up_netinitialize();
|
||||
ceva_netinitialize();
|
||||
|
||||
#if defined(CONFIG_USBDEV) || defined(CONFIG_USBHOST)
|
||||
/* Initialize USB -- device and/or host */
|
||||
|
||||
up_usbinitialize();
|
||||
ceva_usbinitialize();
|
||||
#endif
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_internal.h
|
||||
* arch/ceva/src/common/ceva_internal.h
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -205,104 +205,104 @@ void modifyreg32(unsigned int addr, uint32_t clearbits, uint32_t setbits);
|
||||
|
||||
/* Context switching */
|
||||
|
||||
void up_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
void up_switchcontext(uint32_t **saveregs, uint32_t *restoreregs);
|
||||
void ceva_fullcontextrestore(uint32_t *restoreregs) noreturn_function;
|
||||
void ceva_switchcontext(uint32_t **saveregs, uint32_t *restoreregs);
|
||||
|
||||
/* Signal handling **********************************************************/
|
||||
|
||||
void up_sigdeliver(void);
|
||||
void ceva_sigdeliver(void);
|
||||
|
||||
/* Arch specific ************************************************************/
|
||||
|
||||
void up_earlyinitialize(void);
|
||||
void up_lateinitialize(void);
|
||||
void up_finalinitialize(void);
|
||||
void ceva_earlyinitialize(void);
|
||||
void ceva_lateinitialize(void);
|
||||
void ceva_finalinitialize(void);
|
||||
|
||||
/* Power management *********************************************************/
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
void up_pminitialize(void);
|
||||
void ceva_pminitialize(void);
|
||||
#else
|
||||
# define up_pminitialize()
|
||||
# define ceva_pminitialize()
|
||||
#endif
|
||||
|
||||
void up_reset(void);
|
||||
void ceva_reset(void);
|
||||
|
||||
void up_cpu_doze(void);
|
||||
void up_cpu_idle(void);
|
||||
void up_cpu_standby(void);
|
||||
void up_cpu_sleep(void);
|
||||
void up_cpu_normal(void);
|
||||
void ceva_cpu_doze(void);
|
||||
void ceva_cpu_idle(void);
|
||||
void ceva_cpu_standby(void);
|
||||
void ceva_cpu_sleep(void);
|
||||
void ceva_cpu_normal(void);
|
||||
|
||||
/* Interrupt handling *******************************************************/
|
||||
|
||||
/* Interrupt acknowledge and dispatch */
|
||||
|
||||
uint32_t *up_doirq(int irq, uint32_t *regs);
|
||||
uint32_t *ceva_doirq(int irq, uint32_t *regs);
|
||||
|
||||
/* Exception Handlers */
|
||||
|
||||
int up_svcall(int irq, void *context, void *arg);
|
||||
int up_hardfault(int irq, void *context, void *arg);
|
||||
int ceva_svcall(int irq, void *context, void *arg);
|
||||
int ceva_hardfault(int irq, void *context, void *arg);
|
||||
|
||||
void up_svcall_handler(void);
|
||||
void ceva_svcall_handler(void);
|
||||
|
||||
/* Low level serial output **************************************************/
|
||||
|
||||
#ifdef USE_SERIALDRIVER
|
||||
void up_serialinit(void);
|
||||
void ceva_serialinit(void);
|
||||
#else
|
||||
# define up_serialinit()
|
||||
# define ceva_serialinit()
|
||||
#endif
|
||||
|
||||
#ifdef USE_EARLYSERIALINIT
|
||||
void up_earlyserialinit(void);
|
||||
void ceva_earlyserialinit(void);
|
||||
#else
|
||||
# define up_earlyserialinit()
|
||||
# define ceva_earlyserialinit()
|
||||
#endif
|
||||
|
||||
/* DMA **********************************************************************/
|
||||
|
||||
#ifdef CONFIG_ARCH_DMA
|
||||
void up_dma_initialize(void);
|
||||
void ceva_dma_initialize(void);
|
||||
#endif
|
||||
|
||||
/* Memory management ********************************************************/
|
||||
|
||||
#if CONFIG_MM_REGIONS > 1
|
||||
void up_addregion(void);
|
||||
void ceva_addregion(void);
|
||||
#else
|
||||
# define up_addregion()
|
||||
# define ceva_addregion()
|
||||
#endif
|
||||
|
||||
/* Networking ***************************************************************/
|
||||
|
||||
#if defined(CONFIG_NET) && !defined(CONFIG_NETDEV_LATEINIT)
|
||||
void up_netinitialize(void);
|
||||
void ceva_netinitialize(void);
|
||||
#else
|
||||
# define up_netinitialize()
|
||||
# define ceva_netinitialize()
|
||||
#endif
|
||||
|
||||
/* USB **********************************************************************/
|
||||
|
||||
#ifdef CONFIG_USBDEV
|
||||
void up_usbinitialize(void);
|
||||
void up_usbuninitialize(void);
|
||||
void ceva_usbinitialize(void);
|
||||
void ceva_usbuninitialize(void);
|
||||
#else
|
||||
# define up_usbinitialize()
|
||||
# define up_usbuninitialize()
|
||||
# define ceva_usbinitialize()
|
||||
# define ceva_usbuninitialize()
|
||||
#endif
|
||||
|
||||
/* Debug ********************************************************************/
|
||||
#ifdef CONFIG_HEAP_COLORATION
|
||||
# define up_heap_color(start, size) memset(start, HEAP_COLOR, size)
|
||||
# define ceva_heap_color(start, size) memset(start, HEAP_COLOR, size)
|
||||
#else
|
||||
# define up_heap_color(start, size)
|
||||
# define ceva_heap_color(start, size)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_STACK_COLORATION
|
||||
size_t ceva_stack_check(uintptr_t alloc, size_t size);
|
||||
void up_stack_color(void *stackbase, size_t nbytes);
|
||||
void ceva_stack_color(void *stackbase, size_t nbytes);
|
||||
#endif
|
||||
|
||||
#undef EXTERN
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_modifyreg16.c
|
||||
* arch/ceva/src/common/ceva_modifyreg16.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -25,7 +25,7 @@
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_modifyreg32.c
|
||||
* arch/ceva/src/common/ceva_modifyreg32.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -25,7 +25,7 @@
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_modifyreg8.c
|
||||
* arch/ceva/src/common/ceva_modifyreg8.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -25,7 +25,7 @@
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/irq.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_nputs.c
|
||||
* arch/ceva/src/common/ceva_nputs.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_pthread_start.c
|
||||
* arch/ceva/src/common/ceva_pthread_start.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_releasepending.c
|
||||
* arch/ceva/src/common/ceva_releasepending.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -28,7 +28,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
@ -102,9 +102,9 @@ void up_release_pending(void)
|
||||
* ready to run list.
|
||||
*/
|
||||
|
||||
up_switchcontext(&rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
ceva_switchcontext(&rtcb->xcp.regs, nexttcb->xcp.regs);
|
||||
|
||||
/* up_switchcontext forces a context switch to the task at the
|
||||
/* ceva_switchcontext forces a context switch to the task at the
|
||||
* head of the ready-to-run list. It does not 'return' in the
|
||||
* normal sense. When it does return, it is because the blocked
|
||||
* task is again ready to run and has execution priority.
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_releasestack.c
|
||||
* arch/ceva/src/common/ceva_releasestack.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
#include <nuttx/kmalloc.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_saveusercontext.c
|
||||
* arch/ceva/src/common/ceva_saveusercontext.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
#include <arch/syscall.h>
|
||||
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_schedulesigaction.c
|
||||
* arch/ceva/src/common/ceva_schedulesigaction.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -31,7 +31,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
#ifndef CONFIG_DISABLE_SIGNALS
|
||||
|
||||
@ -159,7 +159,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
|
||||
* to be here.
|
||||
*/
|
||||
|
||||
g_current_regs[cpu][REG_PC] = (uint32_t)up_sigdeliver;
|
||||
g_current_regs[cpu][REG_PC] = (uint32_t)ceva_sigdeliver;
|
||||
#ifdef REG_OM
|
||||
g_current_regs[cpu][REG_OM] &= ~REG_OM_MASK;
|
||||
g_current_regs[cpu][REG_OM] |= REG_OM_KERNEL;
|
||||
@ -203,7 +203,7 @@ void up_schedule_sigaction(struct tcb_s *tcb, sig_deliver_t sigdeliver)
|
||||
* here.
|
||||
*/
|
||||
|
||||
tcb->xcp.regs[REG_PC] = (uint32_t)up_sigdeliver;
|
||||
tcb->xcp.regs[REG_PC] = (uint32_t)ceva_sigdeliver;
|
||||
#ifdef REG_OM
|
||||
tcb->xcp.regs[REG_OM] &= ~REG_OM_MASK;
|
||||
tcb->xcp.regs[REG_OM] |= REG_OM_KERNEL;
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* arch/ceva/src/common/up_sigdeliver.c
|
||||
* arch/ceva/src/common/ceva_sigdeliver.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -30,7 +30,7 @@
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "up_internal.h"
|
||||
#include "ceva_internal.h"
|
||||
|
||||
#ifndef CONFIG_DISABLE_SIGNALS
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: up_sigdeliver
|
||||
* Name: ceva_sigdeliver
|
||||
*
|
||||
* Description:
|
||||
* This is the a signal handling trampoline. When a signal action was
|
||||
@ -48,7 +48,7 @@
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void up_sigdeliver(void)
|
||||
void ceva_sigdeliver(void)
|
||||
{
|
||||
struct tcb_s *rtcb = this_task();
|
||||
uint32_t *regs = rtcb->xcp.saved_regs;
|
||||
@ -90,7 +90,7 @@ void up_sigdeliver(void)
|
||||
* execution.
|
||||
*/
|
||||
|
||||
up_fullcontextrestore(regs);
|
||||
ceva_fullcontextrestore(regs);
|
||||
}
|
||||
|
||||
#endif /* !CONFIG_DISABLE_SIGNALS */
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user