Browse Source

fit musl for riscv64 boards.

xidatong-riscv64
TXuian 8 months ago
parent
commit
cb4a9d03e0
  1. 2
      .gitignore
  2. 4
      APP_Framework/Framework/transform_layer/xizi/transform.c
  3. 4
      APP_Framework/Framework/transform_layer/xizi/user_api/posix_support/include/pthread.h
  4. 7
      APP_Framework/Framework/transform_layer/xizi/user_api/posix_support/pthread.c
  5. 3
      APP_Framework/Framework/transform_layer/xizi/user_api/posix_support/pthread_mutex.c
  6. 16
      Ubiquitous/XiZi/Makefile
  7. 2
      Ubiquitous/XiZi/arch/arm/cortex-m0/prepare_ahwstack.c
  8. 2
      Ubiquitous/XiZi/arch/risc-v/k210/smp_support.c
  9. 2
      Ubiquitous/XiZi/board/aiit-riscv64-board/include/bsp.h
  10. 0
      Ubiquitous/XiZi/board/aiit-riscv64-board/include/bsp_atomic.h
  11. 2
      Ubiquitous/XiZi/board/aiit-riscv64-board/third_party_driver/uart/hardware_uart.c
  12. 2
      Ubiquitous/XiZi/board/k210-emulator/include/bsp.h
  13. 0
      Ubiquitous/XiZi/board/k210-emulator/include/bsp_atomic.h
  14. 2
      Ubiquitous/XiZi/board/k210-emulator/third_party_driver/uart/hardware_uart.c
  15. 11
      Ubiquitous/XiZi/board/kd233/config.mk
  16. 2
      Ubiquitous/XiZi/board/kd233/include/bsp.h
  17. 0
      Ubiquitous/XiZi/board/kd233/include/bsp_atomic.h
  18. 2
      Ubiquitous/XiZi/board/kd233/third_party_driver/uart/hardware_uart.c
  19. 2
      Ubiquitous/XiZi/board/maix-go/include/bsp.h
  20. 0
      Ubiquitous/XiZi/board/maix-go/include/bsp_atomic.h
  21. 2
      Ubiquitous/XiZi/board/maix-go/third_party_driver/uart/hardware_uart.c
  22. 2
      Ubiquitous/XiZi/board/xidatong-arm32/config.mk
  23. 3
      Ubiquitous/XiZi/board/xidatong-arm32/third_party_driver/ethernet/enet_ethernetif.c
  24. 2
      Ubiquitous/XiZi/board/xidatong-arm32/third_party_driver/include/enet_ethernetif.h
  25. 10
      Ubiquitous/XiZi/board/xidatong-riscv64/config.mk
  26. 2
      Ubiquitous/XiZi/board/xidatong-riscv64/include/bsp.h
  27. 0
      Ubiquitous/XiZi/board/xidatong-riscv64/include/bsp_atomic.h
  28. 2
      Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/uart/hardware_uart.c
  29. 3
      Ubiquitous/XiZi/fs/shared/src/iot-vfs.c
  30. 2
      Ubiquitous/XiZi/kernel/include/xs_ktask.h
  31. 2
      Ubiquitous/XiZi/kernel/thread/assign.c
  32. 4
      Ubiquitous/XiZi/kernel/thread/init.c
  33. 2
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/alltypes.h
  34. 21
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/alltypes.h.in
  35. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/dirent.h
  36. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/errno.h
  37. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/io.h
  38. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/ioctl.h
  39. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/ipc.h
  40. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/kd.h
  41. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/limits.h
  42. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/link.h
  43. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/mman.h
  44. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/poll.h
  45. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/resource.h
  46. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/socket.h
  47. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/soundcard.h
  48. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/statfs.h
  49. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/syscall.h
  50. 409
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/syscall.h.in
  51. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/syscall_arch.h
  52. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/termios.h
  53. 0
      Ubiquitous/XiZi/lib/musllib/arch/arm/bits/vt.h
  54. 10
      Ubiquitous/XiZi/lib/musllib/arch/generic/bits/fenv.h
  55. 0
      Ubiquitous/XiZi/lib/musllib/arch/generic/fp_arch.h
  56. 465
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/alltypes.h
  57. 18
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/alltypes.h.in
  58. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/dirent.h
  59. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/errno.h
  60. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/fcntl.h
  61. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/hwcap.h
  62. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/io.h
  63. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ioctl.h
  64. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ioctl_fix.h
  65. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ipc.h
  66. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ipcstat.h
  67. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/kd.h
  68. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/limits.h
  69. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/link.h
  70. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/mman.h
  71. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/msg.h
  72. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/poll.h
  73. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ptrace.h
  74. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/resource.h
  75. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/sem.h
  76. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/shm.h
  77. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/socket.h
  78. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/soundcard.h
  79. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/statfs.h
  80. 304
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/syscall.h.in
  81. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/termios.h
  82. 0
      Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/vt.h
  83. 40
      Ubiquitous/XiZi/lib/musllib/include/bits/fcntl.h
  84. 23
      Ubiquitous/XiZi/lib/musllib/include/bits/fenv.h
  85. 16
      Ubiquitous/XiZi/lib/musllib/include/bits/float.h
  86. 53
      Ubiquitous/XiZi/lib/musllib/include/bits/hwcap.h
  87. 2
      Ubiquitous/XiZi/lib/musllib/include/bits/ioctl_fix.h
  88. 1
      Ubiquitous/XiZi/lib/musllib/include/bits/ipcstat.h
  89. 18
      Ubiquitous/XiZi/lib/musllib/include/bits/msg.h
  90. 2
      Ubiquitous/XiZi/lib/musllib/include/bits/posix.h
  91. 25
      Ubiquitous/XiZi/lib/musllib/include/bits/ptrace.h
  92. 3
      Ubiquitous/XiZi/lib/musllib/include/bits/reg.h
  93. 18
      Ubiquitous/XiZi/lib/musllib/include/bits/sem.h
  94. 1
      Ubiquitous/XiZi/lib/musllib/include/bits/setjmp.h
  95. 31
      Ubiquitous/XiZi/lib/musllib/include/bits/shm.h
  96. 86
      Ubiquitous/XiZi/lib/musllib/include/bits/signal.h
  97. 25
      Ubiquitous/XiZi/lib/musllib/include/bits/stat.h
  98. 20
      Ubiquitous/XiZi/lib/musllib/include/bits/stdint.h
  99. 36
      Ubiquitous/XiZi/lib/musllib/include/bits/user.h
  100. BIN
      Ubiquitous/XiZi/lib/musllib/libmusl.a

2
.gitignore

@ -1,3 +1,5 @@
*.vscode
*.o
*libmusl.a
*liblwip.a
.DS_Store

4
APP_Framework/Framework/transform_layer/xizi/transform.c

@ -101,12 +101,12 @@ int PrivTaskDelay(int32_t ms)
{
UserTaskDelay(ms);
}
#ifndef SEPARATE_COMPILE
uint32_t PrivGetTickTime()
{
return CalculteTimeMsFromTick(CurrentTicksGain());
}
#endif
/*********************fs**************************/
#ifdef FS_VFS
/************************Driver Posix Transform***********************/

4
APP_Framework/Framework/transform_layer/xizi/user_api/posix_support/include/pthread.h

@ -31,7 +31,8 @@ extern "C" {
#if defined(ARCH_ARM) && !defined(LIB_MUSLLIB)
#include "pthread arm.h"
#endif
// enum {
// PTHREAD_BARRIER_SERIAL_THREAD,
// PTHREAD_CANCEL_ASYNCHRONOUS,
@ -105,7 +106,6 @@ int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *type);
int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type);
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int pshared);
int pthread_mutexattr_getpshared(const pthread_mutexattr_t *attr, int *pshared);
#endif
#ifdef __cplusplus
}

7
APP_Framework/Framework/transform_layer/xizi/user_api/posix_support/pthread.c

@ -49,7 +49,7 @@ int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
return -1 ;
ret = UserTaskStartup(pid);
*thread = (pthread_t)pid;
*thread = (pthread_t)(long)pid;
return ret;
@ -63,7 +63,7 @@ void pthread_exit(void *value_ptr){
pthread_t pthread_self(void){
pthread_t pthread ;
pthread = (pthread_t)UserGetTaskID();
pthread = (pthread_t)(long)UserGetTaskID();
return pthread;
}
@ -112,7 +112,8 @@ int pthread_join(pthread_t thread, void **retval)
int pthread_kill(pthread_t thread, int sig)
{
/* This api should not be used, and will not be supported */
UserTaskDelete((int32_t)thread);
int32_t *thread_id_tmp = (void *)&thread;
UserTaskDelete(*thread_id_tmp);
return -1;
}

3
APP_Framework/Framework/transform_layer/xizi/user_api/posix_support/pthread_mutex.c

@ -24,7 +24,8 @@
#include <pthread.h>
#include <string.h>
#if defined(ARCH_ARM) && defined(LIB_MUSLLIB)
// #if defined(ARCH_ARM) && defined(LIB_MUSLLIB)
#if defined(LIB_MUSLLIB)
int pthread_mutex_init(pthread_mutex_t* p_mutex, const pthread_mutexattr_t* attr)
{
pthread_mutexattr_t mutexAttr;

16
Ubiquitous/XiZi/Makefile

@ -2,7 +2,7 @@ MAKEFLAGS += --no-print-directory
.PHONY:all clean distclean show_info menuconfig
.PHONY:COMPILE_APP COMPILE_KERNEL
.PHONY:COMPILE_APP COMPILE_KERNEL
support :=kd233 stm32f407-st-discovery maix-go stm32f407zgt6 aiit-riscv64-board aiit-arm32-board hifive1-rev-B hifive1-emulator k210-emulator cortex-m3-emulator cortex-m4-emulator ok1052-c gapuino stm32f103-nano gd32vf103-rvstar cortex-m0-emulator rv32m1-vega nuvoton-m2354
@ -61,11 +61,11 @@ else
PART :=
ifeq ($(CONFIG_LIB_MUSLLIB), y)
PART += COMPILE_MUSL clean
PART += COMPILE_MUSL
endif
ifeq ($(CONFIG_RESOURCES_LWIP), y)
PART += COMPILE_LWIP clean
PART += COMPILE_LWIP
endif
PART += COMPILE_ALL
@ -85,11 +85,11 @@ COMPILE_ALL:
COMPILE_MUSL:
@for dir in $(MUSL_DIR);do \
$(MAKE) -C $$dir CONFIG_RESOURCES_LWIP=n; \
$(MAKE) -C $$dir COMPILE_TYPE=$@ CONFIG_RESOURCES_LWIP=n; \
done
@cp link_libc.mk build/Makefile
@$(MAKE) -C build TARGET=libmusl.a LINK_FLAGS=LFLAGS
@cp build/libmusl.a $(KERNEL_ROOT)/lib/musllib/libmusl.a
@cp build/libmusl.a $(KERNEL_ROOT)/lib/musllib/libmusl.a
@rm build/Makefile build/make.obj
COMPILE_LWIP:
@ -112,10 +112,10 @@ COMPILE_KERNEL:
COMPILE_APP:
@echo $(SRC_APP_DIR)
@for dir in $(SRC_APP_DIR);do \
$(MAKE) -C $$dir; \
$(MAKE) -C $$dir USE_APP_INCLUDEPATH=y; \
done
@cp link.mk build/Makefile
@$(MAKE) -C build COMPILE_TYPE="_app" TARGET=XiZi-$(BOARD)_app.elf LINK_FLAGS=APPLFLAGS USE_APP_INCLUDEPATH=y
@$(MAKE) -C build COMPILE_TYPE="_app" TARGET=XiZi-$(BOARD)_app.elf LINK_FLAGS=APPLFLAGS
@rm build/Makefile build/make.obj
show_info:
@ -175,4 +175,6 @@ distclean:
@echo Clean all configuration
@make clean
@rm -f .config*
@rm -f $(KERNEL_ROOT)/lib/musllib/libmusl.a
@rm -f $(KERNEL_ROOT)/resources/ethernet/LwIP/liblwip.a
@rm -f $(KERNEL_ROOT)/board/*/.config

2
Ubiquitous/XiZi/arch/arm/cortex-m0/prepare_ahwstack.c

@ -156,14 +156,12 @@ uint8 KTaskStackSetup(struct TaskDescriptor *task)
}
#else
StackContex->ExErrorStackContex.lr = (unsigned long)KTaskQuit;
KPrintf("DEBUG: ExErrorStackContex.lr set KTaskQuit..\n");
#endif
#if USE_FPU
StackContex->flag = 0;
#endif
KPrintf("DEBUG: KTaskStackSetup end, task: %i.\n", task->id.id);
return EOK;
}

2
Ubiquitous/XiZi/arch/risc-v/k210/smp_support.c

@ -20,7 +20,7 @@ Author: AIIT XUOS Lab
*************************************************/
#include "board.h"
#include <atomic.h>
#include <bsp_atomic.h>
#include <clint.h>
#include <encoding.h>
#include <xs_spinlock.h>

2
Ubiquitous/XiZi/board/aiit-riscv64-board/include/bsp.h

@ -24,7 +24,7 @@
#ifndef _KENDRYTE_BSP_H
#define _KENDRYTE_BSP_H
#include "atomic.h"
#include "bsp_atomic.h"
#include "entry.h"
#include "sleep.h"
#include "encoding.h"

0
Ubiquitous/XiZi/board/aiit-riscv64-board/include/atomic.h → Ubiquitous/XiZi/board/aiit-riscv64-board/include/bsp_atomic.h

2
Ubiquitous/XiZi/board/aiit-riscv64-board/third_party_driver/uart/hardware_uart.c

@ -22,7 +22,7 @@
* @date 2021-04-25
*/
#include <atomic.h>
#include <bsp_atomic.h>
#include <hardware_uart.h>
#include <plic.h>
#include <stdint.h>

2
Ubiquitous/XiZi/board/k210-emulator/include/bsp.h

@ -24,7 +24,7 @@
#ifndef _KENDRYTE_BSP_H
#define _KENDRYTE_BSP_H
#include "atomic.h"
#include "bsp_atomic.h"
#include "entry.h"
#include "sleep.h"
#include "encoding.h"

0
Ubiquitous/XiZi/board/k210-emulator/include/atomic.h → Ubiquitous/XiZi/board/k210-emulator/include/bsp_atomic.h

2
Ubiquitous/XiZi/board/k210-emulator/third_party_driver/uart/hardware_uart.c

@ -28,7 +28,7 @@
#include "sysctl.h"
#include "hardware_uart.h"
#include "utils.h"
#include "atomic.h"
#include "bsp_atomic.h"
#define __UART_BRATE_CONST 16

11
Ubiquitous/XiZi/board/kd233/config.mk

@ -1,4 +1,4 @@
export CFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -O0 -ggdb -fgnu89-inline -Werror
export CFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -O0 -ggdb -fgnu89-inline #-Werror
# $(warning, "DEBUG, here add cflags.")
# export CFLAGS += -nostdlib -nostdinc -fno-builtin
export AFLAGS := -c -mcmodel=medany -march=rv64imafdc -mabi=lp64d -x assembler-with-cpp -ggdb
@ -6,6 +6,15 @@ export LFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -nostartfiles -Wl
export APPLFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -nostartfiles -Wl,--gc-sections,-Map=XiZi-app.map,-cref,-u, -T $(BSP_ROOT)/link_userspace.lds
ifeq ($(CONFIG_LIB_MUSLLIB), y)
export LFLAGS += -nostdlib -nostdinc -fno-builtin -nodefaultlibs
export LIBCC := -lgcc
export LINK_MUSLLIB := $(KERNEL_ROOT)/lib/musllib/libmusl.a
endif
ifeq ($(CONFIG_RESOURCES_LWIP), y)
export LINK_LWIP := $(KERNEL_ROOT)/resources/ethernet/LwIP/liblwip.a
endif
export CXXFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -O0 -ggdb -Werror

2
Ubiquitous/XiZi/board/kd233/include/bsp.h

@ -24,7 +24,7 @@
#ifndef _KENDRYTE_BSP_H
#define _KENDRYTE_BSP_H
#include "atomic.h"
#include "bsp_atomic.h"
#include "entry.h"
#include "sleep.h"
#include "encoding.h"

0
Ubiquitous/XiZi/board/kd233/include/atomic.h → Ubiquitous/XiZi/board/kd233/include/bsp_atomic.h

2
Ubiquitous/XiZi/board/kd233/third_party_driver/uart/hardware_uart.c

@ -28,7 +28,7 @@
#include "sysctl.h"
#include "hardware_uart.h"
#include "utils.h"
#include "atomic.h"
#include "bsp_atomic.h"
#define __UART_BRATE_CONST 16

2
Ubiquitous/XiZi/board/maix-go/include/bsp.h

@ -24,7 +24,7 @@
#ifndef _KENDRYTE_BSP_H
#define _KENDRYTE_BSP_H
#include "atomic.h"
#include "bsp_atomic.h"
#include "entry.h"
#include "sleep.h"
#include "encoding.h"

0
Ubiquitous/XiZi/board/maix-go/include/atomic.h → Ubiquitous/XiZi/board/maix-go/include/bsp_atomic.h

2
Ubiquitous/XiZi/board/maix-go/third_party_driver/uart/hardware_uart.c

@ -28,7 +28,7 @@
#include "sysctl.h"
#include "hardware_uart.h"
#include "utils.h"
#include "atomic.h"
#include "bsp_atomic.h"
#define __UART_BRATE_CONST 16

2
Ubiquitous/XiZi/board/xidatong-arm32/config.mk

@ -6,7 +6,7 @@ export AFLAGS := -c -mcpu=cortex-m7 -mthumb -ffunction-sections -fdata-sections
### if use USB function, use special lds file because USB uses ITCM
ifeq ($(CONFIG_LIB_MUSLLIB), y)
export LFLAGS += -nostdlib -nostdinc -fno-builtin -nodefaultlibs
export LFLAGS += -nostdlib -nostdinc # -fno-builtin -nodefaultlibs
export LIBCC := -lgcc
export LINK_MUSLLIB := $(KERNEL_ROOT)/lib/musllib/libmusl.a
endif

3
Ubiquitous/XiZi/board/xidatong-arm32/third_party_driver/ethernet/enet_ethernetif.c

@ -116,7 +116,7 @@ void ethernetif_gpio_init(void)
GPIO_WritePinOutput(GPIO1, 3, 1);
}
void ETH_BSP_Config(void)
int ETH_BSP_Config(void)
{
static int flag = 0;
if(flag == 0)
@ -125,6 +125,7 @@ void ETH_BSP_Config(void)
ethernetif_gpio_init();
flag = 1;
}
return 0;
}
void ethernetif_phy_init(struct ethernetif *ethernetif,

2
Ubiquitous/XiZi/board/xidatong-arm32/third_party_driver/include/enet_ethernetif.h

@ -181,7 +181,7 @@ err_t ethernetif1_init(struct netif *netif);
*/
void ethernetif_input( struct netif *netif);
void ETH_BSP_Config(void);
int ETH_BSP_Config(void);
int32 lwip_obtain_semaphore(struct netif *netif);

10
Ubiquitous/XiZi/board/xidatong-riscv64/config.mk

@ -2,6 +2,16 @@ export CFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -fno-common -ffun
export AFLAGS := -c -mcmodel=medany -march=rv64imafdc -mabi=lp64d -x assembler-with-cpp -ggdb
export LFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -nostartfiles -Wl,--gc-sections,-Map=XiZi-xidatong-riscv64.map,-cref,-u,_start -T $(BSP_ROOT)/link.lds
ifeq ($(CONFIG_LIB_MUSLLIB), y)
export LFLAGS += -nostdlib -nostdinc # -fno-builtin -nodefaultlibs
export LIBCC := -lgcc
export LINK_MUSLLIB := $(KERNEL_ROOT)/lib/musllib/libmusl.a
endif
ifeq ($(CONFIG_RESOURCES_LWIP), y)
export LINK_LWIP := $(KERNEL_ROOT)/resources/ethernet/LwIP/liblwip.a
endif
export APPLFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -nostartfiles -Wl,--gc-sections,-Map=XiZi-xidatong-riscv64.map,-cref,-u, -T $(BSP_ROOT)/link_userspace.lds
export CXXFLAGS := -mcmodel=medany -march=rv64imafdc -mabi=lp64d -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -O0 -ggdb -Werror

2
Ubiquitous/XiZi/board/xidatong-riscv64/include/bsp.h

@ -24,7 +24,7 @@
#ifndef _KENDRYTE_BSP_H
#define _KENDRYTE_BSP_H
#include "atomic.h"
#include "bsp_atomic.h"
#include "entry.h"
#include "sleep.h"
#include "encoding.h"

0
Ubiquitous/XiZi/board/xidatong-riscv64/include/atomic.h → Ubiquitous/XiZi/board/xidatong-riscv64/include/bsp_atomic.h

2
Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/uart/hardware_uart.c

@ -28,7 +28,7 @@
#include "sysctl.h"
#include "hardware_uart.h"
#include "utils.h"
#include "atomic.h"
#include "bsp_atomic.h"
#define __UART_BRATE_CONST 16

3
Ubiquitous/XiZi/fs/shared/src/iot-vfs.c

@ -14,6 +14,7 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <xizi.h>
#include <iot-vfs.h>
#include <iot-vfs_posix.h>
@ -592,7 +593,7 @@ int ioctl(int fd, int cmd, ...)
va_list ap;
va_start(ap, cmd);
ret = fdp->mntp->fs->ioctl(fdp, cmd, (void*)va_arg(ap, int));
ret = fdp->mntp->fs->ioctl(fdp, cmd, (void*)va_arg(ap, long));
va_end(ap);
if (ret < 0) {
SYS_ERR("%s: ioctl file failed\n", __func__);

2
Ubiquitous/XiZi/kernel/include/xs_ktask.h

@ -75,7 +75,7 @@ struct TaskDyncSchedMember {
void *isolation; ///< task isolation pointer
uint8 isolation_status;
#if defined(ARCH_ARM)
uint32_t svc_return;
uint32 svc_return;
#endif
#endif

2
Ubiquitous/XiZi/kernel/thread/assign.c

@ -270,7 +270,6 @@ static inline void SwitchToFirstRunningTask(struct TaskDescriptor* task)
Assign.ready_vector_done->remove(task);
KTaskStatSetAsRunning(task);
KPrintf("DEBUG: calling SwitchKtaskContextTo, task: %i.\n", task->id.id);
SwitchKtaskContextTo((x_ubase)&task->stack_point, task);
}
@ -373,7 +372,6 @@ void StartupOsAssign(void)
FirstRunningTask = ChooseTaskWithHighestPrio(&Assign.os_assign_read_vector);
SetSystemRunningTask(FirstRunningTask);
KPrintf("DEBUG: calling SwitchToFirstRunningTask.\n");
SwitchToFirstRunningTask(FirstRunningTask);
}

4
Ubiquitous/XiZi/kernel/thread/init.c

@ -155,7 +155,6 @@ void _InitSubCmpts(struct InitSequenceDesc sub_cmpts[])
#ifdef KERNEL_COMPONENTS_INIT
void EnvInitKTask(void *parameter)
{
KPrintf("DEBUG: RUNNING ENV TASK\n");
x_base lock = 0;
lock = DISABLE_INTERRUPT();
_InitSubCmpts(prev_cmpts_init);
@ -188,14 +187,12 @@ void CreateEnvInitTask(void)
env_init = KTaskCreate("env_init", EnvInitKTask, NONE,
ENV_INIT_KTASK_STACK_SIZE, KTASK_PRIORITY_MAX - 1);
KPrintf("DEBUG: Env KTaskCreate end. env_init: %i.\n", env_init);
if (env_init < 0) {
KPrintf("env_init create failed ...%s %d.\n",__FUNCTION__,__LINE__);
return;
}
StartupKTask(env_init);
KPrintf("DEBUG: Env StartupTask end.\n");
}
#endif /* KERNEL_COMPONENTS_INIT */
@ -253,7 +250,6 @@ extern int InitUserspace(void);
StartWatchdog();
#endif
KPrintf("DEBUG: calling StartipOsAssign.\n");
StartupOsAssign();
return 0;
}

2
Ubiquitous/XiZi/lib/musllib/include/bits/alltypes.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/alltypes.h

@ -1,5 +1,3 @@
/* The time64 has not been used yet in liteos_m */
#define _REDIR_TIME64 0
#define _Addr int
#define _Int64 long long

21
Ubiquitous/XiZi/lib/musllib/arch/arm/bits/alltypes.h.in

@ -1,21 +0,0 @@
#define _REDIR_TIME64 1
#define _Addr int
#define _Int64 long long
#define _Reg int
#if __ARMEB__
#define __BYTE_ORDER 4321
#else
#define __BYTE_ORDER 1234
#endif
#define __LONG_MAX 0x7fffffffL
#ifndef __cplusplus
TYPEDEF unsigned wchar_t;
#endif
TYPEDEF float float_t;
TYPEDEF double double_t;
TYPEDEF struct { long long __ll; long double __ld; } max_align_t;

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/dirent.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/dirent.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/errno.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/errno.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/io.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/io.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/ioctl.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/ioctl.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/ipc.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/ipc.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/kd.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/kd.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/limits.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/limits.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/link.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/link.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/mman.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/mman.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/poll.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/poll.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/resource.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/resource.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/socket.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/socket.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/soundcard.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/soundcard.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/statfs.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/statfs.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/syscall.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/syscall.h

409
Ubiquitous/XiZi/lib/musllib/arch/arm/bits/syscall.h.in

@ -1,409 +0,0 @@
#define __NR_restart_syscall 0
#define __NR_exit 1
#define __NR_fork 2
#define __NR_read 3
#define __NR_write 4
#define __NR_open 5
#define __NR_close 6
#define __NR_creat 8
#define __NR_link 9
#define __NR_unlink 10
#define __NR_execve 11
#define __NR_chdir 12
#define __NR_mknod 14
#define __NR_chmod 15
#define __NR_lchown 16
#define __NR_lseek 19
#define __NR_getpid 20
#define __NR_mount 21
#define __NR_setuid 23
#define __NR_getuid 24
#define __NR_ptrace 26
#define __NR_pause 29
#define __NR_access 33
#define __NR_nice 34
#define __NR_sync 36
#define __NR_kill 37
#define __NR_rename 38
#define __NR_mkdir 39
#define __NR_rmdir 40
#define __NR_dup 41
#define __NR_pipe 42
#define __NR_times 43
#define __NR_brk 45
#define __NR_setgid 46
#define __NR_getgid 47
#define __NR_geteuid 49
#define __NR_getegid 50
#define __NR_acct 51
#define __NR_umount2 52
#define __NR_ioctl 54
#define __NR_fcntl 55
#define __NR_setpgid 57
#define __NR_umask 60
#define __NR_chroot 61
#define __NR_ustat 62
#define __NR_dup2 63
#define __NR_getppid 64
#define __NR_getpgrp 65
#define __NR_setsid 66
#define __NR_sigaction 67
#define __NR_setreuid 70
#define __NR_setregid 71
#define __NR_sigsuspend 72
#define __NR_sigpending 73
#define __NR_sethostname 74
#define __NR_setrlimit 75
#define __NR_getrusage 77
#define __NR_gettimeofday_time32 78
#define __NR_settimeofday_time32 79
#define __NR_getgroups 80
#define __NR_setgroups 81
#define __NR_symlink 83
#define __NR_readlink 85
#define __NR_uselib 86
#define __NR_swapon 87
#define __NR_reboot 88
#define __NR_munmap 91
#define __NR_truncate 92
#define __NR_ftruncate 93
#define __NR_fchmod 94
#define __NR_fchown 95
#define __NR_getpriority 96
#define __NR_setpriority 97
#define __NR_statfs 99
#define __NR_fstatfs 100
#define __NR_syslog 103
#define __NR_setitimer 104
#define __NR_getitimer 105
#define __NR_stat 106
#define __NR_lstat 107
#define __NR_fstat 108
#define __NR_vhangup 111
#define __NR_wait4 114
#define __NR_swapoff 115
#define __NR_sysinfo 116
#define __NR_fsync 118
#define __NR_sigreturn 119
#define __NR_clone 120
#define __NR_setdomainname 121
#define __NR_uname 122
#define __NR_adjtimex 124
#define __NR_mprotect 125
#define __NR_sigprocmask 126
#define __NR_init_module 128
#define __NR_delete_module 129
#define __NR_quotactl 131
#define __NR_getpgid 132
#define __NR_fchdir 133
#define __NR_bdflush 134
#define __NR_sysfs 135
#define __NR_personality 136
#define __NR_setfsuid 138
#define __NR_setfsgid 139
#define __NR__llseek 140
#define __NR_getdents 141
#define __NR__newselect 142
#define __NR_flock 143
#define __NR_msync 144
#define __NR_readv 145
#define __NR_writev 146
#define __NR_getsid 147
#define __NR_fdatasync 148
#define __NR__sysctl 149
#define __NR_mlock 150
#define __NR_munlock 151
#define __NR_mlockall 152
#define __NR_munlockall 153
#define __NR_sched_setparam 154
#define __NR_sched_getparam 155
#define __NR_sched_setscheduler 156
#define __NR_sched_getscheduler 157
#define __NR_sched_yield 158
#define __NR_sched_get_priority_max 159
#define __NR_sched_get_priority_min 160
#define __NR_sched_rr_get_interval 161
#define __NR_nanosleep 162
#define __NR_mremap 163
#define __NR_setresuid 164
#define __NR_getresuid 165
#define __NR_poll 168
#define __NR_nfsservctl 169
#define __NR_setresgid 170
#define __NR_getresgid 171
#define __NR_prctl 172
#define __NR_rt_sigreturn 173
#define __NR_rt_sigaction 174
#define __NR_rt_sigprocmask 175
#define __NR_rt_sigpending 176
#define __NR_rt_sigtimedwait 177
#define __NR_rt_sigqueueinfo 178
#define __NR_rt_sigsuspend 179
#define __NR_pread64 180
#define __NR_pwrite64 181
#define __NR_chown 182
#define __NR_getcwd 183
#define __NR_capget 184
#define __NR_capset 185
#define __NR_sigaltstack 186
#define __NR_sendfile 187
#define __NR_vfork 190
#define __NR_ugetrlimit 191
#define __NR_mmap2 192
#define __NR_truncate64 193
#define __NR_ftruncate64 194
#define __NR_stat64 195
#define __NR_lstat64 196
#define __NR_fstat64 197
#define __NR_lchown32 198
#define __NR_getuid32 199
#define __NR_getgid32 200
#define __NR_geteuid32 201
#define __NR_getegid32 202
#define __NR_setreuid32 203
#define __NR_setregid32 204
#define __NR_getgroups32 205
#define __NR_setgroups32 206
#define __NR_fchown32 207
#define __NR_setresuid32 208
#define __NR_getresuid32 209
#define __NR_setresgid32 210
#define __NR_getresgid32 211
#define __NR_chown32 212
#define __NR_setuid32 213
#define __NR_setgid32 214
#define __NR_setfsuid32 215
#define __NR_setfsgid32 216
#define __NR_getdents64 217
#define __NR_pivot_root 218
#define __NR_mincore 219
#define __NR_madvise 220
#define __NR_fcntl64 221
#define __NR_gettid 224
#define __NR_readahead 225
#define __NR_setxattr 226
#define __NR_lsetxattr 227
#define __NR_fsetxattr 228
#define __NR_getxattr 229
#define __NR_lgetxattr 230
#define __NR_fgetxattr 231
#define __NR_listxattr 232
#define __NR_llistxattr 233
#define __NR_flistxattr 234
#define __NR_removexattr 235
#define __NR_lremovexattr 236
#define __NR_fremovexattr 237
#define __NR_tkill 238
#define __NR_sendfile64 239
#define __NR_futex 240
#define __NR_sched_setaffinity 241
#define __NR_sched_getaffinity 242
#define __NR_io_setup 243
#define __NR_io_destroy 244
#define __NR_io_getevents 245
#define __NR_io_submit 246
#define __NR_io_cancel 247
#define __NR_exit_group 248
#define __NR_lookup_dcookie 249
#define __NR_epoll_create 250
#define __NR_epoll_ctl 251
#define __NR_epoll_wait 252
#define __NR_remap_file_pages 253
#define __NR_set_tid_address 256
#define __NR_timer_create 257
#define __NR_timer_settime32 258
#define __NR_timer_gettime32 259
#define __NR_timer_getoverrun 260
#define __NR_timer_delete 261
#define __NR_clock_settime32 262
#define __NR_clock_gettime32 263
#define __NR_clock_getres_time32 264
#define __NR_clock_nanosleep_time32 265
#define __NR_statfs64 266
#define __NR_fstatfs64 267
#define __NR_tgkill 268
#define __NR_utimes 269
#define __NR_fadvise64_64 270
#define __NR_arm_fadvise64_64 270
#define __NR_pciconfig_iobase 271
#define __NR_pciconfig_read 272
#define __NR_pciconfig_write 273
#define __NR_mq_open 274
#define __NR_mq_unlink 275
#define __NR_mq_timedsend 276
#define __NR_mq_timedreceive 277
#define __NR_mq_notify 278
#define __NR_mq_getsetattr 279
#define __NR_waitid 280
#define __NR_socket 281
#define __NR_bind 282
#define __NR_connect 283
#define __NR_listen 284
#define __NR_accept 285
#define __NR_getsockname 286
#define __NR_getpeername 287
#define __NR_socketpair 288
#define __NR_send 289
#define __NR_sendto 290
#define __NR_recv 291
#define __NR_recvfrom 292
#define __NR_shutdown 293
#define __NR_setsockopt 294
#define __NR_getsockopt 295
#define __NR_sendmsg 296
#define __NR_recvmsg 297
#define __NR_semop 298
#define __NR_semget 299
#define __NR_semctl 300
#define __NR_msgsnd 301
#define __NR_msgrcv 302
#define __NR_msgget 303
#define __NR_msgctl 304
#define __NR_shmat 305
#define __NR_shmdt 306
#define __NR_shmget 307
#define __NR_shmctl 308
#define __NR_add_key 309
#define __NR_request_key 310
#define __NR_keyctl 311
#define __NR_semtimedop 312
#define __NR_vserver 313
#define __NR_ioprio_set 314
#define __NR_ioprio_get 315
#define __NR_inotify_init 316
#define __NR_inotify_add_watch 317
#define __NR_inotify_rm_watch 318
#define __NR_mbind 319
#define __NR_get_mempolicy 320
#define __NR_set_mempolicy 321
#define __NR_openat 322
#define __NR_mkdirat 323
#define __NR_mknodat 324
#define __NR_fchownat 325
#define __NR_futimesat 326
#define __NR_fstatat64 327
#define __NR_unlinkat 328
#define __NR_renameat 329
#define __NR_linkat 330
#define __NR_symlinkat 331
#define __NR_readlinkat 332
#define __NR_fchmodat 333
#define __NR_faccessat 334
#define __NR_pselect6 335
#define __NR_ppoll 336
#define __NR_unshare 337
#define __NR_set_robust_list 338
#define __NR_get_robust_list 339
#define __NR_splice 340
#define __NR_sync_file_range2 341
#define __NR_arm_sync_file_range 341
#define __NR_tee 342
#define __NR_vmsplice 343
#define __NR_move_pages 344
#define __NR_getcpu 345
#define __NR_epoll_pwait 346
#define __NR_kexec_load 347
#define __NR_utimensat 348
#define __NR_signalfd 349
#define __NR_timerfd_create 350
#define __NR_eventfd 351
#define __NR_fallocate 352
#define __NR_timerfd_settime32 353
#define __NR_timerfd_gettime32 354
#define __NR_signalfd4 355
#define __NR_eventfd2 356
#define __NR_epoll_create1 357
#define __NR_dup3 358
#define __NR_pipe2 359
#define __NR_inotify_init1 360
#define __NR_preadv 361
#define __NR_pwritev 362
#define __NR_rt_tgsigqueueinfo 363
#define __NR_perf_event_open 364
#define __NR_recvmmsg 365
#define __NR_accept4 366
#define __NR_fanotify_init 367
#define __NR_fanotify_mark 368
#define __NR_prlimit64 369
#define __NR_name_to_handle_at 370
#define __NR_open_by_handle_at 371
#define __NR_clock_adjtime 372
#define __NR_syncfs 373
#define __NR_sendmmsg 374
#define __NR_setns 375
#define __NR_process_vm_readv 376
#define __NR_process_vm_writev 377
#define __NR_kcmp 378
#define __NR_finit_module 379
#define __NR_sched_setattr 380
#define __NR_sched_getattr 381
#define __NR_renameat2 382
#define __NR_seccomp 383
#define __NR_getrandom 384
#define __NR_memfd_create 385
#define __NR_bpf 386
#define __NR_execveat 387
#define __NR_userfaultfd 388
#define __NR_membarrier 389
#define __NR_mlock2 390
#define __NR_copy_file_range 391
#define __NR_preadv2 392
#define __NR_pwritev2 393
#define __NR_pkey_mprotect 394
#define __NR_pkey_alloc 395
#define __NR_pkey_free 396
#define __NR_statx 397
#define __NR_rseq 398
#define __NR_io_pgetevents 399
#define __NR_migrate_pages 400
#define __NR_kexec_file_load 401
#define __NR_clock_gettime64 403
#define __NR_clock_settime64 404
#define __NR_clock_adjtime64 405
#define __NR_clock_getres_time64 406
#define __NR_clock_nanosleep_time64 407
#define __NR_timer_gettime64 408
#define __NR_timer_settime64 409
#define __NR_timerfd_gettime64 410
#define __NR_timerfd_settime64 411
#define __NR_utimensat_time64 412
#define __NR_pselect6_time64 413
#define __NR_ppoll_time64 414
#define __NR_io_pgetevents_time64 416
#define __NR_recvmmsg_time64 417
#define __NR_mq_timedsend_time64 418
#define __NR_mq_timedreceive_time64 419
#define __NR_semtimedop_time64 420
#define __NR_rt_sigtimedwait_time64 421
#define __NR_futex_time64 422
#define __NR_sched_rr_get_interval_time64 423
#define __NR_pidfd_send_signal 424
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
#define __NR_open_tree 428
#define __NR_move_mount 429
#define __NR_fsopen 430
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
#define __NR_pidfd_open 434
#define __NR_clone3 435
#define __NR_close_range 436
#define __NR_openat2 437
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
#define __NR_landlock_create_ruleset 444
#define __NR_landlock_add_rule 445
#define __NR_landlock_restrict_self 446
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
#define __ARM_NR_usr26 0x0f0003
#define __ARM_NR_usr32 0x0f0004
#define __ARM_NR_set_tls 0x0f0005
#define __ARM_NR_get_tls 0x0f0006

0
Ubiquitous/XiZi/lib/musllib/include/bits/syscall_arch.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/syscall_arch.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/termios.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/termios.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/vt.h → Ubiquitous/XiZi/lib/musllib/arch/arm/bits/vt.h

10
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/fenv.h

@ -1,10 +0,0 @@
#define FE_ALL_EXCEPT 0
#define FE_TONEAREST 0
typedef unsigned long fexcept_t;
typedef struct {
unsigned long __cw;
} fenv_t;
#define FE_DFL_ENV ((const fenv_t *) -1)

0
Ubiquitous/XiZi/lib/musllib/arch/generic/fp_arch.h

465
Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/alltypes.h

@ -0,0 +1,465 @@
#define _Addr long
#define _Int64 long
#define _Reg long
#define __BYTE_ORDER 1234
#define __LONG_MAX 0x7fffffffffffffffL
#ifndef __cplusplus
#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
typedef int wchar_t;
#define __DEFINED_wchar_t
#endif
#endif
#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
typedef int blksize_t;
#define __DEFINED_blksize_t
#endif
#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
typedef unsigned int nlink_t;
#define __DEFINED_nlink_t
#endif
#if defined(__NEED_float_t) && !defined(__DEFINED_float_t)
typedef float float_t;
#define __DEFINED_float_t
#endif
#if defined(__NEED_double_t) && !defined(__DEFINED_double_t)
typedef double double_t;
#define __DEFINED_double_t
#endif
#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t)
typedef struct { long long __ll; long double __ld; } max_align_t;
#define __DEFINED_max_align_t
#endif
#define __LITTLE_ENDIAN 1234
#define __BIG_ENDIAN 4321
#define __USE_TIME_BITS64 1
#if defined(__NEED_size_t) && !defined(__DEFINED_size_t)
typedef unsigned _Addr size_t;
#define __DEFINED_size_t
#endif
#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t)
typedef unsigned _Addr uintptr_t;
#define __DEFINED_uintptr_t
#endif
#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t)
typedef _Addr ptrdiff_t;
#define __DEFINED_ptrdiff_t
#endif
#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t)
typedef _Addr ssize_t;
#define __DEFINED_ssize_t
#endif
#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t)
typedef _Addr intptr_t;
#define __DEFINED_intptr_t
#endif
#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t)
typedef _Addr regoff_t;
#define __DEFINED_regoff_t
#endif
#if defined(__NEED_register_t) && !defined(__DEFINED_register_t)
typedef _Reg register_t;
#define __DEFINED_register_t
#endif
#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
typedef _Int64 time_t;
#define __DEFINED_time_t
#endif
#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
typedef _Int64 suseconds_t;
#define __DEFINED_suseconds_t
#endif
#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t)
typedef signed char int8_t;
#define __DEFINED_int8_t
#endif
#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t)
typedef signed short int16_t;
#define __DEFINED_int16_t
#endif
#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t)
typedef signed int int32_t;
#define __DEFINED_int32_t
#endif
#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t)
typedef signed _Int64 int64_t;
#define __DEFINED_int64_t
#endif
#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t)
typedef signed _Int64 intmax_t;
#define __DEFINED_intmax_t
#endif
#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t)
typedef unsigned char uint8_t;
#define __DEFINED_uint8_t
#endif
#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t)
typedef unsigned short uint16_t;
#define __DEFINED_uint16_t
#endif
#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t)
typedef unsigned int uint32_t;
#define __DEFINED_uint32_t
#endif
#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t)
typedef unsigned _Int64 uint64_t;
#define __DEFINED_uint64_t
#endif
#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t)
typedef unsigned _Int64 u_int64_t;
#define __DEFINED_u_int64_t
#endif
#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t)
typedef unsigned _Int64 uintmax_t;
#define __DEFINED_uintmax_t
#endif
#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t)
typedef unsigned mode_t;
#define __DEFINED_mode_t
#endif
#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t)
typedef unsigned _Reg nlink_t;
#define __DEFINED_nlink_t
#endif
#if defined(__NEED_off_t) && !defined(__DEFINED_off_t)
typedef _Int64 off_t;
#define __DEFINED_off_t
#endif
#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t)
typedef unsigned _Int64 ino_t;
#define __DEFINED_ino_t
#endif
#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t)
typedef unsigned _Int64 dev_t;
#define __DEFINED_dev_t
#endif
#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
typedef long blksize_t;
#define __DEFINED_blksize_t
#endif
#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t)
typedef _Int64 blkcnt_t;
#define __DEFINED_blkcnt_t
#endif
#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t)
typedef unsigned _Int64 fsblkcnt_t;
#define __DEFINED_fsblkcnt_t
#endif
#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t)
typedef unsigned _Int64 fsfilcnt_t;
#define __DEFINED_fsfilcnt_t
#endif
#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t)
typedef unsigned wint_t;
#define __DEFINED_wint_t
#endif
#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
typedef unsigned long wctype_t;
#define __DEFINED_wctype_t
#endif
#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t)
typedef void * timer_t;
#define __DEFINED_timer_t
#endif
#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t)
typedef int clockid_t;
#define __DEFINED_clockid_t
#endif
#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t)
typedef long clock_t;
#define __DEFINED_clock_t
#endif
#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval)
struct timeval { time_t tv_sec; suseconds_t tv_usec; };
#define __DEFINED_struct_timeval
#endif
#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec)
struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); };
#define __DEFINED_struct_timespec
#endif
#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t)
typedef int pid_t;
#define __DEFINED_pid_t
#endif
#if defined(__NEED_id_t) && !defined(__DEFINED_id_t)
typedef unsigned id_t;
#define __DEFINED_id_t
#endif
#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t)
typedef unsigned uid_t;
#define __DEFINED_uid_t
#endif
#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t)
typedef unsigned gid_t;
#define __DEFINED_gid_t
#endif
#if defined(__NEED_key_t) && !defined(__DEFINED_key_t)
typedef int key_t;
#define __DEFINED_key_t
#endif
#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t)
typedef unsigned useconds_t;
#define __DEFINED_useconds_t
#endif
#ifdef __cplusplus
#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
typedef unsigned long pthread_t;
#define __DEFINED_pthread_t
#endif
#else
#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t)
typedef struct __pthread * pthread_t;
#define __DEFINED_pthread_t
#endif
#endif
#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t)
typedef int pthread_once_t;
#define __DEFINED_pthread_once_t
#endif
#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t)
typedef unsigned pthread_key_t;
#define __DEFINED_pthread_key_t
#endif
#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t)
typedef int pthread_spinlock_t;
#define __DEFINED_pthread_spinlock_t
#endif
#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t)
typedef struct { unsigned type; } pthread_mutexattr_t;
#define __DEFINED_pthread_mutexattr_t
#endif
#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t)
typedef struct { int clock; } pthread_condattr_t;
#define __DEFINED_pthread_condattr_t
#endif
#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t)
typedef struct { unsigned __attr; } pthread_barrierattr_t;
#define __DEFINED_pthread_barrierattr_t
#endif
#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t)
typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t;
#define __DEFINED_pthread_rwlockattr_t
#endif
#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE)
struct _IO_FILE {
unsigned flags;
unsigned char *rpos, *rend;
int (*close)(struct _IO_FILE *);
unsigned char *wend, *wpos;
unsigned char *mustbezero_1;
unsigned char *wbase;
size_t (*read)(struct _IO_FILE *, unsigned char *, size_t);
size_t (*write)(struct _IO_FILE *, const unsigned char *, size_t);
off_t (*seek)(struct _IO_FILE *, off_t, int);
unsigned char *buf;
size_t buf_size;
struct _IO_FILE *prev, *next;
int fd;
int pipe_pid;
int mode;
void *lock;
int lbf;
void *cookie;
off_t off;
char *getln_buf;
void *mustbezero_2;
unsigned char *shend;
off_t shlim, shcnt;
struct __locale_struct *locale;
};
#define __DEFINED_struct__IO_FILE
#endif
#if defined(__NEED_FILE) && !defined(__DEFINED_FILE)
typedef struct _IO_FILE FILE;
#define __DEFINED_FILE
#endif
#if defined(__NEED_va_list) && !defined(__DEFINED_va_list)
typedef __builtin_va_list va_list;
#define __DEFINED_va_list
#endif
#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list)
typedef __builtin_va_list __isoc_va_list;
#define __DEFINED___isoc_va_list
#endif
#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t)
typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t;
#define __DEFINED_mbstate_t
#endif
#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t)
typedef struct __locale_struct * locale_t;
#define __DEFINED_locale_t
#endif
#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t)
typedef unsigned long sigset_t;
#define __DEFINED_sigset_t
#endif
#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec)
struct iovec { void *iov_base; size_t iov_len; };
#define __DEFINED_struct_iovec
#endif
#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t)
typedef unsigned socklen_t;
#define __DEFINED_socklen_t
#endif
#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t)
typedef unsigned short sa_family_t;
#define __DEFINED_sa_family_t
#endif
#if (defined(__NEED_sched_param) || defined(__NEED_pthread_attr_t)) && !defined(__DEFINED_sched_param)
struct sched_param {
int sched_priority;
int __reserved1;
#if _REDIR_TIME64
long __reserved2[4];
#else
struct {
time_t __reserved1;
long __reserved2;
} __reserved2[2];
#endif
int __reserved3;
};
#define __DEFINED_sched_param
#endif
#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t)
typedef struct {
unsigned int detachstate;
unsigned int schedpolicy;
struct sched_param schedparam;
unsigned int inheritsched;
unsigned int scope;
unsigned int stackaddr_set;
void *stackaddr;
unsigned int stacksize_set;
size_t stacksize;
} pthread_attr_t;
#define __DEFINED_pthread_attr_t
#endif
#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t)
typedef struct { unsigned int magic; unsigned int handle; pthread_mutexattr_t stAttr;} pthread_mutex_t;
#define __DEFINED_pthread_mutex_t
#endif
#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t)
typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t;
#define __DEFINED_mtx_t
#endif
#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t)
// #include "../kernel/include/xs_event.h"
#include "xs_event.h"
typedef struct pthread_cond {
volatile int count; /**< The number of tasks blocked by condition */
struct Event event; /**< Event object*/
pthread_mutex_t* mutex; /**< Mutex locker for condition variable protection */
volatile int value; /**< Condition variable state value*/
int clock;
} pthread_cond_t;
#define __DEFINED_pthread_cond_t
#endif
#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t)
typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t;
#define __DEFINED_cnd_t
#endif
#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t)
typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t;
#define __DEFINED_pthread_rwlock_t
#endif
#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t)
typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t;
#define __DEFINED_pthread_barrier_t
#endif
#undef _Addr
#undef _Int64
#undef _Reg

18
Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/alltypes.h.in

@ -1,18 +0,0 @@
#define _Addr long
#define _Int64 long
#define _Reg long
#define __BYTE_ORDER 1234
#define __LONG_MAX 0x7fffffffffffffffL
#ifndef __cplusplus
TYPEDEF int wchar_t;
#endif
TYPEDEF int blksize_t;
TYPEDEF unsigned int nlink_t;
TYPEDEF float float_t;
TYPEDEF double double_t;
TYPEDEF struct { long long __ll; long double __ld; } max_align_t;

0
Ubiquitous/XiZi/lib/musllib/include/bits/dirent.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/dirent.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/errno.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/errno.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/fcntl.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/fcntl.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/hwcap.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/hwcap.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/io.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/io.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/ioctl.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ioctl.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/ioctl_fix.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ioctl_fix.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/ipc.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ipc.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/ipcstat.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ipcstat.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/kd.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/kd.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/limits.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/limits.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/link.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/link.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/mman.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/mman.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/msg.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/msg.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/poll.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/poll.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/ptrace.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/ptrace.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/resource.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/resource.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/sem.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/sem.h

0
Ubiquitous/XiZi/lib/musllib/arch/generic/bits/shm.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/shm.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/socket.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/socket.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/soundcard.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/soundcard.h

0
Ubiquitous/XiZi/lib/musllib/include/bits/statfs.h → Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/statfs.h

304
Ubiquitous/XiZi/lib/musllib/arch/riscv64/bits/syscall.h.in

@ -1,304 +0,0 @@
#define __NR_io_setup 0
#define __NR_io_destroy 1