Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos A
提交
58da2cb0
K
Kernel Liteos A
项目概览
OpenHarmony
/
Kernel Liteos A
1 年多 前同步成功
通知
460
Star
414
Fork
55
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos A
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
58da2cb0
编写于
12月 31, 2020
作者:
O
openharmony_ci
提交者:
Gitee
12月 31, 2020
浏览文件
操作
浏览文件
下载
差异文件
!33 OpenHarmony LiteOS-A QEMU support
Merge pull request !33 from WojciechZmuda/qemu-arm-dev
上级
0d56a61a
0403820b
变更
28
隐藏空白更改
内联
并排
Showing
28 changed file
with
314 addition
and
35 deletion
+314
-35
Kconfig
Kconfig
+3
-3
Makefile
Makefile
+12
-1
arch/arm/arm/Makefile
arch/arm/arm/Makefile
+1
-0
arch/arm/arm/src/los_hw_exc.S
arch/arm/arm/src/los_hw_exc.S
+11
-0
bsd/compat/linuxkpi/Makefile
bsd/compat/linuxkpi/Makefile
+4
-0
fs/include/disk.h
fs/include/disk.h
+2
-0
fs/vfs/disk/disk.c
fs/vfs/disk/disk.c
+0
-1
kernel/base/include/los_vm_iomap.h
kernel/base/include/los_vm_iomap.h
+2
-2
kernel/base/include/los_vm_zone.h
kernel/base/include/los_vm_zone.h
+7
-7
kernel/base/misc/kill_shellcmd.c
kernel/base/misc/kill_shellcmd.c
+7
-0
kernel/common/los_config.c
kernel/common/los_config.c
+15
-0
kernel/common/los_rootfs.c
kernel/common/los_rootfs.c
+11
-0
kernel/user/src/los_user_init.c
kernel/user/src/los_user_init.c
+3
-2
platform/Kconfig
platform/Kconfig
+16
-0
platform/Makefile
platform/Makefile
+11
-2
platform/bsp.mk
platform/bsp.mk
+21
-9
shell/full/src/base/show.c
shell/full/src/base/show.c
+10
-1
syscall/Makefile
syscall/Makefile
+5
-0
syscall/los_syscall.c
syscall/los_syscall.c
+6
-4
syscall/net_syscall.c
syscall/net_syscall.c
+0
-1
syscall/time_syscall.c
syscall/time_syscall.c
+1
-0
tools/build/config/debug/hi3516dv300_clang.config
tools/build/config/debug/hi3516dv300_clang.config
+2
-0
tools/build/config/debug/hi3518ev300_clang.config
tools/build/config/debug/hi3518ev300_clang.config
+2
-0
tools/build/config/debug/qemu_arm_virt_ca7_clang.config
tools/build/config/debug/qemu_arm_virt_ca7_clang.config
+147
-0
tools/build/config/hi3516dv300_clang_release.config
tools/build/config/hi3516dv300_clang_release.config
+2
-0
tools/build/config/hi3518ev300_clang_release.config
tools/build/config/hi3518ev300_clang_release.config
+2
-0
tools/build/mk/los_config.mk
tools/build/mk/los_config.mk
+10
-1
tools/build/mk/module.mk
tools/build/mk/module.mk
+1
-1
未找到文件。
Kconfig
浏览文件 @
58da2cb0
...
...
@@ -42,11 +42,11 @@ choice
config COMPILER_HIMIX_32
bool "arm-linux-ohoseabi"
depends on PLATFORM_HI3518EV300 || PLATFORM_HI3516DV300
depends on PLATFORM_HI3518EV300 || PLATFORM_HI3516DV300
|| PLATFORM_QEMU_ARM_VIRT_CA7
config COMPILER_CLANG_LLVM
bool "clang-llvm"
depends on PLATFORM_HI3518EV300 || PLATFORM_HI3516DV300
depends on PLATFORM_HI3518EV300 || PLATFORM_HI3516DV300 || PLATFORM_QEMU_ARM_VIRT_CA7
endchoice
endmenu
...
...
@@ -274,7 +274,7 @@ config VM_OVERLAP_CHECK
config NULL_ADDRESS_PROTECT
bool "Enable NULL Address protect"
default n
depends on (PLATFORM_HI3518EV200 || PLATFORM_HI3516CV300 || PLATFORM_HI3518EV300 || PLATFORM_HI3516DV300) && DEBUG_VERSION
depends on (PLATFORM_HI3518EV200 || PLATFORM_HI3516CV300 || PLATFORM_HI3518EV300 || PLATFORM_HI3516DV300
|| PLATFORM_QEMU_ARM_VIRT_CA7
) && DEBUG_VERSION
help
Answer Y to set mem address 0~1M prohibit to access, read or write will trigger exception.
...
...
Makefile
浏览文件 @
58da2cb0
...
...
@@ -59,6 +59,9 @@ endif
ifeq
($(LOSCFG_PLATFORM_HI3516DV300), y)
FSTYPE
=
vfat
endif
ifeq
($(LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7), y)
FSTYPE
=
vfat
endif
ROOTFS_DIR
=
$(OUT)
/rootfs
ROOTFS_ZIP
=
$(OUT)
/rootfs.zip
VERSION
=
...
...
@@ -97,13 +100,20 @@ endif
##### make dynload #####
-include
$(LITEOS_MK_PATH)/dynload.mk
ifeq
($(findstring y, $(LOSCFG_PLATFORM_HI3518EV300)$(LOSCFG_PLATFORM_HI3516DV300)), y)
VENDOR_BOARD_INCLUDE
:=
$(LITEOSTOPDIR)
/../../vendor/hisi/hi35xx/
$(LITEOS_PLATFORM)
/config/board
else
ifeq
($(LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7), y)
VENDOR_BOARD_INCLUDE
:=
$(LITEOSTOPDIR)
/../../device/qemu/arm/
$(LITEOS_PLATFORM)
/config/board
else
$(error
"No VENDOR_BOARD_INCLUDE defined"
)
endif
#-----need move when make version-----#
##### make lib #####
$(__LIBS)
:
$(OUT) $(CXX_INCLUDE)
$(OUT)
:
$(LITEOS_MENUCONFIG_H)
$(HIDE)
mkdir
-p
$(OUT)
/lib
$(HIDE)$(CC)
-I
$(LITEOS_PLATFORM_BASE)
/include
-I
$(
LITEOSTOPDIR)
/../../vendor/hisi/hi35xx/
$(LITEOS_PLATFORM)
/config/board
\
$(HIDE)$(CC)
-I
$(LITEOS_PLATFORM_BASE)
/include
-I
$(
VENDOR_BOARD_INCLUDE)
\
-E
$(LITEOS_PLATFORM_BASE)
/board.ld.S
\
-o
$(LITEOS_PLATFORM_BASE)
/board.ld
-P
...
...
@@ -126,6 +136,7 @@ menuconfig:$(MENUCONFIG_PATH)/mconf
genconfig
:
$(MENUCONFIG_PATH)/conf
$(HIDE)
mkdir
-p
include/config include/generated
$<
--olddefconfig
$(KCONFIG_FILE_PATH)
$<
--silentoldconfig
$(KCONFIG_FILE_PATH)
-
mv
-f
$(LITEOS_MENUCONFIG_H)
$(LITEOS_PLATFORM_MENUCONFIG_H)
##### menuconfig end #######
...
...
arch/arm/arm/Makefile
浏览文件 @
58da2cb0
...
...
@@ -35,6 +35,7 @@ LOCAL_SRCS := $(wildcard src/*.c) $(wildcard src/*.S)
LOCAL_INCLUDE
:=
\
-I
$(LITEOSTOPDIR)
/kernel/base/include
\
-I
$(LITEOSTOPDIR)
/kernel/extended/include
\
-I
$(LITEOSTOPDIR)
/kernel/extended/dynload/include
\
-I
$(LITEOSTOPDIR)
/arch/arm/arm/include
\
ifeq
($(LITEOS_ARM_ARCH), -march=armv7-a)
...
...
arch/arm/arm/src/los_hw_exc.S
浏览文件 @
58da2cb0
...
...
@@ -57,7 +57,11 @@
.
global
_osExceptPrefetchAbortHdl
.
global
_osExceptSwiHdl
.
global
_osExceptUndefInstrHdl
#if defined(LOSCFG_CC_STACKPROTECTOR_ALL) || \
defined
(
LOSCFG_CC_STACKPROTECTOR_STRONG
)
||
\
defined
(
LOSCFG_CC_STACKPROTECTOR
)
.
global
__stack_chk_guard_setup
#endif
.
fpu
vfpv4
...
...
@@ -147,15 +151,22 @@
.
endm
#endif
#if defined(LOSCFG_CC_STACKPROTECTOR_ALL) || \
defined
(
LOSCFG_CC_STACKPROTECTOR_STRONG
)
||
\
defined
(
LOSCFG_CC_STACKPROTECTOR
)
@
Description
:
Stack
-
Protector
Init
__stack_chk_guard_setup
:
PUSH
{
FP
,
LR
}
#if defined(LOSCFG_PLATFORM_HI3516DV300) || defined(LOSCFG_PLATFORM_HI3518EV300)
/
*
Randomize
__stack_chk_quard
using
platform
-
specific
function
.
*/
BL
OsRandomStackGuard
LDR
R1
,
=
__stack_chk_guard
MOV
R3
,
R0
ORR
R2
,
R3
,
#
0X80000000
STR
R2
,
[
R1
]
#endif
POP
{
FP
,
PC
}
#endif
@
Description
:
Undefined
instruction
exception
handler
_osExceptUndefInstrHdl
:
...
...
bsd/compat/linuxkpi/Makefile
浏览文件 @
58da2cb0
...
...
@@ -33,6 +33,10 @@ MODULE_NAME := $(notdir $(shell pwd))
LOCAL_SRCS
:=
$(
wildcard
src/
*
.c
)
ifneq
($(LOSCFG_HRTIMER_ENABLE), y)
LOCAL_SRCS
:=
$(
filter-out
src/linux_hrtimer.c,
$(LOCAL_SRCS)
)
endif
LOCAL_INCLUDE
:=
\
-I
$(LITEOSTOPDIR)
/kernel/base/include
\
-I
$(LITEOSTOPDIR)
/bsd/compat/linuxkpi/include
...
...
fs/include/disk.h
浏览文件 @
58da2cb0
...
...
@@ -47,6 +47,8 @@
#endif
#include "pthread.h"
#ifdef __cplusplus
#if __cplusplus
extern
"C"
{
...
...
fs/vfs/disk/disk.c
浏览文件 @
58da2cb0
...
...
@@ -34,7 +34,6 @@
#include "stdlib.h"
#include "unistd.h"
#include "sys/mount.h"
#include "pthread.h"
#include "linux/spinlock.h"
#include "inode/inode.h"
...
...
kernel/base/include/los_vm_iomap.h
浏览文件 @
58da2cb0
...
...
@@ -46,8 +46,8 @@ enum DmaMemType {
DMA_NOCACHE
};
#define IS_PERIPH_ADDR(addr) ((
addr >= PERIPH_PMM_BASE) && (addr <= PERIPH_PMM_BASE + PERIPH_PMM_SIZE
))
#define IS_MEMORY_ADDR(addr) ((
addr >= DDR_MEM_ADDR) && (addr <= DDR_MEM_ADDR + DDR_MEM_SIZE
))
#define IS_PERIPH_ADDR(addr) ((
(addr) >= U32_C(PERIPH_PMM_BASE)) && ((addr) <= U32_C(PERIPH_PMM_BASE) + U32_C(PERIPH_PMM_SIZE)
))
#define IS_MEMORY_ADDR(addr) ((
(addr) >= U32_C(DDR_MEM_ADDR)) && ((addr) <= U32_C(DDR_MEM_ADDR) + U32_C(DDR_MEM_SIZE)
))
/* thread safety */
VOID
*
LOS_DmaMemAlloc
(
DMA_ADDR_T
*
dmaAddr
,
size_t
size
,
size_t
align
,
enum
DmaMemType
type
);
...
...
kernel/base/include/los_vm_zone.h
浏览文件 @
58da2cb0
...
...
@@ -40,11 +40,11 @@ extern "C" {
#endif
/* __cplusplus */
#endif
/* __cplusplus */
#define
DEFINE_
(X) X##U
#define
DEFINE(X) DEFINE_
(X)
#define
_U32_C
(X) X##U
#define
U32_C(X) _U32_C
(X)
#define KERNEL_VMM_BASE
DEFINE
(KERNEL_VADDR_BASE)
#define KERNEL_VMM_SIZE
DEFINE
(KERNEL_VADDR_SIZE)
#define KERNEL_VMM_BASE
U32_C
(KERNEL_VADDR_BASE)
#define KERNEL_VMM_SIZE
U32_C
(KERNEL_VADDR_SIZE)
#define KERNEL_ASPACE_BASE KERNEL_VMM_BASE
#define KERNEL_ASPACE_SIZE KERNEL_VMM_SIZE
...
...
@@ -57,11 +57,11 @@ extern "C" {
#define VMALLOC_SIZE 0x08000000
#define PERIPH_DEVICE_BASE (VMALLOC_START + VMALLOC_SIZE)
#define PERIPH_DEVICE_SIZE
PERIPH_PMM_SIZE
#define PERIPH_DEVICE_SIZE
U32_C(PERIPH_PMM_SIZE)
#define PERIPH_CACHED_BASE (PERIPH_DEVICE_BASE + PERIPH_DEVICE_SIZE)
#define PERIPH_CACHED_SIZE
PERIPH_PMM_SIZE
#define PERIPH_CACHED_SIZE
U32_C(PERIPH_PMM_SIZE)
#define PERIPH_UNCACHED_BASE (PERIPH_CACHED_BASE + PERIPH_CACHED_SIZE)
#define PERIPH_UNCACHED_SIZE
PERIPH_PMM_SIZE
#define PERIPH_UNCACHED_SIZE
U32_C(PERIPH_PMM_SIZE)
#define IO_DEVICE_ADDR(paddr) (paddr - PERIPH_PMM_BASE + PERIPH_DEVICE_BASE)
#define IO_CACHED_ADDR(paddr) (paddr - PERIPH_PMM_BASE + PERIPH_CACHED_BASE)
...
...
kernel/base/misc/kill_shellcmd.c
浏览文件 @
58da2cb0
...
...
@@ -35,7 +35,14 @@
#include "los_printf.h"
#include "los_task_pri.h"
#include "los_process_pri.h"
#ifdef LOSCFG_BASE_CORE_HILOG
#include "log.h"
#else
#define HILOG_INFO(type, fmt, ...) PRINT_INFO(fmt, __VA_ARGS__)
#define HILOG_ERROR(type, fmt, ...) PRINT_ERR(fmt, __VA_ARGS__)
#endif
#ifdef LOSCFG_SHELL
#include "shcmd.h"
#include "shell.h"
...
...
kernel/common/los_config.c
浏览文件 @
58da2cb0
...
...
@@ -132,6 +132,11 @@ extern "C" {
extern
UINT32
OsSystemInit
(
VOID
);
extern
VOID
SystemInit
(
VOID
);
VOID
__attribute__
((
weak
))
SystemInit
(
VOID
)
{
PRINT_WARN
(
"Function not implemented. Using weak reference stub
\n
"
);
}
LITE_OS_SEC_TEXT_INIT
VOID
osRegister
(
VOID
)
{
g_sysClock
=
OS_SYS_CLOCK
;
...
...
@@ -205,7 +210,17 @@ LITE_OS_SEC_TEXT_INIT STATIC VOID OsDriverHiEventInit(VOID)
extern
void
configure
(
void
);
LITE_OS_SEC_TEXT_INIT
STATIC
INT32
OsBsdInit
(
VOID
)
{
/*
* WORKAROUND: Inside configure(), nexus_init() function calls
* HiSi-specific, library procedure - machine_resource_init().
* The latter one is defined in libhi35xx_bsp.a which is only
* available for Hi3516 and Hi3518.
* Temporarily ifdef configure until this routine is implemented
* by other platforms.
*/
#if defined(LOSCFG_PLATFORM_HI3516DV300) || defined(LOSCFG_PLATFORM_HI3518EV300)
configure
();
#endif
mi_startup
(
SI_SUB_ARCH_INIT
);
return
LOS_OK
;
}
...
...
kernel/common/los_rootfs.c
浏览文件 @
58da2cb0
...
...
@@ -232,6 +232,17 @@ STATIC INT32 GetArgs(CHAR **args)
}
#endif
#ifdef LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7
/*
* TODO: Implement method of fetching bootargs for
* Qemu ARM virtual platform. If used without
* bootloader it will pass DTB by default.
*/
(
void
)
ret
;
PRINT_ERR
(
"Fetching bootargs unimplemented.
\n
"
);
goto
ERROUT
;
#endif
for
(
i
=
0
;
i
<
COMMAND_LINE_SIZE
;
i
+=
len
+
1
)
{
len
=
strlen
(
cmdLine
+
i
);
tmp
=
strstr
(
cmdLine
+
i
,
bootargName
);
...
...
kernel/user/src/los_user_init.c
浏览文件 @
58da2cb0
...
...
@@ -30,13 +30,13 @@
*/
#include "los_user_init.h"
#ifdef LOSCFG_KERNEL_DYNLOAD
#include "los_syscall.h"
#define SYS_CALL_VALUE 0x900001
#ifdef LOSCFG_KERNEL_DYNLOAD
LITE_USER_SEC_RODATA
STATIC
CHAR
*
g_initPath
=
"/bin/init"
;
#endif
LITE_USER_SEC_TEXT
STATIC
UINT32
sys_call3
(
UINT32
nbr
,
UINT32
parm1
,
UINT32
parm2
,
UINT32
parm3
)
{
...
...
@@ -55,6 +55,7 @@ LITE_USER_SEC_TEXT STATIC UINT32 sys_call3(UINT32 nbr, UINT32 parm1, UINT32 parm
return
reg0
;
}
#endif
LITE_USER_SEC_ENTRY
VOID
OsUserInit
(
VOID
*
args
)
{
...
...
platform/Kconfig
浏览文件 @
58da2cb0
...
...
@@ -2,6 +2,7 @@ config PLATFORM
string
default "hi3516dv300" if PLATFORM_HI3516DV300
default "hi3518ev300" if PLATFORM_HI3518EV300
default "virt" if PLATFORM_QEMU_ARM_VIRT_CA7
choice
prompt "Board"
...
...
@@ -10,6 +11,8 @@ choice
IPC has several chips:
hi3516dv300
hi3518ev300
Qemu ARM Virt variants (based on different CPU types):
qemu_arm_virt_ca7
config PLATFORM_HI3516DV300
bool "hi3516dv300"
...
...
@@ -19,6 +22,12 @@ config PLATFORM_HI3518EV300
bool "hi3518ev300"
select ARCH_CORTEX_A7
config PLATFORM_QEMU_ARM_VIRT_CA7
bool "qemu_arm_virt_ca7"
select ARCH_CORTEX_A7
help
QEMU ARM Virtual Platform using Cortex-A7 CPU.
endchoice
config TEE_ENABLE
...
...
@@ -47,3 +56,10 @@ config PLATFORM_BSP_GIC_V3
General Interrupt Controller version 3.
endchoice
config HRTIMER_ENABLE
bool "HR TIMER enable"
default y
help
Enable High-resolution timer support
platform/Makefile
浏览文件 @
58da2cb0
...
...
@@ -33,19 +33,28 @@ MODULE_NAME := bsp
LOCAL_SRCS
=
$(
wildcard
$(HWI_SRC)
/
*
.c
)
\
$(
wildcard
$(TIMER_SRC)
/
*
.c
)
\
$(
wildcard
$(HRTIMER_SRC)
/
*
.c
)
\
$(
wildcard
$(UART_SRC)
/
*
.c
)
\
$(
wildcard
./main.c
)
ifeq
($(LOSCFG_HRTIMER_ENABLE), y)
LOCAL_SRCS
+=
$(
wildcard
$(HRTIMER_SRC)
/
*
.c
)
endif
LOCAL_INCLUDE
+=
-I
$(LITEOSTOPDIR)
/compat/posix/src
\
-I
$(LITEOSTOPDIR)
/bsd/dev/random
ifeq
($(findstring y, $(LOSCFG_PLATFORM_HI3518EV300)$(LOSCFG_PLATFORM_HI3516DV300)), y)
MAIN_PLATFORMS
:=
$(LOSCFG_PLATFORM_HI3518EV300)
\
$(LOSCFG_PLATFORM_HI3516DV300)
\
$(LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7)
ifeq
($(findstring y, $(MAIN_PLATFORMS)), y)
LOCAL_SRCS
+=
$(
wildcard
../kernel/common/
*
.c
)
LOCAL_SRCS
:=
$(
filter-out
../kernel/common/los_rootfs.c,
$(LOCAL_SRCS)
)
ifneq
($(LOSCFG_FS_VFS), y)
LOCAL_SRCS
:=
$(
filter-out
../kernel/common/console.c ../kernel/common/virtual_serial.c,
$(LOCAL_SRCS)
)
endif
ifneq
($(LOSCFG_BASE_CORE_HILOG), y)
LOCAL_SRCS
:=
$(
filter-out
../kernel/common/los_hilog.c,
$(LOCAL_SRCS)
)
endif
else
LOCAL_SRCS
+=
$(
wildcard
../kernel/common/los_config.c
)
LOCAL_SRCS
+=
$(
wildcard
../kernel/common/los_printf.c
)
...
...
platform/bsp.mk
浏览文件 @
58da2cb0
...
...
@@ -56,11 +56,19 @@ else ifeq ($(LOSCFG_PLATFORM_HI3518EV300), y)
USB_TYPE
:=
usb3.0_hi3518ev300
LITEOS_CMACRO_TEST
+=
-DTEST3518EV300
########################## Qemu ARM Virt Options##############################
else
ifeq
($(LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7), y)
HWI_TYPE
:=
arm/interrupt/gic
TIMER_TYPE
:=
arm/timer/arm_generic
UART_TYPE
:=
amba_pl011
endif
ifeq
($(LOSCFG_HRTIMER_ENABLE), y)
HRTIMER_SRC
:=
hw/
$(HRTIMER_TYPE)
endif
HWI_SRC
:=
hw/
$(HWI_TYPE)
TIMER_SRC
:=
hw/
$(TIMER_TYPE)
HRTIMER_SRC
:=
hw/
$(HRTIMER_TYPE)
NET_SRC
:=
net/
$(NET_TYPE)
UART_SRC
:=
uart/
$(UART_TYPE)
USB_SRC
:=
usb/
$(USB_TYPE)
...
...
@@ -69,22 +77,26 @@ LITEOS_BASELIB += -lbsp
LITEOS_PLATFORM
:=
$(
subst
$
\"
,,
$(LOSCFG_PLATFORM)
)
PLATFORM_BSP_
HISI_
BASE
:=
$(LITEOSTOPDIR)
/platform
PLATFORM_BSP_BASE
:=
$(LITEOSTOPDIR)
/platform
PLATFORM_INCLUDE
:=
-I
$(LITEOSTOPDIR)
/../../vendor/hisi/hi35xx/
$(LITEOS_PLATFORM)
/config/board/include
\
-I
$(PLATFORM_BSP_HISI_BASE)
/../kernel/common
\
-I
$(PLATFORM_BSP_HISI_BASE)
/../../../drivers/liteos/platform/pm
\
-I
$(PLATFORM_BSP_HISI_BASE)
/hw/include
\
-I
$(PLATFORM_BSP_HISI_BASE)
/include
\
-I
$(PLATFORM_BSP_HISI_BASE)
/
$(UART_SRC)
PLATFORM_INCLUDE
:=
-I
$(PLATFORM_BSP_BASE)
/../kernel/common
\
-I
$(PLATFORM_BSP_BASE)
/../../../drivers/liteos/platform/pm
\
-I
$(PLATFORM_BSP_BASE)
/hw/include
\
-I
$(PLATFORM_BSP_BASE)
/include
\
-I
$(PLATFORM_BSP_BASE)
/
$(UART_SRC)
ifeq
($(findstring y, $(LOSCFG_PLATFORM_HI3518EV300)$(LOSCFG_PLATFORM_HI3516DV300)), y)
PLATFORM_INCLUDE
+=
-I
$(LITEOSTOPDIR)
/../../vendor/hisi/hi35xx/
$(LITEOS_PLATFORM)
/config/board/include
PLATFORM_INCLUDE
+=
-I
$(LITEOSTOPDIR)
/../../vendor/hisi/hi35xx/
$(LITEOS_PLATFORM)
/config/board/include/hisoc
else
ifeq
($(LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7), y)
PLATFORM_INCLUDE
+=
-I
$(LITEOSTOPDIR)
/../../device/qemu/arm/
$(LITEOS_PLATFORM)
/config/board/include
# TODO: remove hisoc dependency in the code to avoid using hisoc here
PLATFORM_INCLUDE
+=
-I
$(LITEOSTOPDIR)
/../../device/qemu/arm/
$(LITEOS_PLATFORM)
/config/board/include/hisoc
endif
#
#-include $(LITEOSTOPDIR)/platform/bsp/board/$(LITEOS_PLATFORM)/board.mk
#
LIB_SUBDIRS
+=
$(PLATFORM_BSP_
HISI_
BASE)
LIB_SUBDIRS
+=
$(PLATFORM_BSP_BASE)
LITEOS_PLATFORM_INCLUDE
+=
$(PLATFORM_INCLUDE)
LITEOS_CXXINCLUDE
+=
$(PLATFORM_INCLUDE)
shell/full/src/base/show.c
浏览文件 @
58da2cb0
...
...
@@ -100,7 +100,16 @@ STATIC UINT32 OsShellSourceInit(INT32 consoleId)
ret
=
LOS_NOK
;
goto
ERR_OUT4
;
}
if
(
consoleId
==
CONSOLE_TELNET
)
{
if
(
consoleId
==
CONSOLE_TELNET
#if !defined(LOSCFG_PLATFORM_ROOTFS)
/*
* In case of ROOTFS disabled but
* serial console enabled, it is required
* to create Shell task in kernel for it.
*/
||
consoleId
==
CONSOLE_SERIAL
#endif
)
{
ret
=
OsShellCreateTask
(
shellCB
);
if
(
ret
!=
LOS_OK
)
{
goto
ERR_OUT4
;
...
...
syscall/Makefile
浏览文件 @
58da2cb0
...
...
@@ -33,7 +33,12 @@ MODULE_NAME := $(notdir $(shell pwd))
LOCAL_SRCS
:=
$(
wildcard
*
.c
)
ifneq
($(LOSCFG_NET_LWIP_SACK), y)
LOCAL_SRCS
:=
$(
filter-out
net_syscall.c,
$(LOCAL_SRCS)
)
endif
LOCAL_INCLUDE
:=
-I
$(LITEOSTOPDIR)
/kernel/base/include
\
-I
$(LITEOSTOPDIR)
/kernel/extended/dynload/include
\
-I
$(LITEOSTOPDIR)
/fs/include
\
-I
$(LITEOSTOPDIR)
/compat/posix/include
\
-I
$(LITEOSTOPDIR)
/bsd/compat/linuxkpi/include
\
...
...
syscall/los_syscall.c
浏览文件 @
58da2cb0
...
...
@@ -30,6 +30,12 @@
*/
#define _GNU_SOURCE
#include "menuconfig.h"
#ifdef LOSCFG_FS_VFS
#include "fs/fs.h"
#include "fs/file.h"
#endif
#include "los_signal.h"
#include "los_syscall.h"
#include "los_task_pri.h"
#include "los_process_pri.h"
...
...
@@ -40,10 +46,6 @@
#include "mqueue.h"
#include "los_futex_pri.h"
#include "sys/times.h"
#ifdef LOSCFG_FS_VFS
#include "fs/fs.h"
#include "fs/file.h"
#endif
#include "dirent.h"
#include "fcntl.h"
#include "unistd.h"
...
...
syscall/net_syscall.c
浏览文件 @
58da2cb0
...
...
@@ -29,7 +29,6 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "los_syscall.h"
#include "los_process_pri.h"
#include "lwip/sockets.h"
#include <stdlib.h>
...
...
syscall/time_syscall.c
浏览文件 @
58da2cb0
...
...
@@ -36,6 +36,7 @@
#include "time.h"
#include "user_copy.h"
#include "sys/times.h"
#include "los_signal.h"
#include "los_memory.h"
#include "los_strncpy_from_user.h"
...
...
tools/build/config/debug/hi3516dv300_clang.config
浏览文件 @
58da2cb0
...
...
@@ -15,8 +15,10 @@ LOSCFG_COMPILER_CLANG_LLVM=y
LOSCFG_PLATFORM
=
"hi3516dv300"
LOSCFG_PLATFORM_HI3516DV300
=
y
# LOSCFG_PLATFORM_HI3518EV300 is not set
# LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7 is not set
# LOSCFG_TEE_ENABLE is not set
LOSCFG_PLATFORM_BSP_GIC_V2
=
y
LOSCFG_HRTIMER_ENABLE
=
y
LOSCFG_ARCH_ARM
=
y
LOSCFG_ARCH_ARM_AARCH32
=
y
LOSCFG_ARCH_ARM_V7A
=
y
...
...
tools/build/config/debug/hi3518ev300_clang.config
浏览文件 @
58da2cb0
...
...
@@ -15,7 +15,9 @@ LOSCFG_COMPILER_CLANG_LLVM=y
LOSCFG_PLATFORM
=
"hi3518ev300"
# LOSCFG_PLATFORM_HI3516DV300 is not set
LOSCFG_PLATFORM_HI3518EV300
=
y
# LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7 is not set
LOSCFG_PLATFORM_BSP_GIC_V2
=
y
LOSCFG_HRTIMER_ENABLE
=
y
LOSCFG_ARCH_ARM
=
y
LOSCFG_ARCH_ARM_AARCH32
=
y
LOSCFG_ARCH_ARM_V7A
=
y
...
...
tools/build/config/debug/qemu_arm_virt_ca7_clang.config
0 → 100644
浏览文件 @
58da2cb0
#
# Automatically generated file; DO NOT EDIT.
# Huawei LiteOS Configuration
#
#
# Compiler
#
# LOSCFG_COMPILER_HIMIX_32 is not set
LOSCFG_COMPILER_CLANG_LLVM
=
y
#
# Platform
#
LOSCFG_PLATFORM
=
"virt"
# LOSCFG_PLATFORM_HI3516DV300 is not set
# LOSCFG_PLATFORM_HI3518EV300 is not set
LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7
=
y
LOSCFG_PLATFORM_BSP_GIC_V2
=
y
# LOSCFG_HRTIMER_ENABLE is not set
LOSCFG_ARCH_ARM
=
y
LOSCFG_ARCH_ARM_AARCH32
=
y
LOSCFG_ARCH_ARM_V7A
=
y
LOSCFG_ARCH_ARM_VER
=
"armv7-a"
LOSCFG_ARCH_FPU_VFP_V4
=
y
LOSCFG_ARCH_FPU_VFP_D32
=
y
LOSCFG_ARCH_FPU_VFP_NEON
=
y
LOSCFG_ARCH_FPU
=
"neon-vfpv4"
LOSCFG_ARCH_CORTEX_A7
=
y
LOSCFG_ARCH_CPU
=
"cortex-a7"
#
# Extra Configurations
#
# LOSCFG_ARCH_FPU_DISABLE is not set
LOSCFG_IRQ_USE_STANDALONE_STACK
=
y
#
# Kernel
#
# LOSCFG_KERNEL_SMP is not set
LOSCFG_KERNEL_EXTKERNEL
=
y
# LOSCFG_KERNEL_CPPSUPPORT is not set
LOSCFG_KERNEL_CPUP
=
y
LOSCFG_CPUP_INCLUDE_IRQ
=
y
# LOSCFG_KERNEL_DYNLOAD is not set
# LOSCFG_KERNEL_VDSO is not set
# LOSCFG_KERNEL_TICKLESS is not set
# LOSCFG_KERNEL_TRACE is not set
LOSCFG_KERNEL_LITEIPC
=
y
LOSCFG_KERNEL_PIPE
=
y
# LOSCFG_BASE_CORE_HILOG is not set
#
# Lib
#
LOSCFG_LIB_LIBC
=
y
LOSCFG_LIB_ZLIB
=
y
#
# Compat
#
LOSCFG_COMPAT_POSIX
=
y
LOSCFG_COMPAT_BSD
=
y
#
# FileSystem
#
LOSCFG_FS_VFS
=
y
# LOSCFG_FS_VFS_BLOCK_DEVICE is not set
LOSCFG_FILE_MODE
=
y
# LOSCFG_FS_FAT is not set
LOSCFG_FS_RAMFS
=
y
LOSCFG_FS_PROC
=
y
# LOSCFG_FS_JFFS is not set
#
# Net
#
# LOSCFG_NET_LWIP_SACK is not set
#
# Debug
#
# LOSCFG_COMPILE_DEBUG is not set
# LOSCFG_PLATFORM_ADAPT is not set
# LOSCFG_ENABLE_OOM_LOOP_TASK is not set
# LOSCFG_ENABLE_MAGICKEY is not set
# LOSCFG_THUMB is not set
LOSCFG_DEBUG_VERSION
=
y
# LOSCFG_DEBUG_KERNEL is not set
LOSCFG_SHELL
=
y
#
# Functionality of Shell
#
# LOSCFG_SHELL_LK is not set
# LOSCFG_SHELL_EXCINFO is not set
# LOSCFG_EXC_INTERACTION is not set
# LOSCFG_USER_INIT_DEBUG is not set
# LOSCFG_SHELL_CMD_DEBUG is not set
# LOSCFG_MEM_DEBUG is not set
# LOSCFG_NULL_ADDRESS_PROTECT is not set
LOSCFG_DRIVERS_HDF_PLATFORM_UART
=
y
# LOSCFG_PLATFORM_UART_WITHOUT_VFS is not set
# LOSCFG_PLATFORM_NO_UART is not set
#
# Driver
#
LOSCFG_DRIVERS
=
y
# LOSCFG_DRIVERS_USB is not set
LOSCFG_DRIVERS_HDF
=
y
LOSCFG_DRIVERS_HDF_PLATFORM
=
y
# LOSCFG_DRIVERS_HDF_PLATFORM_I2C is not set
# LOSCFG_DRIVERS_HDF_PLATFORM_SPI is not set
# LOSCFG_DRIVERS_HDF_PLATFORM_GPIO is not set
# LOSCFG_DRIVERS_HDF_PLATFORM_WATCHDOG is not set
# LOSCFG_DRIVERS_HDF_PLATFORM_SDIO is not set
# LOSCFG_DRIVERS_HDF_PLATFORM_RTC is not set
# LOSCFG_DRIVERS_HDF_PLATFORM_HISI_SDK is not set
# LOSCFG_DRIVERS_HDF_WIFI is not set
# LOSCFG_DRIVERS_HDF_INPUT is not set
# LOSCFG_DRIVERS_HDF_LCD is not set
# LOSCFG_DRIVERS_HDF_USB is not set
LOSCFG_DRIVERS_MEM
=
y
# LOSCFG_DRIVERS_MMC is not set
# LOSCFG_DRIVERS_MTD is not set
# LOSCFG_DRIVERS_RANDOM is not set
# LOSCFG_DRIVERS_VIDEO is not set
# LOSCFG_DRIVERS_HIEVENT is not set
#
# Security
#
LOSCFG_SECURITY
=
y
LOSCFG_SECURITY_CAPABILITY
=
y
LOSCFG_SECURITY_VID
=
y
# LOSCFG_SECURITY_BOOT is not set
#
# Stack Smashing Protector (SSP) Compiler Feature
#
# LOSCFG_CC_NO_STACKPROTECTOR is not set
# LOSCFG_CC_STACKPROTECTOR is not set
# LOSCFG_CC_STACKPROTECTOR_STRONG is not set
LOSCFG_CC_STACKPROTECTOR_ALL
=
y
tools/build/config/hi3516dv300_clang_release.config
浏览文件 @
58da2cb0
...
...
@@ -15,8 +15,10 @@ LOSCFG_COMPILER_CLANG_LLVM=y
LOSCFG_PLATFORM
=
"hi3516dv300"
LOSCFG_PLATFORM_HI3516DV300
=
y
# LOSCFG_PLATFORM_HI3518EV300 is not set
# LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7 is not set
# LOSCFG_TEE_ENABLE is not set
LOSCFG_PLATFORM_BSP_GIC_V2
=
y
LOSCFG_HRTIMER_ENABLE
=
y
LOSCFG_ARCH_ARM
=
y
LOSCFG_ARCH_ARM_AARCH32
=
y
LOSCFG_ARCH_ARM_V7A
=
y
...
...
tools/build/config/hi3518ev300_clang_release.config
浏览文件 @
58da2cb0
...
...
@@ -15,7 +15,9 @@ LOSCFG_COMPILER_CLANG_LLVM=y
LOSCFG_PLATFORM
=
"hi3518ev300"
# LOSCFG_PLATFORM_HI3516DV300 is not set
LOSCFG_PLATFORM_HI3518EV300
=
y
# LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7 is not set
LOSCFG_PLATFORM_BSP_GIC_V2
=
y
LOSCFG_HRTIMER_ENABLE
=
y
LOSCFG_ARCH_ARM
=
y
LOSCFG_ARCH_ARM_AARCH32
=
y
LOSCFG_ARCH_ARM_V7A
=
y
...
...
tools/build/mk/los_config.mk
浏览文件 @
58da2cb0
...
...
@@ -163,8 +163,10 @@ LITEOS_BASELIB += -lbase
LIB_SUBDIRS
+=
kernel/base
LITEOS_KERNEL_INCLUDE
:=
-I
$(LITEOSTOPDIR)
/kernel/include
ifeq
($(findstring y, $(LOSCFG_PLATFORM_HI3518EV300)$(LOSCFG_PLATFORM_HI3516DV300)), y)
LITEOS_BASELIB
+=
-lhi35xx_bsp
LIB_SUBDIRS
+=
$(LITEOSTOPDIR)
/../../vendor/hisi/hi35xx/
$(LITEOS_PLATFORM)
/config/board/
endif
ifeq
($(LOSCFG_KERNEL_CPUP), y)
LITEOS_BASELIB
+=
-lcpup
...
...
@@ -358,7 +360,11 @@ endif
#################################### Net Option End####################################
LITEOS_DRIVERS_BASE_PATH
:=
$(LITEOSTOPDIR)
/../../drivers/liteos
ifeq
($(findstring y, $(LOSCFG_PLATFORM_HI3518EV300)$(LOSCFG_PLATFORM_HI3516DV300)), y)
LITEOS_VENDOR_DRIVERS_BASE_PATH
:=
$(LITEOSTOPDIR)
/../../vendor/hisi/hi35xx/platform
else
ifeq
($(LOSCFG_PLATFORM_QEMU_ARM_VIRT_CA7), y)
LITEOS_VENDOR_DRIVERS_BASE_PATH
:=
$(LITEOSTOPDIR)
/../../device/qemu/arm/platform
endif
################################## Driver Option Begin #################################
ifeq
($(LOSCFG_DRIVERS_HDF), y)
include
$(LITEOSTOPDIR)/../../drivers/hdf/lite/hdf_lite.mk
...
...
@@ -457,7 +463,10 @@ ifeq ($(LOSCFG_COMPILE_DEBUG), y)
LITEOS_COPTS_OPTION
=
-g
-gdwarf-2
else
ifeq
($(LOSCFG_COMPILER_CLANG_LLVM), y)
LITEOS_COPTS_OPTMIZE
=
-Oz
-flto
# WORKAROUND: Disable LTO to avoid undefined __stack_chk_guard
# problem. "externally_visible" attribute could be
# a fix for that but it is not known to our LLVM.
LITEOS_COPTS_OPTMIZE
=
-Oz
#-flto
else
LITEOS_COPTS_OPTMIZE
=
-O2
endif
...
...
tools/build/mk/module.mk
浏览文件 @
58da2cb0
...
...
@@ -81,7 +81,7 @@ all : $(LIB)
$(LOCAL_COBJS)
:
$(OBJOUT)/%.o: %.c
$(HIDE)$(OBJ_MKDIR)
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
$(LOCAL_FLAGS)
$(LOCAL_CFLAGS)
-c
$<
-o
$@
$(HIDE)$(CC)
$(LITEOS_CFLAGS)
$(LOCAL_
INCLUDE)
$(LOCAL_
FLAGS)
$(LOCAL_CFLAGS)
-c
$<
-o
$@
$(LOCAL_CPPOBJS)
:
$(OBJOUT)/%.o: %.cpp
$(HIDE)$(OBJ_MKDIR)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录