Merge pull request #2161 from RT-Thread/libcpu_SConscript

Libcpu sconscript
This commit is contained in:
Bernard Xiong 2019-01-11 09:44:43 +08:00 committed by GitHub
commit 40ca27d994
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
95 changed files with 1255 additions and 736 deletions

View File

@ -19,6 +19,7 @@ env = Environment(tools = ['mingw'],
AR = rtconfig.AR, ARFLAGS = '-rc', AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
env.PrependENVPath('PATH', rtconfig.EXEC_PATH) env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
env['ASCOM'] = env['ASPPCOM']
Export('RTT_ROOT') Export('RTT_ROOT')
Export('rtconfig') Export('rtconfig')

View File

@ -18,6 +18,7 @@ env = Environment(tools = ['mingw'],
AR = rtconfig.AR, ARFLAGS = '-rc', AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
env.PrependENVPath('PATH', rtconfig.EXEC_PATH) env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
env['ASCOM'] = env['ASPPCOM']
Export('RTT_ROOT') Export('RTT_ROOT')
Export('rtconfig') Export('rtconfig')

View File

@ -18,6 +18,7 @@ env = Environment(tools = ['mingw'],
AR = rtconfig.AR, ARFLAGS = '-rc', AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
env.PrependENVPath('PATH', rtconfig.EXEC_PATH) env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
env['ASCOM'] = env['ASPPCOM']
Export('RTT_ROOT') Export('RTT_ROOT')
Export('rtconfig') Export('rtconfig')

View File

@ -1,38 +1,15 @@
Import('RTT_ROOT') # RT-Thread building script for bridge
Import('rtconfig')
import os
from building import * from building import *
arch = rtconfig.ARCH Import('rtconfig')
comm = rtconfig.ARCH + '/common'
path = rtconfig.ARCH + '/' + rtconfig.CPU
src = []
ASFLAGS = ''
# The set of source files associated with this SConscript file. cwd = GetCurrentDir()
if rtconfig.PLATFORM == 'armcc': group = []
src += Glob(path + '/*.c') + Glob(path + '/*_rvds.S') list = os.listdir(cwd)
src += Glob(comm + '/*.c') + Glob(comm + '/*_rvds.S')
if rtconfig.PLATFORM == 'gcc': if rtconfig.ARCH in list:
src += Glob(path + '/*_init.S') group = group + SConscript(os.path.join(cwd, rtconfig.ARCH, 'SConscript'))
src += Glob(path + '/*.c') + Glob(path + '/*_gcc.S')
src += Glob(comm + '/*.c') + Glob(comm + '/*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob(path + '/*.c') + Glob(path + '/*_iar.S')
src += Glob(comm + '/*.c') + Glob(comm + '/*_iar.S')
if rtconfig.PLATFORM == 'cl':
src = Glob(path + '/*.c')
if rtconfig.PLATFORM == 'mingw':
src = Glob(path + '/*.c')
if rtconfig.PLATFORM == 'armcc' and rtconfig.ARCH == 'arm' and rtconfig.CPU == 'arm926':
ASFLAGS = ' --cpreproc'
CPPPATH = [RTT_ROOT + '/libcpu/' + arch + '/' + rtconfig.CPU, RTT_ROOT + '/libcpu/' + arch + '/common']
group = DefineGroup(rtconfig.CPU.upper(), src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group') Return('group')

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,16 +1,12 @@
;/* /*
; * File : context_rvds.S * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS *
; * COPYRIGHT (C) 2006, RT-Thread Development Team * SPDX-License-Identifier: Apache-2.0
; * *
; * The license and distribution terms for this file may be * Change Logs:
; * found in the file LICENSE in this distribution or at * Date Author Notes
; * http://www.rt-thread.org/license/LICENSE * 2009-01-20 Bernard first version
; * */
; * Change Logs:
; * Date Author Notes
; * 2009-01-20 Bernard first version
; */
NOINT EQU 0xc0 ; disable interrupt in psr NOINT EQU 0xc0 ; disable interrupt in psr

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,16 +1,12 @@
;/* /*
; * File : context_rvds.S * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS *
; * COPYRIGHT (C) 2006, RT-Thread Development Team * SPDX-License-Identifier: Apache-2.0
; * *
; * The license and distribution terms for this file may be * Change Logs:
; * found in the file LICENSE in this distribution or at * Date Author Notes
; * http://www.rt-thread.org/license/LICENSE * 2009-01-20 Bernard first version
; * */
; * Change Logs:
; * Date Author Notes
; * 2009-01-20 Bernard first version
; */
NOINT EQU 0xc0 ; disable interrupt in psr NOINT EQU 0xc0 ; disable interrupt in psr

18
libcpu/arm/SConscript Normal file
View File

@ -0,0 +1,18 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# add common code files
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -0,0 +1,25 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
ASFLAGS = ''
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
ASFLAGS = ' --cpreproc'
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -1,21 +1,7 @@
;/* ;/*
; * File : context_iar.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * This program is free software; you can redistribute it and/or modify ; * SPDX-License-Identifier: Apache-2.0
; * it under the terms of the GNU General Public License as published by
; * the Free Software Foundation; either version 2 of the License, or
; * (at your option) any later version.
; *
; * This program 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 along
; * with this program; if not, write to the Free Software Foundation, Inc.,
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -1,27 +1,13 @@
;/* /*
; * File : context_iar.S * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS *
; * COPYRIGHT (C) 2006, RT-Thread Development Team * SPDX-License-Identifier: Apache-2.0
; * *
; * This program is free software; you can redistribute it and/or modify * Change Logs:
; * it under the terms of the GNU General Public License as published by * Date Author Notes
; * the Free Software Foundation; either version 2 of the License, or * 2011-08-14 weety copy from mini2440
; * (at your option) any later version. * 2015-04-15 ArdaFu convert from context_gcc.s
; * */
; * This program 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 along
; * with this program; if not, write to the Free Software Foundation, Inc.,
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
; *
; * Change Logs:
; * Date Author Notes
; * 2011-08-14 weety copy from mini2440
; * 2015-04-15 ArdaFu convert from context_gcc.s
; */
#define NOINT 0xc0 #define NOINT 0xc0

View File

@ -1,24 +1,10 @@
;/* ;/*
; * file : context_rvds.s ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * this file is part of rt-thread rtos
; * copyright (c) 2006, rt-thread development team
; * ; *
; * this program is free software; you can redistribute it and/or modify ; * SPDX-License-Identifier: Apache-2.0
; * it under the terms of the gnu general public license as published by
; * the free software foundation; either version 2 of the license, or
; * (at your option) any later version.
; * ; *
; * this program is distributed in the hope that it will be useful, ; * Change Logs:
; * but without any warranty; without even the implied warranty of ; * Date Author Notes
; * 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 along
; * with this program; if not, write to the free software foundation, inc.,
; * 51 franklin street, fifth floor, boston, ma 02110-1301 usa.
; *
; * change logs:
; * date author notes
; * 2011-08-14 weety copy from mini2440 ; * 2011-08-14 weety copy from mini2440
; */ ; */

View File

@ -1,21 +1,7 @@
;/* ;/*
; * File : start.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * This program is free software; you can redistribute it and/or modify ; * SPDX-License-Identifier: Apache-2.0
; * it under the terms of the GNU General Public License as published by
; * the Free Software Foundation; either version 2 of the License, or
; * (at your option) any later version.
; *
; * This program 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 along
; * with this program; if not, write to the Free Software Foundation, Inc.,
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -1,21 +1,7 @@
;/* ;/*
; * File : start_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * This program is free software; you can redistribute it and/or modify ; * SPDX-License-Identifier: Apache-2.0
; * it under the terms of the GNU General Public License as published by
; * the Free Software Foundation; either version 2 of the License, or
; * (at your option) any later version.
; *
; * This program 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 along
; * with this program; if not, write to the Free Software Foundation, Inc.,
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes
@ -25,7 +11,6 @@
; * 2015-06-04 aozima Align stack address to 8 byte. ; * 2015-06-04 aozima Align stack address to 8 byte.
; */ ; */
;#include "rt_low_level_init.h"
UND_STK_SIZE EQU 512 UND_STK_SIZE EQU 512
SVC_STK_SIZE EQU 4096 SVC_STK_SIZE EQU 4096
ABT_STK_SIZE EQU 512 ABT_STK_SIZE EQU 512
@ -35,25 +20,7 @@ SYS_STK_SIZE EQU 512
Heap_Size EQU 512 Heap_Size EQU 512
S_FRAME_SIZE EQU (18*4) ;72 S_FRAME_SIZE EQU (18*4) ;72
;S_SPSR EQU (17*4) ;SPSR
;S_CPSR EQU (16*4) ;CPSR
S_PC EQU (15*4) ;R15 S_PC EQU (15*4) ;R15
;S_LR EQU (14*4) ;R14
;S_SP EQU (13*4) ;R13
;S_IP EQU (12*4) ;R12
;S_FP EQU (11*4) ;R11
;S_R10 EQU (10*4)
;S_R9 EQU (9*4)
;S_R8 EQU (8*4)
;S_R7 EQU (7*4)
;S_R6 EQU (6*4)
;S_R5 EQU (5*4)
;S_R4 EQU (4*4)
;S_R3 EQU (3*4)
;S_R2 EQU (2*4)
;S_R1 EQU (1*4)
;S_R0 EQU (0*4)
MODE_USR EQU 0X10 MODE_USR EQU 0X10
MODE_FIQ EQU 0X11 MODE_FIQ EQU 0X11

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -13,7 +13,7 @@
#ifdef __GNUC__ #ifdef __GNUC__
/* /*
-->High Address,Stack Top -->High Address,Stack Top
PC<-----| PC<------|
LR | LR |
IP | IP |
FP | FP |

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_iar.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2009, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2009, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_iar.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006 - 2013, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_iar.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_iar.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_ccs.asm ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,21 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * This program is free software; you can redistribute it and/or modify ; * SPDX-License-Identifier: Apache-2.0
; * it under the terms of the GNU General Public License as published by
; * the Free Software Foundation; either version 2 of the License, or
; * (at your option) any later version.
; *
; * This program 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 along
; * with this program; if not, write to the Free Software Foundation, Inc.,
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -1,17 +1,23 @@
Import('rtconfig') # RT-Thread building script for component
from building import * from building import *
Import('rtconfig')
cwd = GetCurrentDir() cwd = GetCurrentDir()
src = Glob('*.c') src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd] CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar': if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S') src += Glob('*_iar.S')
elif rtconfig.PLATFORM == 'gcc':
src += Glob('*_gcc.S')
elif rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
group = DefineGroup('AM335x', src, depend = [''], CPPPATH = CPPPATH) group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group') Return('group')

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -0,0 +1,23 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S')
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group')

View File

@ -1,11 +1,7 @@
;/* ;/*
; * File : context_rvds.S ; * Copyright (c) 2006-2018, RT-Thread Development Team
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006, RT-Thread Development Team
; * ; *
; * The license and distribution terms for this file may be ; * SPDX-License-Identifier: Apache-2.0
; * found in the file LICENSE in this distribution or at
; * http://www.rt-thread.org/license/LICENSE
; * ; *
; * Change Logs: ; * Change Logs:
; * Date Author Notes ; * Date Author Notes

View File

@ -1,17 +1,23 @@
Import('rtconfig') # RT-Thread building script for component
from building import * from building import *
Import('rtconfig')
cwd = GetCurrentDir() cwd = GetCurrentDir()
src = Glob('*.c') src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd] CPPPATH = [cwd]
if rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
if rtconfig.PLATFORM == 'gcc':
src += Glob('*_init.S')
src += Glob('*_gcc.S')
if rtconfig.PLATFORM == 'iar': if rtconfig.PLATFORM == 'iar':
src += Glob('*_iar.S') src += Glob('*_iar.S')
elif rtconfig.PLATFORM == 'gcc':
src += Glob('*_gcc.S')
elif rtconfig.PLATFORM == 'armcc':
src += Glob('*_rvds.S')
group = DefineGroup('AM1808', src, depend = [''], CPPPATH = CPPPATH) group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group') Return('group')

View File

@ -1,21 +1,11 @@
/* /*
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd * Copyright (c) 2006-2018, Shanghai Real-Thread Technology Co., Ltd
* *
* All rights reserved. * SPDX-License-Identifier: Apache-2.0
* *
* This program is free software; you can redistribute it and/or modify * Change Logs:
* it under the terms of the GNU General Public License as published by * Date Author Notes
* the Free Software Foundation; either version 2 of the License, or * 2009-01-20 Bernard first version
* (at your option) any later version.
*
* This program 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 along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#define NOINT 0xc0 #define NOINT 0xc0

View File

@ -1,24 +1,15 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2013-07-20 Bernard first version
*/
#ifndef __CP15_H__ #ifndef __CP15_H__
#define __CP15_H__ #define __CP15_H__
/*
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
*
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program 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 along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
unsigned long rt_cpu_get_smp_id(void); unsigned long rt_cpu_get_smp_id(void);

View File

@ -1,21 +1,11 @@
/* /*
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd * Copyright (c) 2006-2018, RT-Thread Development Team
* *
* All rights reserved. * SPDX-License-Identifier: Apache-2.0
* *
* This program is free software; you can redistribute it and/or modify * Change Logs:
* it under the terms of the GNU General Public License as published by * Date Author Notes
* the Free Software Foundation; either version 2 of the License, or * 2013-07-20 Bernard first version
* (at your option) any later version.
*
* This program 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 along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include <rtthread.h> #include <rtthread.h>

View File

@ -1,21 +1,11 @@
/* /*
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd * Copyright (c) 2006-2018, RT-Thread Development Team
* *
* All rights reserved. * SPDX-License-Identifier: Apache-2.0
* *
* This program is free software; you can redistribute it and/or modify * Change Logs:
* it under the terms of the GNU General Public License as published by * Date Author Notes
* the Free Software Foundation; either version 2 of the License, or * 2013-07-20 Bernard first version
* (at your option) any later version.
*
* This program 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 along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#ifndef __GIC_H__ #ifndef __GIC_H__

View File

@ -1,24 +1,15 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2013-07-20 Bernard first version
*/
#ifndef __INTERRUPT_H__ #ifndef __INTERRUPT_H__
#define __INTERRUPT_H__ #define __INTERRUPT_H__
/*
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
*
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program 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 along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
void rt_hw_interrupt_clear(int vector); void rt_hw_interrupt_clear(int vector);

View File

@ -1,21 +1,11 @@
/* /*
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd * Copyright (c) 2006-2018, RT-Thread Development Team
* *
* All rights reserved. * SPDX-License-Identifier: Apache-2.0
* *
* This program is free software; you can redistribute it and/or modify * Change Logs:
* it under the terms of the GNU General Public License as published by * Date Author Notes
* the Free Software Foundation; either version 2 of the License, or * 2013-07-20 Bernard first version
* (at your option) any later version.
*
* This program 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 along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include <rtthread.h> #include <rtthread.h>

View File

@ -1,21 +1,11 @@
/* /*
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd * Copyright (c) 2006-2018, RT-Thread Development Team
* *
* All rights reserved. * SPDX-License-Identifier: Apache-2.0
* *
* This program is free software; you can redistribute it and/or modify * Change Logs:
* it under the terms of the GNU General Public License as published by * Date Author Notes
* the Free Software Foundation; either version 2 of the License, or * 2013-07-20 Bernard first version
* (at your option) any later version.
*
* This program 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 along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include <rtthread.h> #include <rtthread.h>

15
libcpu/avr32/SConscript Normal file
View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_vdsp.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

18
libcpu/c-sky/SConscript Normal file
View File

@ -0,0 +1,18 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# add common code files
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

14
libcpu/ia32/SConscript Normal file
View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

15
libcpu/m16c/SConscript Normal file
View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

18
libcpu/mips/SConscript Normal file
View File

@ -0,0 +1,18 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# add common code files
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -1,232 +0,0 @@
/*
* Cache operations for the cache instruction.
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* (C) Copyright 1996, 97, 99, 2002, 03 Ralf Baechle
* (C) Copyright 1999 Silicon Graphics, Inc.
*/
#ifndef __CACHE_H__
#define __CACHE_H__
#define KUSEG 0x00000000
#define KSEG0 0x80000000
#define KSEG1 0xa0000000
#define KSEG2 0xc0000000
#define KSEG3 0xe0000000
/*
* Cache Operations available on all MIPS processors with R4000-style caches
*/
#define Index_Invalidate_I 0x00
#define Index_Writeback_Inv_D 0x01
#define Index_Load_Tag_I 0x04
#define Index_Load_Tag_D 0x05
#define Index_Store_Tag_I 0x08
#define Index_Store_Tag_D 0x09
#define Hit_Invalidate_I 0x10
#define Hit_Invalidate_D 0x11
#define Hit_Writeback_Inv_D 0x15
#define Hit_Writeback_I 0x18
#define Hit_Writeback_D 0x19
/*
*The lock state is cleared by executing an Index
Invalidate, Index Writeback Invalidate, Hit
Invalidate, or Hit Writeback Invalidate
operation to the locked line, or via an Index
Store Tag operation with the lock bit reset in
the TagLo register.
*/
#define Fetch_And_Lock_I 0x1c
#define Fetch_And_Lock_D 0x1d
/*
* R4000-specific cacheops
*/
#define Create_Dirty_Excl_D 0x0d
#define Fill 0x14
/*
* R4000SC and R4400SC-specific cacheops
*/
#define Index_Invalidate_SI 0x02
#define Index_Writeback_Inv_SD 0x03
#define Index_Load_Tag_SI 0x06
#define Index_Load_Tag_SD 0x07
#define Index_Store_Tag_SI 0x0A
#define Index_Store_Tag_SD 0x0B
#define Create_Dirty_Excl_SD 0x0f
#define Hit_Invalidate_SI 0x12
#define Hit_Invalidate_SD 0x13
#define Hit_Writeback_Inv_SD 0x17
#define Hit_Writeback_SD 0x1b
#define Hit_Set_Virtual_SI 0x1e
#define Hit_Set_Virtual_SD 0x1f
/*
* R5000-specific cacheops
*/
#define R5K_Page_Invalidate_S 0x17
/*
* RM7000-specific cacheops
*/
#define Page_Invalidate_T 0x16
/*
* R1000-specific cacheops
*
* Cacheops 0x02, 0x06, 0x0a, 0x0c-0x0e, 0x16, 0x1a and 0x1e are unused.
* Most of the _S cacheops are identical to the R4000SC _SD cacheops.
*/
#define Index_Writeback_Inv_S 0x03
#define Index_Load_Tag_S 0x07
#define Index_Store_Tag_S 0x0B
#define Hit_Invalidate_S 0x13
#define Cache_Barrier 0x14
#define Hit_Writeback_Inv_S 0x17
#define Index_Load_Data_I 0x18
#define Index_Load_Data_D 0x19
#define Index_Load_Data_S 0x1b
#define Index_Store_Data_I 0x1c
#define Index_Store_Data_D 0x1d
#define Index_Store_Data_S 0x1f
#ifndef __ASSEMBLER__
#ifndef dcache_size
#define dcache_size (g_mips_core.dcache_ways * g_mips_core.dcache_lines_per_way * g_mips_core.dcache_line_size)
#endif
#ifndef icache_size
#define icache_size (g_mips_core.dcache_ways * g_mips_core.dcache_lines_per_way * g_mips_core.dcache_line_size)
#endif
#ifndef cpu_dcache_line_size
#define cpu_dcache_line_size() g_mips_core.icache_line_size
#endif
#ifndef cpu_icache_line_size
#define cpu_icache_line_size() g_mips_core.icache_line_size
#endif
#define cache_op(op, addr) \
__asm__ __volatile__( \
" .set noreorder \n" \
" .set mips3\n\t \n" \
" cache %0, %1 \n" \
" .set mips0 \n" \
" .set reorder" \
: \
: "i" (op), "m" (*(unsigned char *)(addr)))
#define cache16_unroll32(base, op) \
__asm__ __volatile__( \
" .set noreorder \n" \
" .set mips3 \n" \
" cache %1, 0x000(%0); cache %1, 0x010(%0) \n" \
" cache %1, 0x020(%0); cache %1, 0x030(%0) \n" \
" cache %1, 0x040(%0); cache %1, 0x050(%0) \n" \
" cache %1, 0x060(%0); cache %1, 0x070(%0) \n" \
" cache %1, 0x080(%0); cache %1, 0x090(%0) \n" \
" cache %1, 0x0a0(%0); cache %1, 0x0b0(%0) \n" \
" cache %1, 0x0c0(%0); cache %1, 0x0d0(%0) \n" \
" cache %1, 0x0e0(%0); cache %1, 0x0f0(%0) \n" \
" cache %1, 0x100(%0); cache %1, 0x110(%0) \n" \
" cache %1, 0x120(%0); cache %1, 0x130(%0) \n" \
" cache %1, 0x140(%0); cache %1, 0x150(%0) \n" \
" cache %1, 0x160(%0); cache %1, 0x170(%0) \n" \
" cache %1, 0x180(%0); cache %1, 0x190(%0) \n" \
" cache %1, 0x1a0(%0); cache %1, 0x1b0(%0) \n" \
" cache %1, 0x1c0(%0); cache %1, 0x1d0(%0) \n" \
" cache %1, 0x1e0(%0); cache %1, 0x1f0(%0) \n" \
" .set mips0 \n" \
" .set reorder \n" \
: \
: "r" (base), \
"i" (op));
static inline void flush_icache_line_indexed(rt_ubase_t addr)
{
cache_op(Index_Invalidate_I, addr);
}
static inline void flush_dcache_line_indexed(rt_ubase_t addr)
{
cache_op(Index_Writeback_Inv_D, addr);
}
static inline void flush_icache_line(rt_ubase_t addr)
{
cache_op(Hit_Invalidate_I, addr);
}
static inline void lock_icache_line(rt_ubase_t addr)
{
cache_op(Fetch_And_Lock_I, addr);
}
static inline void lock_dcache_line(rt_ubase_t addr)
{
cache_op(Fetch_And_Lock_D, addr);
}
static inline void flush_dcache_line(rt_ubase_t addr)
{
cache_op(Hit_Writeback_Inv_D, addr);
}
static inline void invalidate_dcache_line(rt_ubase_t addr)
{
cache_op(Hit_Invalidate_D, addr);
}
static inline void blast_dcache16(void)
{
rt_ubase_t start = KSEG0;
rt_ubase_t end = start + dcache_size;
rt_ubase_t addr;
for (addr = start; addr < end; addr += 0x200)
cache16_unroll32(addr, Index_Writeback_Inv_D);
}
static inline void inv_dcache16(void)
{
rt_ubase_t start = KSEG0;
rt_ubase_t end = start + dcache_size;
rt_ubase_t addr;
for (addr = start; addr < end; addr += 0x200)
cache16_unroll32(addr, Hit_Invalidate_D);
}
static inline void blast_icache16(void)
{
rt_ubase_t start = KSEG0;
rt_ubase_t end = start + icache_size;
rt_ubase_t addr;
for (addr = start; addr < end; addr += 0x200)
cache16_unroll32(addr, Index_Invalidate_I);
}
void r4k_cache_init(void);
void r4k_cache_flush_all(void);
void r4k_icache_flush_all(void);
void r4k_icache_flush_range(rt_ubase_t addr, rt_ubase_t size);
void r4k_icache_lock_range(rt_ubase_t addr, rt_ubase_t size);
void r4k_dcache_inv(rt_ubase_t addr, rt_ubase_t size);
void r4k_dcache_wback_inv(rt_ubase_t addr, rt_ubase_t size);
#endif /*end of __ASSEMBLER__ */
#endif /* end of __CACHE_H__ */

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

15
libcpu/nios/SConscript Normal file
View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

18
libcpu/ppc/SConscript Normal file
View File

@ -0,0 +1,18 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# add common code files
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

18
libcpu/risc-v/SConscript Normal file
View File

@ -0,0 +1,18 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# add common code files
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,12 @@
# RT-Thread building script for component
from building import *
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -1,13 +1,14 @@
Import('rtconfig') # RT-Thread building script for component
from building import * from building import *
Import('rtconfig')
cwd = GetCurrentDir() cwd = GetCurrentDir()
src = Glob('*.c') src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd] CPPPATH = [cwd]
ASFLAGS = ''
if rtconfig.PLATFORM == 'gcc': group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
src += Glob('*_gcc.S')
group = DefineGroup('libcpu', src, depend = [''], CPPPATH = CPPPATH)
Return('group') Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

14
libcpu/rx/SConscript Normal file
View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_iar.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

15
libcpu/sim/SConscript Normal file
View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

15
libcpu/ti-dsp/SConscript Normal file
View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*.s')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')

15
libcpu/v850/SConscript Normal file
View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

15
libcpu/xilinx/SConscript Normal file
View File

@ -0,0 +1,15 @@
# RT-Thread building script for bridge
import os
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
group = []
list = os.listdir(cwd)
# cpu porting code files
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
Return('group')

View File

@ -0,0 +1,14 @@
# RT-Thread building script for component
from building import *
Import('rtconfig')
cwd = GetCurrentDir()
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
CPPPATH = [cwd]
ASFLAGS = ''
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
Return('group')