X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=FreeRTOS%2FSource%2Fportable%2FIAR%2FRL78%2FISR_Support.h;h=4e73aa99b8d50ed775f5a173b7fb91c6a650d460;hb=b15dfacb6026af3b0ba697e5753844923b468d2b;hp=c93153c5c8f7f0664c6ee10e9e331bb78fc385e2;hpb=3d511cabadf346c67f0f56e15e999c02ca0393ed;p=freertos diff --git a/FreeRTOS/Source/portable/IAR/RL78/ISR_Support.h b/FreeRTOS/Source/portable/IAR/RL78/ISR_Support.h index c93153c5c..4e73aa99b 100644 --- a/FreeRTOS/Source/portable/IAR/RL78/ISR_Support.h +++ b/FreeRTOS/Source/portable/IAR/RL78/ISR_Support.h @@ -1,56 +1,29 @@ ;/* -; FreeRTOS V8.1.2 - Copyright (C) 2014 Real Time Engineers Ltd. -; All rights reserved -; -; -; *************************************************************************** -; * * -; * FreeRTOS tutorial books are available in pdf and paperback. * -; * Complete, revised, and edited pdf reference manuals are also * -; * available. * -; * * -; * Purchasing FreeRTOS documentation will not only help you, by * -; * ensuring you get running as quickly as possible and with an * -; * in-depth knowledge of how to use FreeRTOS, it will also help * -; * the FreeRTOS project to continue with its mission of providing * -; * professional grade, cross platform, de facto standard solutions * -; * for microcontrollers - completely free of charge! * -; * * -; * >>> See http://www.FreeRTOS.org/Documentation for details. <<< * -; * * -; * Thank you for using FreeRTOS, and thank you for your support! * -; * * -; *************************************************************************** -; -; -; This file is part of the FreeRTOS distribution. -; -; FreeRTOS is free software; you can redistribute it and/or modify it under -; the terms of the GNU General Public License (version 2) as published by the -; Free Software Foundation AND MODIFIED BY the FreeRTOS exception. -; >>>NOTE<<< The modification to the GPL is included to allow you to -; distribute a combined work that includes FreeRTOS without being obliged to -; provide the source code for proprietary components outside of the FreeRTOS -; kernel. FreeRTOS is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -; more details. You should have received a copy of the GNU General Public -; License and the FreeRTOS license exception along with FreeRTOS; if not it -; can be viewed here: http://www.freertos.org/a00114.html and also obtained -; by writing to Richard Barry, contact details for whom are available on the -; FreeRTOS WEB site. -; -; 1 tab == 4 spaces! -; -; http://www.FreeRTOS.org - Documentation, latest information, license and -; contact details. -; -; http://www.SafeRTOS.com - A version that is certified for use in safety -; critical systems. -; -; http://www.OpenRTOS.com - Commercial support, development, porting, -; licensing and training services. -;*/ +; * FreeRTOS Kernel V10.3.0 +; * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. +; * +; * Permission is hereby granted, free of charge, to any person obtaining a copy of +; * this software and associated documentation files (the "Software"), to deal in +; * the Software without restriction, including without limitation the rights to +; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +; * the Software, and to permit persons to whom the Software is furnished to do so, +; * subject to the following conditions: +; * +; * The above copyright notice and this permission notice shall be included in all +; * copies or substantial portions of the Software. +; * +; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +; * +; * http://www.FreeRTOS.org +; * http://aws.amazon.com/freertos +; * +; * 1 tab == 4 spaces! +; */ #include "FreeRTOSConfig.h" @@ -62,7 +35,7 @@ ;------------------------------------------------------------------------------ ; portSAVE_CONTEXT MACRO -; Saves the context of the general purpose registers, CS and ES (only in far +; Saves the context of the general purpose registers, CS and ES (only in far ; memory mode) registers the usCriticalNesting Value and the Stack Pointer ; of the active Task onto the task stack ;------------------------------------------------------------------------------ @@ -70,23 +43,18 @@ portSAVE_CONTEXT MACRO PUSH AX ; Save AX Register to stack. PUSH HL -#if __DATA_MODEL__ == __DATA_MODEL_FAR__ MOV A, CS ; Save CS register. XCH A, X MOV A, ES ; Save ES register. PUSH AX -#else - MOV A, CS ; Save CS register. - PUSH AX -#endif PUSH DE ; Save the remaining general purpose registers. PUSH BC MOVW AX, usCriticalNesting ; Save the usCriticalNesting value. - PUSH AX + PUSH AX MOVW AX, pxCurrentTCB ; Save the Stack pointer. - MOVW HL, AX - MOVW AX, SP - MOVW [HL], AX + MOVW HL, AX + MOVW AX, SP + MOVW [HL], AX ENDM ;------------------------------------------------------------------------------ @@ -105,15 +73,10 @@ portRESTORE_CONTEXT MACRO MOVW usCriticalNesting, AX POP BC ; Restore the necessary general purpose registers. POP DE -#if __DATA_MODEL__ == __DATA_MODEL_FAR__ POP AX ; Restore the ES register. MOV ES, A XCH A, X ; Restore the CS register. MOV CS, A -#else - POP AX - MOV CS, A ; Restore CS register. -#endif POP HL ; Restore general purpose register HL. POP AX ; Restore AX. ENDM