t-kernel-zh team mailing list archive
-
t-kernel-zh team
-
Mailing list archive
-
Message #00013
Re: [T-Kernel] T-Kernel 使用 mktksvc 生成系统调用汇编程序
现在可以原版中所有的 API 函数供 ARMCC 使用,现在的使用方法是:
$ git clone git://git.open.tkernel.org/t-kernel open-t-kernel
$ cd open-t-kernel
$ cd tkernel_source
$ ln -s Makefile.armct Makefile
$ make distclean
$ make prepare
$ make
On Sun, Jan 08, 2017 at 04:28:34PM +0800, Du Huanpeng wrote:
> 在 T-Kernel 里面的系统调用,有一些是使用 perl 自动生成的,而且生成的
> 是 GNU 格式的汇编语言。Open T-Kernel 需要支持不同编译器,这部分就需要
> 进行改动。
> 先试着执行一下:
>
> $ cd etkernel_source
> $ ./etc/mktksvc
> -bash: ./etc/mktksvc: /usr/local/bin/perl: bad interpreter: No such file or directory
>
> 这个提示表明找不到 perl,那么可以确定一下系统有没有装 perl,如果没有
> 的话,就安装一个。
> 现在我的机器是有安装 perl,但仍然出现这个提示,可以先看一下脚本的内容
>
> $ head -5 etc/mktksvc
> #! /usr/local/bin/perl
> #
> # ----------------------------------------------------------------------
> # T-Kernel 2.0 Software Package
> #
>
> 再查看一下本机的 perl 安装路径:
>
> $which perl
> /usr/bin/perl
>
> 发现,脚本写的路径与本机不同,解决的方法可以修改脚本,也可以使用 perl
> 直接执行。
>
> $ perl etc/mktksvc
> $./etc/mktksvc
> usage: mktksvc cpu infile
>
> 其实研究过之后,这个 cpu 是一个输出的目录,而 infile 是一个头文件,而
> 且里面有标志:
>
> $vi include/tk/syscall.h +617
>
> /* [BEGIN SYSCALLS] */
>
>
> $vi include/tk/syscall.h +753
>
> /* [END SYSCALLS] */
>
> 而且这个脚本执行需要在特定的路径,经试验之后发现:
>
> $ cd lib/libsvc/src
> $../../../etc/mktksvc em1d ../../../include/tk/syscall.h
>
> 生成的文件位于当前目录下的 sysdepend/${cpu}/ 下面,可以尝试
>
> $ mkdir sysdepend/sta1095
> $ ../../../etc/mktksvc sta1095 ../../../include/tk/syscall.h
> can not open sysdepend/sta1095/tk_cre_tsk.S
>
>
> $ ../../../etc/mktksvc em1d ../../../include/tk/syscall.h
> $ ../../../etc/mktksvc sta1095 ../../../include/tk/syscall.h
> can not open sysdepend/sta1095/tk_cre_tsk.S
> $ mkdir sysdepend/sta1095
> $ ../../../etc/mktksvc sta1095 ../../../include/tk/syscall.h
> Can't locate ../build/sta1095/makeiftk.pl in @INC (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at ../../../etc/mktksvc line 200.
> $ mkdir ../build/sta1095
> $ cp ../build/em1d/*.pl ../build/sta1095/
> $ # 这个脚本在这里可以看到还依赖于上面的 .pl 文件
> $ # 现在再执行这个脚本
> $ ../../../etc/mktksvc sta1095 ../../../include/tk/syscall.h
> $ ls sysdepend/sta1095/
> tk_acp_por.S tk_cre_mbf.S tk_del_flg.S tk_dly_tsk_u.S tk_get_mpl_u.S tk_ras_tex.S tk_ref_mtx.S tk_rpl_rdv.S tk_snd_mbf.S tk_wai_flg_u.S
> tk_acp_por_u.S tk_cre_mbx.S tk_del_mbf.S tk_ena_dsp.S tk_get_otm.S tk_rcv_mbf.S tk_ref_por.S tk_rsm_tsk.S tk_snd_mbf_u.S tk_wai_sem.S
> tk_cal_por.S tk_cre_mpf.S tk_del_mbx.S tk_ena_tex.S tk_get_otm_u.S tk_rcv_mbf_u.S tk_ref_sem.S tk_set_cpr.S tk_snd_mbx.S tk_wai_sem_u.S
> tk_cal_por_u.S tk_cre_mpl.S tk_del_mpf.S tk_ena_wai.S tk_get_reg.S tk_rcv_mbx.S tk_ref_ssy.S tk_set_flg.S tk_sta_alm.S tk_wai_tev.S
> tk_can_wup.S tk_cre_mtx.S tk_del_mpl.S tk_end_tex.S tk_get_res.S tk_rcv_mbx_u.S tk_ref_sys.S tk_set_pow.S tk_sta_alm_u.S tk_wai_tev_u.S
> tk_chg_pri.S tk_cre_por.S tk_del_mtx.S tk_evt_ssy.S tk_get_rid.S tk_ref_alm.S tk_ref_tex.S tk_set_reg.S tk_sta_cyc.S tk_wup_tsk.S
> tk_chg_slt.S tk_cre_res.S tk_del_por.S tk_exd_tsk.S tk_get_tid.S tk_ref_alm_u.S tk_ref_tsk.S tk_set_rid.S tk_sta_ssy.S
> tk_chg_slt_u.S tk_cre_sem.S tk_del_res.S tk_ext_tsk.S tk_get_tim.S tk_ref_cyc.S tk_ref_tsk_u.S tk_set_tim.S tk_sta_tsk.S
> tk_cln_ssy.S tk_cre_tsk.S tk_del_sem.S tk_frsm_tsk.S tk_get_tim_u.S tk_ref_cyc_u.S tk_ref_ver.S tk_set_tim_u.S tk_stp_alm.S
> tk_clr_flg.S tk_def_int.S tk_del_tsk.S tk_fwd_por.S tk_get_tsp.S tk_ref_flg.S tk_rel_mpf.S tk_set_tsp.S tk_stp_cyc.S
> tk_cre_alm.S tk_def_ssy.S tk_dis_dsp.S tk_get_cpr.S tk_inf_tsk.S tk_ref_mbf.S tk_rel_mpl.S tk_sig_sem.S tk_sus_tsk.S
> tk_cre_cyc.S tk_def_tex.S tk_dis_tex.S tk_get_mpf.S tk_inf_tsk_u.S tk_ref_mbx.S tk_rel_wai.S tk_sig_tev.S tk_ter_tsk.S
> tk_cre_cyc_u.S tk_del_alm.S tk_dis_wai.S tk_get_mpf_u.S tk_loc_mtx.S tk_ref_mpf.S tk_ret_int.S tk_slp_tsk.S tk_unl_mtx.S
> tk_cre_flg.S tk_del_cyc.S tk_dly_tsk.S tk_get_mpl.S tk_loc_mtx_u.S tk_ref_mpl.S tk_rot_rdq.S tk_slp_tsk_u.S tk_wai_flg.S
> $
>
> 下一步,需要把这些内容移植到 KBuild 里面去,主要有两方面的工作:
> 1. 脚本修改或者重写之后集成到 KBuild 里
> 2. 对不同编译器生成不同的汇编代码
>
> --
>
> ...
> duhuanpeng.
> u74147@gmai1.com
>
>
> [keyword]
>
> T-Kernel perl makeifex.pl makeiftk.pl makeifdrv.pl makeiftd.pl
> mergesrec mkdrvsvc mkiflib mktdsvc mktksvc
--
Copyright (c) 2017 duhuanpeng <u74147@xxxxxxxxx>
>From 86d1492765ecc0d795d49f4d8014e0d02a1ce9ef Mon Sep 17 00:00:00 2001
From: Du Huanpeng <u74147@xxxxxxxxx>
Date: Wed, 11 Jan 2017 00:03:17 +0800
Subject: [PATCH] armct support: perl script for generate syscall
How to use this script:
$ cd tkernel_source
$ ./etc/mktksvc $(ARCH) ./include/tk/syscall.h
$ # $(ARCH) is nonsense
or
$ make -f Makefile.armct mktksvc
Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
tkernel_source/Makefile.armct | 138 ++++++++++++++++++++++
tkernel_source/etc/mktksvc | 18 ++-
tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl | 44 +++++++
3 files changed, 195 insertions(+), 5 deletions(-)
diff --git a/tkernel_source/Makefile.armct b/tkernel_source/Makefile.armct
index 3bf25cb..b6b1de0 100644
--- a/tkernel_source/Makefile.armct
+++ b/tkernel_source/Makefile.armct
@@ -174,6 +174,141 @@ SRC += sysdepend/arm/lib/libtk/waitnsec.c
##SRC += sysdepend/arm/lib/libtk/disint.S
##SRC += sysdepend/arm/lib/libtk/disint-armct.S
+## include/tk/syscall.h ##
+SRC += sysdepend/arm/lib/libsvc/tk_cre_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_sta_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_ext_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_exd_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_ter_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_dis_dsp.S
+SRC += sysdepend/arm/lib/libsvc/tk_ena_dsp.S
+SRC += sysdepend/arm/lib/libsvc/tk_chg_pri.S
+SRC += sysdepend/arm/lib/libsvc/tk_chg_slt.S
+SRC += sysdepend/arm/lib/libsvc/tk_rot_rdq.S
+SRC += sysdepend/arm/lib/libsvc/tk_rel_wai.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_tid.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_tsp.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_tsp.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_rid.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_rid.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_reg.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_reg.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_cpr.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_cpr.S
+SRC += sysdepend/arm/lib/libsvc/tk_inf_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_def_tex.S
+SRC += sysdepend/arm/lib/libsvc/tk_ena_tex.S
+SRC += sysdepend/arm/lib/libsvc/tk_dis_tex.S
+SRC += sysdepend/arm/lib/libsvc/tk_ras_tex.S
+SRC += sysdepend/arm/lib/libsvc/tk_end_tex.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_tex.S
+SRC += sysdepend/arm/lib/libsvc/tk_sus_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_rsm_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_frsm_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_slp_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_wup_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_can_wup.S
+SRC += sysdepend/arm/lib/libsvc/tk_sig_tev.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_tev.S
+SRC += sysdepend/arm/lib/libsvc/tk_dis_wai.S
+SRC += sysdepend/arm/lib/libsvc/tk_ena_wai.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_sem.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_sem.S
+SRC += sysdepend/arm/lib/libsvc/tk_sig_sem.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_sem.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_sem.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_mtx.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_mtx.S
+SRC += sysdepend/arm/lib/libsvc/tk_loc_mtx.S
+SRC += sysdepend/arm/lib/libsvc/tk_unl_mtx.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_mtx.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_flg.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_flg.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_flg.S
+SRC += sysdepend/arm/lib/libsvc/tk_clr_flg.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_flg.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_flg.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_mbx.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_mbx.S
+SRC += sysdepend/arm/lib/libsvc/tk_snd_mbx.S
+SRC += sysdepend/arm/lib/libsvc/tk_rcv_mbx.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_mbx.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_mbf.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_mbf.S
+SRC += sysdepend/arm/lib/libsvc/tk_snd_mbf.S
+SRC += sysdepend/arm/lib/libsvc/tk_rcv_mbf.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_mbf.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_por.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_por.S
+SRC += sysdepend/arm/lib/libsvc/tk_cal_por.S
+SRC += sysdepend/arm/lib/libsvc/tk_acp_por.S
+SRC += sysdepend/arm/lib/libsvc/tk_fwd_por.S
+SRC += sysdepend/arm/lib/libsvc/tk_rpl_rdv.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_por.S
+SRC += sysdepend/arm/lib/libsvc/tk_def_int.S
+SRC += sysdepend/arm/lib/libsvc/tk_ret_int.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_mpl.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_mpl.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_mpl.S
+SRC += sysdepend/arm/lib/libsvc/tk_rel_mpl.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_mpl.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_mpf.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_mpf.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_mpf.S
+SRC += sysdepend/arm/lib/libsvc/tk_rel_mpf.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_mpf.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_tim.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_tim.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_otm.S
+SRC += sysdepend/arm/lib/libsvc/tk_dly_tsk.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_cyc.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_cyc.S
+SRC += sysdepend/arm/lib/libsvc/tk_sta_cyc.S
+SRC += sysdepend/arm/lib/libsvc/tk_stp_cyc.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_cyc.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_alm.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_alm.S
+SRC += sysdepend/arm/lib/libsvc/tk_sta_alm.S
+SRC += sysdepend/arm/lib/libsvc/tk_stp_alm.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_alm.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_ver.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_sys.S
+SRC += sysdepend/arm/lib/libsvc/tk_def_ssy.S
+SRC += sysdepend/arm/lib/libsvc/tk_sta_ssy.S
+SRC += sysdepend/arm/lib/libsvc/tk_cln_ssy.S
+SRC += sysdepend/arm/lib/libsvc/tk_evt_ssy.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_ssy.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_res.S
+SRC += sysdepend/arm/lib/libsvc/tk_del_res.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_res.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_pow.S
+SRC += sysdepend/arm/lib/libsvc/tk_chg_slt_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_inf_tsk_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_tsk_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_slp_tsk_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_tev_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_dly_tsk_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_sem_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_flg_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_rcv_mbx_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_loc_mtx_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_snd_mbf_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_rcv_mbf_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_cal_por_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_acp_por_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_mpl_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_mpf_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_set_tim_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_tim_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_otm_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_cre_cyc_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_cyc_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_sta_alm_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_alm_u.S
+######################################################################
+
OBJ := $(SRC)
OBJ := $(OBJ:.S=.o)
@@ -245,3 +380,6 @@ vmtronx: $(OBJ)
clean:
rm -f $(OBJ)
+
+mktksvc:
+ ./etc/mktksvc ARM
diff --git a/tkernel_source/etc/mktksvc b/tkernel_source/etc/mktksvc
index 077378a..b502a71 100755
--- a/tkernel_source/etc/mktksvc
+++ b/tkernel_source/etc/mktksvc
@@ -58,7 +58,8 @@ if ( $cpu eq "" ) {
}
if ( $infile eq "" ) {
print STDERR "Too few arguments\n";
- exit(1);
+ print STDERR "Default: include/tk/syscall.h\n";
+ $infile = "include/tk/syscall.h"
}
#
@@ -159,7 +160,8 @@ if ( $makedeps ) {
#
# generate function code definition file
#
-open(FN_H, ">$ENV{'BD'}/include/sys/svc/$fn_h") || die "can not open $ENV{'BD'}/include/sys/svc/$fn_h\n";
+# open(FN_H, ">$ENV{'BD'}/include/sys/svc/$fn_h") || die "can not open $ENV{'BD'}/include/sys/svc/$fn_h\n";
+open(FN_H, ">include/sys/svc/tkfncd.h") || die "ERROR: 222222222 can not open $ENV{'BD'}/include/sys/svc/$fn_h\n";
### create header part ###
print FN_H <<EndOfFnHeader;
@@ -187,7 +189,8 @@ close(FN_H);
#
# generate branch table
#
-open(TB_H, ">$ENV{'BD'}/include/sys/svc/$tb_h") || die "can not open $ENV{'BD'}/include/sys/svc/$tb_h\n";
+# open(TB_H, ">$ENV{'BD'}/include/sys/svc/$tb_h") || die "can not open $ENV{'BD'}/include/sys/svc/$tb_h\n";
+open(TB_H, ">include/sys/svc/tksvctbl.h") || die "ERROR: 1111111 can not open $ENV{'BD'}/include/sys/svc/$tb_h\n";
### create header part ###
print TB_H <<EndOfTbHeader;
@@ -235,7 +238,8 @@ for ( $i = 0; $i <= $#syscalls; $i++ ) {
$fname =~ tr/A-Z/a-z/; # to lower case
# open library source file
- open(LIB, ">sysdepend/$cpu/$fname.S") || die "can not open sysdepend/$cpu/$fname.S\n";
+# open(LIB, ">sysdepend/$cpu/$fname.S") || die "can not open sysdepend/$cpu/$fname.S\n";
+ open(LIB, ">sysdepend/arm/lib/libsvc/$fname.S") || die "can not open sysdepend/$cpu/$fname.S\n";
print LIB <<EndOfIfLibHeader;
$copyright_c
@@ -248,9 +252,13 @@ $copyright_c
EndOfIfLibHeader
# system dependencies
- require("$ENV{'BD'}/etc/sysdepend/cpu/$cpu/makeiftk.pl");
+# require("$ENV{'BD'}/etc/sysdepend/cpu/$cpu/makeiftk.pl");
+ require("etc/sysdepend/cpu/em1d/makeiftk.pl");
&makelib();
+# print stderr "SYSCALL: $fname\n";
+ print stderr "GEN sysdepend/arm/lib/libsvc/$fname.S\n";
+
close(LIB);
}
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl
index 5044ee0..66bf0bd 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl
@@ -27,6 +27,7 @@ sub makelib
#include <tk/sysdef.h>
#include <sys/svc/$fn_h>
+#if (defined __GNUC__) && !(defined __SES_ARM) && !(defined __CROSSWORKS_ARM)
.text
.balign 4
.globl Csym(${func})
@@ -40,6 +41,49 @@ Csym(${func}):
ldmfd sp!, {lr}
ldmfd sp!, {r4}
bx lr
+ .end
+#endif
+
+#ifdef __CC_ARM
+
+; generated by Component: ARM Compiler 5.06 update 1 (build 61) Tool: armcc [4d35ad]
+; commandline armcc [--arm -S svc.c]
+;
+; DO NOT MODIFY.
+;
+; This file was generated by Kbuild
+;
+
+;----------------------------------------------------------------------
+; Open T-Kernel Project
+; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+;----------------------------------------------------------------------
+
+ ARM
+ REQUIRE8
+ PRESERVE8
+
+ AREA ||.text||, CODE, READONLY, ALIGN=2
+
+${func} PROC
+ STMFD sp!, {r4}
+ ADD r4, sp, #4
+ STMFD sp!, {lr}
+ LDR ip, =TFN_${Func}
+ SWI SWI_SVC
+ LDMFD sp!, {lr}
+ LDMFD sp!, {r4}
+ BX lr
+ ENDP
+
+
+ EXPORT ${func} [CODE]
+
+
+
+ END
+
+#endif
EndOfIfLibBody
}
--
2.7.4
>From 0837abfb9fc5ef387b8ac207c3ff39b6514b9128 Mon Sep 17 00:00:00 2001
From: Du Huanpeng <u74147@xxxxxxxxx>
Date: Wed, 11 Jan 2017 08:39:43 +0800
Subject: [PATCH] armct support: perl: mktdsvc, include/tk/dbgspt.h
$ ./etc/mktdsvc $(ARCH) include/tk/dbgspt.h
Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
tkernel_source/Makefile.armct | 58 ++++++++++++++++++++++-
tkernel_source/etc/mktdsvc | 16 +++++--
tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl | 41 ++++++++++++++++
3 files changed, 108 insertions(+), 7 deletions(-)
diff --git a/tkernel_source/Makefile.armct b/tkernel_source/Makefile.armct
index b6b1de0..f04d85d 100644
--- a/tkernel_source/Makefile.armct
+++ b/tkernel_source/Makefile.armct
@@ -307,9 +307,62 @@ SRC += sysdepend/arm/lib/libsvc/tk_cre_cyc_u.S
SRC += sysdepend/arm/lib/libsvc/tk_ref_cyc_u.S
SRC += sysdepend/arm/lib/libsvc/tk_sta_alm_u.S
SRC += sysdepend/arm/lib/libsvc/tk_ref_alm_u.S
-######################################################################
-
+## include/tk/dbgspt.h ##
+SRC += sysdepend/arm/lib/libsvc/td_lst_tsk.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_sem.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_flg.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_mbx.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_mtx.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_mbf.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_por.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_mpf.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_mpl.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_cyc.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_alm.S
+SRC += sysdepend/arm/lib/libsvc/td_lst_ssy.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_sem.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_flg.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_mbx.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_mtx.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_mbf.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_por.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_mpf.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_mpl.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_cyc.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_alm.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_ssy.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_tsk.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_tex.S
+SRC += sysdepend/arm/lib/libsvc/td_inf_tsk.S
+SRC += sysdepend/arm/lib/libsvc/td_get_reg.S
+SRC += sysdepend/arm/lib/libsvc/td_set_reg.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_sys.S
+SRC += sysdepend/arm/lib/libsvc/td_get_tim.S
+SRC += sysdepend/arm/lib/libsvc/td_get_otm.S
+SRC += sysdepend/arm/lib/libsvc/td_rdy_que.S
+SRC += sysdepend/arm/lib/libsvc/td_sem_que.S
+SRC += sysdepend/arm/lib/libsvc/td_flg_que.S
+SRC += sysdepend/arm/lib/libsvc/td_mbx_que.S
+SRC += sysdepend/arm/lib/libsvc/td_mtx_que.S
+SRC += sysdepend/arm/lib/libsvc/td_smbf_que.S
+SRC += sysdepend/arm/lib/libsvc/td_rmbf_que.S
+SRC += sysdepend/arm/lib/libsvc/td_cal_que.S
+SRC += sysdepend/arm/lib/libsvc/td_acp_que.S
+SRC += sysdepend/arm/lib/libsvc/td_mpf_que.S
+SRC += sysdepend/arm/lib/libsvc/td_mpl_que.S
+SRC += sysdepend/arm/lib/libsvc/td_hok_svc.S
+SRC += sysdepend/arm/lib/libsvc/td_hok_dsp.S
+SRC += sysdepend/arm/lib/libsvc/td_hok_int.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_dsname.S
+SRC += sysdepend/arm/lib/libsvc/td_set_dsname.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_cyc_u.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_alm_u.S
+SRC += sysdepend/arm/lib/libsvc/td_ref_tsk_u.S
+SRC += sysdepend/arm/lib/libsvc/td_inf_tsk_u.S
+SRC += sysdepend/arm/lib/libsvc/td_get_tim_u.S
+SRC += sysdepend/arm/lib/libsvc/td_get_otm_u.S
+######################################################################
OBJ := $(SRC)
OBJ := $(OBJ:.S=.o)
OBJ := $(OBJ:.c=.o)
@@ -383,3 +436,4 @@ clean:
mktksvc:
./etc/mktksvc ARM
+ ./etc/mktdsvc ARM
diff --git a/tkernel_source/etc/mktdsvc b/tkernel_source/etc/mktdsvc
index d9af592..8b31f26 100755
--- a/tkernel_source/etc/mktdsvc
+++ b/tkernel_source/etc/mktdsvc
@@ -58,7 +58,8 @@ if ( $cpu eq "" ) {
}
if ( $infile eq "" ) {
print STDERR "Too few arguments\n";
- exit(1);
+ print STDERR "Default: include/tk/dbgspt.h\n";
+ $infile = "include/tk/dbgspt.h";
}
#
@@ -159,7 +160,8 @@ if ( $makedeps ) {
#
# generate function code definition file
#
-open(FN_H, ">$ENV{'BD'}/include/sys/svc/$fn_h") || die "can not open $ENV{'BD'}/include/sys/svc/$fn_h\n";
+# open(FN_H, ">$ENV{'BD'}/include/sys/svc/$fn_h") || die "can not open $ENV{'BD'}/include/sys/svc/$fn_h\n";
+open(FN_H, ">include/sys/svc/$fn_h") || die "can not open include/sys/svc/$fn_h\n";
### create header part ###
print FN_H <<EndOfFnHeader;
@@ -186,7 +188,8 @@ close(FN_H);
#
# generate branch table
#
-open(TB_H, ">$ENV{'BD'}/include/sys/svc/$tb_h") || die "can not open $ENV{'BD'}/include/sys/svc/$tb_h\n";
+# open(TB_H, ">$ENV{'BD'}/include/sys/svc/$tb_h") || die "can not open $ENV{'BD'}/include/sys/svc/$tb_h\n";
+open(TB_H, ">include/sys/svc/$tb_h") || die "can not open include/sys/svc/$tb_h\n";
### create header part ###
print TB_H <<EndOfTbHeader;
@@ -234,7 +237,9 @@ for ( $i = 0; $i <= $#syscalls; $i++ ) {
$fname =~ tr/A-Z/a-z/; # to lower case
# open library source file
- open(LIB, ">sysdepend/$cpu/$fname.S") || die "can not open sysdepend/$cpu/$fname.S\n";
+# open(LIB, ">sysdepend/$cpu/$fname.S") || die "can not open sysdepend/$cpu/$fname.S\n";
+ open(LIB, ">sysdepend/arm/lib/libsvc/$fname.S") || die "sysdepend/arm/lib/libsvc/$fname.S\n";
+ print stderr "GEN: sysdepend/arm/lib/libsvc/$fname.S\n";
print LIB <<EndOfIfLibHeader;
$copyright_c
@@ -247,7 +252,8 @@ $copyright_c
EndOfIfLibHeader
# system dependencies
- require("$ENV{'BD'}/etc/sysdepend/cpu/$cpu/makeiftd.pl");
+# require("$ENV{'BD'}/etc/sysdepend/cpu/$cpu/makeiftd.pl");
+ require("etc/sysdepend/cpu/em1d/makeiftd.pl");
&makelib();
close(LIB);
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl
index b121a4a..a40d27a 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl
@@ -27,6 +27,7 @@ sub makelib
#include <tk/sysdef.h>
#include <sys/svc/$fn_h>
+#if (defined __GNUC__) && !(defined __SES_ARM) && !(defined __CROSSWORKS_ARM)
.text
.balign 4
.globl Csym(${func})
@@ -37,6 +38,46 @@ Csym(${func}):
swi SWI_DEBUG
ldmfd sp!, {lr}
bx lr
+ .end
+#endif
+
+#ifdef __CC_ARM
+
+; generated by Component: ARM Compiler 5.06 update 1 (build 61) Tool: armcc [4d35ad]
+; commandline armcc [--arm -S svc.c]
+;
+; DO NOT MODIFY.
+;
+; This file was generated by Kbuild
+;
+
+;----------------------------------------------------------------------
+; Open T-Kernel Project
+; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+;----------------------------------------------------------------------
+
+ ARM
+ REQUIRE8
+ PRESERVE8
+
+ AREA ||.text||, CODE, READONLY, ALIGN=2
+
+${func} PROC
+ STMFD sp!, {lr}
+ LDR ip, =TDFN_${Func}
+ SWI SWI_DEBUG
+ LDMFD sp!, {lr}
+ BX lr
+ ENDP
+
+
+ EXPORT ${func} [CODE]
+
+
+
+ END
+
+#endif
EndOfIfLibBody
}
--
2.7.4
>From 6914623d986e1f971c3e764d5241ee5d2d7e6a63 Mon Sep 17 00:00:00 2001
From: Du Huanpeng <u74147@xxxxxxxxx>
Date: Wed, 11 Jan 2017 13:47:08 +0800
Subject: [PATCH] armct support: peral script mkiflib
currently, these files below has 'iflib'
include/sys/segment.h
include/tk/sysmgr.h
include/tk/devmgr.h
include/device/serialio.h
include/device/pcmcia.h
include/device/em1d512_iic.h
Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
tkernel_source/Makefile.armct | 29 ++++++++++++--
tkernel_source/etc/mkiflib | 25 +++++++++---
tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl | 44 ++++++++++++++++++++++
tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl | 44 ++++++++++++++++++++++
4 files changed, 132 insertions(+), 10 deletions(-)
diff --git a/tkernel_source/Makefile.armct b/tkernel_source/Makefile.armct
index f04d85d..34246b8 100644
--- a/tkernel_source/Makefile.armct
+++ b/tkernel_source/Makefile.armct
@@ -363,6 +363,15 @@ SRC += sysdepend/arm/lib/libsvc/td_inf_tsk_u.S
SRC += sysdepend/arm/lib/libsvc/td_get_tim_u.S
SRC += sysdepend/arm/lib/libsvc/td_get_otm_u.S
######################################################################
+## Default: include/tk/sysmgr.h ##
+SRC += sysdepend/arm/lib/libsvc/tk_get_cfn.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_cfs.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_smb.S
+SRC += sysdepend/arm/lib/libsvc/tk_rel_smb.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_smb.S
+SRC += sysdepend/arm/lib/libsvc/_getkernelcommonarea.S
+SRC += sysdepend/arm/lib/libsvc/_syslog_send.S
+######################################################################
OBJ := $(SRC)
OBJ := $(OBJ:.S=.o)
OBJ := $(OBJ:.c=.o)
@@ -429,11 +438,23 @@ vmtronx: $(OBJ)
$(CC) $(CFLAGS) $< -c -o $@
%.o: %.S
- $(CC) $(CFLAGS) $< -c -o $@
+ $(CC) $(CFLAGS) $< -c -o $@ -D__ASSEMBLY__ -D_in_asm_source_
clean:
rm -f $(OBJ)
-mktksvc:
- ./etc/mktksvc ARM
- ./etc/mktdsvc ARM
+distclean:
+ rm -f $(OBJ)
+ git checkout -- sysdepend/arm/lib/libsvc
+
+prepare:
+ ./etc/mktksvc ARM include/tk/dbgspt.h
+ ./etc/mktdsvc ARM include/tk/dbgspt.h
+ ./etc/mkiflib ARM include/sys/consio.h
+ ./etc/mkiflib ARM include/sys/segment.h
+ ./etc/mkiflib ARM include/tk/sysmgr.h
+ ./etc/mkiflib ARM include/tk/devmgr.h
+ ./etc/mkiflib ARM include/device/serialio.h
+ ./etc/mkiflib ARM include/device/pcmcia.h
+ ./etc/mkiflib ARM include/device/em1d512_iic.h
+
diff --git a/tkernel_source/etc/mkiflib b/tkernel_source/etc/mkiflib
index 60c18f8..63846ac 100755
--- a/tkernel_source/etc/mkiflib
+++ b/tkernel_source/etc/mkiflib
@@ -58,7 +58,8 @@ if ( $cpu eq "" ) {
}
if ( $infile eq "" ) {
print STDERR "Too few arguments\n";
- exit(1);
+ print STDERR "Default: include/tk/sysmgr.h\n";
+ $infile = "include/tk/sysmgr.h";
}
chop($infile_base = `basename $infile`);
@@ -179,7 +180,8 @@ if ( $makedeps ) {
#
# generate function code definition file
#
-open(FN_H, ">$ENV{'BD'}/include/sys/svc/$fn_h") || die "can not open $ENV{'BD'}/include/sys/svc/$fn_h\n";
+# open(FN_H, ">$ENV{'BD'}/include/sys/svc/$fn_h") || die "can not open $ENV{'BD'}/include/sys/svc/$fn_h\n";
+open(FN_H, ">include/sys/svc/$fn_h") || die "can not open include/sys/svc/$fn_h\n";
### create header part ###
print FN_H <<EndOfFnHeader;
@@ -190,7 +192,13 @@ $copyright_c
* (generated automatically)
*/
+/*
+ * DO NOT MODIFY.
+ * This file was generated by Kbuild
+ */
+
#include <sys/ssid.h>
+#include <compiler.h>
EndOfFnHeader
@@ -215,7 +223,7 @@ for ( $i = 0; $i <= $#syscalls; $i++ ) {
( $Func, $func, $ret, @para ) = &split_func($syscalls[$i]);
$fno = (($i + 1) << 16) + (($#para + 1) << 8);
- printf FN_H "#define ${prefix}_${Func}_FN\t(0x%08x | ${svc})\n", $fno;
+ printf FN_H "#define ${prefix}_${Func}_FN\t(0x%08x __BITOR__ ${svc})\n", $fno;
}
print FN_H "\n";
@@ -225,7 +233,8 @@ close(FN_H);
#
# create header file (if*.h)
#
-open(IF_H, ">$ENV{'BD'}/include/sys/svc/$if_h") || die "can not open $ENV{'BD'}/include/sys/svc/$if_h\n";
+# open(IF_H, ">$ENV{'BD'}/include/sys/svc/$if_h") || die "can not open $ENV{'BD'}/include/sys/svc/$if_h\n";
+open(IF_H, ">include/sys/svc/$if_h") || die "can not open include/sys/svc/$if_h\n";
### generate header part ###
print IF_H <<EndOfIfHeader;
@@ -279,7 +288,8 @@ for ( $i = 0; $i <= $#syscalls; $i++ ) {
$fname =~ tr/A-Z/a-z/; # to lower case
# open library source file
- open(LIB, ">sysdepend/$cpu/$fname.S") || die "can not open sysdepend/$cpu/$fname.S\n";
+# open(LIB, ">sysdepend/$cpu/$fname.S") || die "can not open sysdepend/$cpu/$fname.S\n";
+ open(LIB, ">sysdepend/arm/lib/libsvc/$fname.S") || die "sysdepend/arm/lib/libsvc/$fname.S\n";
print LIB <<EndOfIfLibHeader;
$copyright_c
@@ -292,9 +302,12 @@ $copyright_c
EndOfIfLibHeader
# system dependencies
- require("$ENV{'BD'}/etc/sysdepend/cpu/$cpu/makeifex.pl");
+# require("$ENV{'BD'}/etc/sysdepend/cpu/$cpu/makeifex.pl");
+ require("etc/sysdepend/cpu/em1d/makeifex.pl");
&makelibex();
+ print stderr "sysdepend/arm/lib/libsvc/$fname.S\n";
+
close(LIB);
}
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl
index 1bc064b..d7790fe 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl
@@ -28,6 +28,7 @@ sub makelibdrv
#include <tk/sysdef.h>
#include "$fn_h"
+#if (defined __GNUC__) && !(defined __SES_ARM) && !(defined __CROSSWORKS_ARM)
.text
.balign 4
.globl Csym(${func})
@@ -41,6 +42,49 @@ Csym(${func}):
ldmfd sp!, {lr}
add sp, sp, #4*4
bx lr
+ .end
+#endif
+
+#ifdef __CC_ARM
+
+; generated by Component: ARM Compiler 5.06 update 1 (build 61) Tool: armcc [4d35ad]
+; commandline armcc [--arm -S svc.c]
+;
+; DO NOT MODIFY.
+;
+; This file was generated by Kbuild
+;
+
+;----------------------------------------------------------------------
+; Open T-Kernel Project
+; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+;----------------------------------------------------------------------
+
+ ARM
+ REQUIRE8
+ PRESERVE8
+
+ AREA ||.text||, CODE, READONLY, ALIGN=2
+
+${func} PROC
+ STMFD sp!, {r0-r3}
+ MOV r0, sp
+ STMFD sp!, {lr}
+ LDR ip, =${prefix}_${Func}_FN
+ SWI SWI_SVC
+ LDMFD sp!, {lr}
+ ADD sp, sp, #4*4
+ BX lr
+ ENDP
+
+
+ EXPORT ${func} [CODE]
+
+
+
+ END
+
+#endif
EndOfExtIfLibBody
}
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl
index 5c14178..1b62423 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl
@@ -27,6 +27,7 @@ sub makelibex
#include <tk/sysdef.h>
#include <sys/svc/$fn_h>
+#if (defined __GNUC__) && !(defined __SES_ARM) && !(defined __CROSSWORKS_ARM)
.text
.balign 4
.globl Csym(${func})
@@ -40,6 +41,49 @@ Csym(${func}):
ldmfd sp!, {lr}
add sp, sp, #4*4
bx lr
+ .end
+#endif
+
+#ifdef __CC_ARM
+
+; generated by Component: ARM Compiler 5.06 update 1 (build 61) Tool: armcc [4d35ad]
+; commandline armcc [--arm -S svc.c]
+;
+; DO NOT MODIFY.
+;
+; This file was generated by Kbuild
+;
+
+;----------------------------------------------------------------------
+; Open T-Kernel Project
+; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+;----------------------------------------------------------------------
+
+ ARM
+ REQUIRE8
+ PRESERVE8
+
+ AREA ||.text||, CODE, READONLY, ALIGN=2
+
+${func} PROC
+ STMFD sp!, {r0-r3}
+ MOV r0, sp
+ STMFD sp!, {lr}
+ LDR ip, =${prefix}_${Func}_FN
+ SWI SWI_SVC
+ LDMFD sp!, {lr}
+ ADD sp, sp, #4*4
+ BX lr
+ ENDP
+
+
+ EXPORT ${func} [CODE]
+
+
+
+ END
+
+#endif
EndOfExtIfLibBody
}
--
2.7.4
>From 8205ec71765856cc7f2381b1b1a2e2d6c7e9b53a Mon Sep 17 00:00:00 2001
From: Du Huanpeng <u74147@xxxxxxxxx>
Date: Wed, 11 Jan 2017 18:34:54 +0800
Subject: [PATCH] script: correct email address in perl script
Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl | 2 +-
tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl | 2 +-
tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl | 2 +-
tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl
index d7790fe..f102814 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeifdrv.pl
@@ -57,7 +57,7 @@ Csym(${func}):
;----------------------------------------------------------------------
; Open T-Kernel Project
-; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+; Copyright 2017 Du Huanpeng <u74147\@gmail.com>
;----------------------------------------------------------------------
ARM
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl
index 1b62423..735808b 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeifex.pl
@@ -56,7 +56,7 @@ Csym(${func}):
;----------------------------------------------------------------------
; Open T-Kernel Project
-; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+; Copyright 2017 Du Huanpeng <u74147\@gmail.com>
;----------------------------------------------------------------------
ARM
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl
index a40d27a..906c8b9 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftd.pl
@@ -53,7 +53,7 @@ Csym(${func}):
;----------------------------------------------------------------------
; Open T-Kernel Project
-; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+; Copyright 2017 Du Huanpeng <u74147\@gmail.com>
;----------------------------------------------------------------------
ARM
diff --git a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl
index 66bf0bd..9ee2e82 100755
--- a/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl
+++ b/tkernel_source/etc/sysdepend/cpu/em1d/makeiftk.pl
@@ -56,7 +56,7 @@ Csym(${func}):
;----------------------------------------------------------------------
; Open T-Kernel Project
-; Copyright 2017 Du Huanpeng <u74147@xxxxxxxxx>
+; Copyright 2017 Du Huanpeng <u74147\@gmail.com>
;----------------------------------------------------------------------
ARM
--
2.7.4
>From cce5106ebe633ada3c2fd54ce814aba6a5231e8f Mon Sep 17 00:00:00 2001
From: Du Huanpeng <u74147@xxxxxxxxx>
Date: Wed, 11 Jan 2017 18:35:56 +0800
Subject: [PATCH] armct support: definition for bitwise operation or
Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
tkernel_source/include/compiler.h | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 tkernel_source/include/compiler.h
diff --git a/tkernel_source/include/compiler.h b/tkernel_source/include/compiler.h
new file mode 100644
index 0000000..8672170
--- /dev/null
+++ b/tkernel_source/include/compiler.h
@@ -0,0 +1,11 @@
+#ifndef __COMPILER_H__
+#define __COMPILER_H__
+
+#if defined(__CC_ARM) && defined(_in_asm_source_)
+#define __BITOR__ :OR:
+#else
+/* default compiler is GCC */
+#define __BITOR__ |
+#endif
+
+#endif /* __COMPILER_H__ */
--
2.7.4
>From 0b5dd868916ab0e841cdfe72737b2c19075e0a08 Mon Sep 17 00:00:00 2001
From: Du Huanpeng <u74147@xxxxxxxxx>
Date: Wed, 11 Jan 2017 18:37:06 +0800
Subject: [PATCH] armct support: remove not used file in Makefile
Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
tkernel_source/Makefile.armct | 73 ++++++++++++++++++++++++++++++++++++++++---
1 file changed, 69 insertions(+), 4 deletions(-)
diff --git a/tkernel_source/Makefile.armct b/tkernel_source/Makefile.armct
index 34246b8..9fc4cfe 100644
--- a/tkernel_source/Makefile.armct
+++ b/tkernel_source/Makefile.armct
@@ -372,6 +372,71 @@ SRC += sysdepend/arm/lib/libsvc/tk_ref_smb.S
SRC += sysdepend/arm/lib/libsvc/_getkernelcommonarea.S
SRC += sysdepend/arm/lib/libsvc/_syslog_send.S
######################################################################
+
+## ./etc/mkiflib ARM include/sys/consio.h ##
+SRC += sysdepend/arm/lib/libsvc/console_get.S
+SRC += sysdepend/arm/lib/libsvc/console_put.S
+SRC += sysdepend/arm/lib/libsvc/console_conf.S
+SRC += sysdepend/arm/lib/libsvc/console_in.S
+SRC += sysdepend/arm/lib/libsvc/console_out.S
+SRC += sysdepend/arm/lib/libsvc/console_ctl.S
+
+## ./etc/mkiflib ARM include/sys/segment.h ##
+SRC += sysdepend/arm/lib/libsvc/lockspace.S
+SRC += sysdepend/arm/lib/libsvc/unlockspace.S
+SRC += sysdepend/arm/lib/libsvc/cnvphysicaladdr.S
+SRC += sysdepend/arm/lib/libsvc/chkspace.S
+SRC += sysdepend/arm/lib/libsvc/chkspacetstr.S
+SRC += sysdepend/arm/lib/libsvc/chkspacebstr.S
+SRC += sysdepend/arm/lib/libsvc/chkspacelen.S
+SRC += sysdepend/arm/lib/libsvc/readmemspace.S
+SRC += sysdepend/arm/lib/libsvc/writememspace.S
+SRC += sysdepend/arm/lib/libsvc/setmemspaceb.S
+SRC += sysdepend/arm/lib/libsvc/flushmemcache.S
+SRC += sysdepend/arm/lib/libsvc/setcachemode.S
+SRC += sysdepend/arm/lib/libsvc/controlcache.S
+SRC += sysdepend/arm/lib/libsvc/getspaceinfo.S
+SRC += sysdepend/arm/lib/libsvc/setmemoryaccess.S
+SRC += sysdepend/arm/lib/libsvc/mapmemory.S
+SRC += sysdepend/arm/lib/libsvc/unmapmemory.S
+SRC += sysdepend/arm/lib/libsvc/makespace.S
+SRC += sysdepend/arm/lib/libsvc/unmakespace.S
+SRC += sysdepend/arm/lib/libsvc/changespace.S
+
+## ./etc/mkiflib ARM include/tk/sysmgr.h ##
+SRC += sysdepend/arm/lib/libsvc/tk_get_cfn.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_cfs.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_smb.S
+SRC += sysdepend/arm/lib/libsvc/tk_rel_smb.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_smb.S
+SRC += sysdepend/arm/lib/libsvc/_getkernelcommonarea.S
+SRC += sysdepend/arm/lib/libsvc/_syslog_send.S
+
+## ./etc/mkiflib ARM include/tk/devmgr.h ##
+SRC += sysdepend/arm/lib/libsvc/tk_opn_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_cls_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_rea_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_srea_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_wri_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_swri_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_sus_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_get_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_oref_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_lst_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_evt_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_rea_dev_du.S
+SRC += sysdepend/arm/lib/libsvc/tk_srea_dev_d.S
+SRC += sysdepend/arm/lib/libsvc/tk_wri_dev_du.S
+SRC += sysdepend/arm/lib/libsvc/tk_swri_dev_d.S
+SRC += sysdepend/arm/lib/libsvc/tk_wai_dev_u.S
+SRC += sysdepend/arm/lib/libsvc/tk_def_dev.S
+SRC += sysdepend/arm/lib/libsvc/tk_ref_idv.S
+
+######################################################################
+
+
OBJ := $(SRC)
OBJ := $(OBJ:.S=.o)
OBJ := $(OBJ:.c=.o)
@@ -448,13 +513,13 @@ distclean:
git checkout -- sysdepend/arm/lib/libsvc
prepare:
- ./etc/mktksvc ARM include/tk/dbgspt.h
+ ./etc/mktksvc ARM include/tk/syscall.h
./etc/mktdsvc ARM include/tk/dbgspt.h
./etc/mkiflib ARM include/sys/consio.h
./etc/mkiflib ARM include/sys/segment.h
./etc/mkiflib ARM include/tk/sysmgr.h
./etc/mkiflib ARM include/tk/devmgr.h
- ./etc/mkiflib ARM include/device/serialio.h
- ./etc/mkiflib ARM include/device/pcmcia.h
- ./etc/mkiflib ARM include/device/em1d512_iic.h
+# ./etc/mkiflib ARM include/device/em1d512_iic.h
+# ./etc/mkiflib ARM include/device/pcmcia.h
+# ./etc/mkiflib ARM include/device/serialio.h
--
2.7.4
References