Commit Graph

6567 Commits

Author SHA1 Message Date
dongjiuzhu1 74c9b6f544 drivers/rpmsgdev: support get more battery info by rpmsgdev
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-10-14 18:08:14 -03:00
wanggang26 9ee4566b4d mmcsd:add reset card to idle state (CMD0) support
Signed-off-by: wanggang26 <wanggang26@xiaomi.com>
2024-10-15 03:15:24 +08:00
chenrun1 b613863bad fs:replase all asprintf / strdup in fs with fs_heap_xxx
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2024-10-15 01:16:48 +08:00
wanggang26 243148241a mmcsd:add STATUS_SEND (CMD13) support
Signed-off-by: wanggang26 <wanggang26@xiaomi.com>
2024-10-15 01:09:16 +08:00
xuxingliang cef56fbdb6 drivers/segger: inline note_sysview_get_timestamp
Avoid another layer of function call to get time.

Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-10-14 17:03:57 +02:00
xuxingliang d655569a7c cmake: add newly added sources to cmake
These newly added files are missing from cmake.

Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-10-14 17:19:45 +08:00
wangjianyu3 223088d847 misc/rpmsgdev: The private data should be freed only when endpoint is released
A use-after-free problem occurs when there are multiple remotes in the list `g_rpmsg` and the matching remote is not the last item in the list.

Log
  # Export the device "/dev/LOCAL_DEV" to remote "REMOTE_CPU"
  ap> testdev -d 2 -c "REMOTE_CPU" -l "/dev/LOCAL_DEV"
  [ap] kasan_report: kasan detected a read access error, address at 0x3c3d4740,size is 4, return address: 0x2c33620f
  [ap] kasan_show_memory: Shadow bytes around the buggy address:
  [ap] kasan_show_memory:   0x3c3d46f0: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4700: aa aa aa aa cc cc cc cc cc cc cc cc cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4710: 40 47 3d 3c ed 61 33 2c 00 00 00 00 00 00 00 00
  [ap] kasan_show_memory:   0x3c3d4720: 00 00 00 00 00 00 00 00 00 00 00 00 cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4730: 55 55 55 55 38 00 00 00 02 2c 00 00 cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4740:[00 00 00 00]66 e0 42 3c cc cc cc cc cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4750: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4760: aa aa aa aa 38 00 00 00 01 2c 00 00 cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4770: 50 57 44 3d 2f 00 cc cc cc cc cc cc cc cc cc cc
  [ap] kasan_show_memory:   0x3c3d4780: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
  [ap] dump_assert_info: Current Version: NuttX ****** ***** *** 12.3.0 **********-***** *** ** 2024 **:**:** arm
  [ap] dump_assert_info: Assertion failed panic: at file: kasan/hook.c:187 task: testdev process: testdev 0x2ca20495

  $ addr2line -fe nuttx/nuttx 0x2c33620f
  rpmsgdev_server_created
  /workspace/nuttx/drivers/misc/rpmsgdev_server.c:529
  # Line 529 => strcmp()

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2024-10-13 14:42:30 +08:00
zhangwenjian 8b0e5ee8bd drivers/note:add the poll function for noteram
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-13 14:05:50 +08:00
zhangwenjian 7a3c50b3db noteram:support binary read mode
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-13 14:05:50 +08:00
likun17 1fde78ddc6 noteram_driver.c:noteram_dump_printf function replaced with lib_bsprintf.
open CONFIG_DRIVERS_NOTE_STRIP_FORMAT:
OUT:

NuttShell (NSH) NuttX-12.3.0
nsh> hello
nsh> trace dump
loop_task-1   [0]   0.001728177: sched_wakeup_new: comm=loop_task pid=1 target_cpu=0
Idle_Task-0   [0]   0.001745633: sched_wakeup_new: comm=Idle_Task pid=0 target_cpu=0
  hpwork-2   [0]   0.001791495: sched_wakeup_new: comm=hpwork pid=2 target_cpu=0
nsh_main-3   [0]   0.001814164: sched_wakeup_new: comm=nsh_main pid=3 target_cpu=0
   hello-4   [0]   2.583795447: sched_wakeup_new: comm=hello pid=4 target_cpu=0
   hello-4   [0]   2.583843399: tracing_mark_write:
 ###### start long args test!!!
   hello-4   [0]   2.583844088: tracing_mark_write: 0x48ebe0 97 19299 22155 4294967217 4294957304 4294945141 92.999900 9299.929993 92999299929992 18446743074409621624 61 254 429495799   hello-4   [0]   2.583845991: tracing_mark_write: 0x48ec20 qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvb>�/�L�p�J   hello-4   [0]   2.583847105: tracing_mark_write:
 ###### start long args test!!!
   trace-5   [0]   2.928625413: sched_wakeup_new: comm=trace pid=5 target_cpu=0
nsh>

close CONFIG_DRIVERS_NOTE_STRIP_FORMAT:

NuttShell (NSH) NuttX-12.3.0
nsh> hello
nsh> trace dump
loop_task-1   [0]   0.001607506: sched_wakeup_new: comm=loop_task pid=1 target_cpu=0
Idle_Task-0   [0]   0.001624549: sched_wakeup_new: comm=Idle_Task pid=0 target_cpu=0
  hpwork-2   [0]   0.001666256: sched_wakeup_new: comm=hpwork pid=2 target_cpu=0
nsh_main-3   [0]   0.001688556: sched_wakeup_new: comm=nsh_main pid=3 target_cpu=0
   hello-4   [0]   3.812630763: sched_wakeup_new: comm=hello pid=4 target_cpu=0
   hello-4   [0]   0.370899272: tracing_mark_write:
 ###### start NOTE_STRIP_FORMAT test!!!
   hello-4   [0]   0.370900260: tracing_mark_write:            uint8_t[97]:[97]
   hello-4   [0]   0.370900735: tracing_mark_write:           uint16_t[19299]:[19299]
   hello-4   [0]   0.370901155: tracing_mark_write:           uint32_t[22155]:[22155]
   hello-4   [0]   0.370901715: tracing_mark_write:              float[92.9999]:[92.999900]
   hello-4   [0]   0.370902196: tracing_mark_write:             double[9299.929992999299]:[9299.929993]
   hello-4   [0]   0.370902978: tracing_mark_write:             char[][qweretyuiopasdfghjklzxcvbnm]:[qweretyuiopasdfghjklzxcvbnm]
   hello-4   [0]   0.370904061: tracing_mark_write:           uint64_t[92999299929992]:[92999299929992]
   hello-4   [0]   0.370904554: tracing_mark_write:      unsigned char[254]:[254]
   hello-4   [0]   0.370904999: tracing_mark_write: unsigned short int[9299]:[9299]
   hello-4   [0]   0.370905435: tracing_mark_write:       unsigned int[9299992]:[9299992]
   hello-4   [0]   0.370905876: tracing_mark_write:      unsigned long[929992992]:[929992992]
   hello-4   [0]   0.370906402: tracing_mark_write: unsigned long long[9299929924]:[9299929924]
   hello-4   [0]   0.370906822: tracing_mark_write:
 ###### end test!!!
   hello-4   [0]   0.370908999: tracing_mark_write:
 ###### start long args test!!!
   hello-4   [0]   0.370909770: tracing_mark_write: 97 19299 22155 97 19299 22155 92.999900 9299.929993 92999299929992 92999299929992 254 254 9299 9299
   hello-4   [0]   0.370927340: tracing_mark_write: qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweretyuiopasdfghjklzxcvbnm qweret>��+�c�   hello-4   [0]   0.370928037: tracing_mark_write:
 ###### start long args test!!!
   trace-5   [0]   4.173395106: sched_wakeup_new: comm=trace pid=5 target_cpu=0
nsh>

test SRC:

\#include <nuttx/config.h>
\#include <nuttx/streams.h>
\#include <stdio.h>
\#include <syslog.h>
\#define TOSTR(str)   #str
\#define TONNAME(name) TOSTR(name)

\#define v_uint8_t    97
\#define v_uint16_t   19299
\#define v_uint32_t   22155
\#define v_int8_t     -79
\#define v_int16_t    -9992
\#define v_int32_t    -22155
\#define v_float      92.9999
\#define v_double     9299.929992999299
\#define v_char_arr   qweretyuiopasdfghjklzxcvbnm
\#define v_uint64_t   92999299929992
\#define v_int64_t    -999299929992
\#define v_char       61
\#define v_u_char     254
\#define v_s_int      -9299
\#define v_u_s_int    9299
\#define v_int        -9299991
\#define v_u_int      9299992
\#define v_long       -929992991
\#define v_u_long     929992992
\#define v_l_l        -929992993
\#define v_u_l_l      9299929924
\#define v_size_t     29299
\#define v_l_double   -9299.9299929912122464755474

int main(int argc, FAR char *argv[])
{
\#ifdef CONFIG_DRIVERS_NOTE_STRIP_FORMAT
  sched_note_printf(0, "\n ###### start long args test!!! \n");
  sched_note_printf(0, "%u %u %u %d %d %d %f %f %lu %ld %d %u %d %u",
                    v_uint8_t, v_uint16_t, v_uint32_t, v_int8_t, v_int16_t,
                    v_int32_t, v_float, v_double, v_uint64_t, v_int64_t,
                    v_char, v_u_char, v_s_int, v_u_s_int);

  sched_note_printf(0, "%s %s %s %s %s %s %s %s %s %s %s %s %s %s",
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr));
  sched_note_printf(0, "\n ###### start long args test!!! \n");

\#else

  sched_note_printf(0, "\n ###### start NOTE_STRIP_FORMAT test!!! \n");
  sched_note_printf(0, "           uint8_t["TONNAME(v_uint8_t)"]:[%u]", v_uint8_t);
  sched_note_printf(0, "          uint16_t["TONNAME(v_uint16_t)"]:[%u]", v_uint16_t);
  sched_note_printf(0, "          uint32_t["TONNAME(v_uint32_t)"]:[%u]", v_uint32_t);
  sched_note_printf(0, "             float["TONNAME(v_float)"]:[%f]", v_float);
  sched_note_printf(0, "            double["TONNAME(v_double)"]:[%f]", v_double);
  sched_note_printf(0, "            char[]["TONNAME(v_char_arr)"]:[%.32s]", TONNAME(v_char_arr));
  sched_note_printf(0, "          uint64_t["TONNAME(v_uint64_t)"]:[%lu]", v_uint64_t);
  sched_note_printf(0, "     unsigned char["TONNAME(v_u_char)"]:[%u]", v_u_char);
  sched_note_printf(0, "unsigned short int["TONNAME(v_u_s_int)"]:[%u]", v_u_s_int);
  sched_note_printf(0, "      unsigned int["TONNAME(v_u_int)"]:[%u]", v_u_int);
  sched_note_printf(0, "     unsigned long["TONNAME(v_u_long)"]:[%lu]", (unsigned long)v_u_long);
  sched_note_printf(0, "unsigned long long["TONNAME(v_u_l_l)"]:[%llu]", (unsigned long long)v_u_l_l);
  sched_note_printf(0, "\n ###### end test!!! \n");

  sched_note_printf(0, "\n ###### start long args test!!! \n");
  sched_note_printf(0, "%u %u %u %d %d %d %f %f %lu %ld %d %u %d %u",
                    v_uint8_t, v_uint16_t, v_uint32_t, v_uint8_t, v_uint16_t,
                    v_uint32_t, v_float, v_double, v_uint64_t, v_uint64_t,
                    v_u_char, v_u_char, v_u_s_int, v_u_s_int);

  sched_note_printf(0, "%s %s %s %s %s %s %s %s %s %s %s %s %s %s",
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr),
                    TONNAME(v_char_arr), TONNAME(v_char_arr));
  sched_note_printf(0, "\n ###### start long args test!!! \n");
\#endif // !CONFIG_DRIVERS_NOTE_STRIP_FORMAT
  return 0;
}

drivers/note/noteram_driver.c

Signed-off-by: likun17 <likun17@xiaomi.com>
2024-10-13 14:05:50 +08:00
wangmingrong 1b3f3d19e9 noteram: fix variable type
Signed-off-by: wangmingrong <wangmingrong@xiaomi.com>
2024-10-13 14:05:50 +08:00
yinshengkai cf0e644a88 note: supports specifying the section where the noteram buffer is located
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-13 14:05:50 +08:00
cuiziwei 4b318cb2cb fix build warning to [-Wstringop-overread].
note/note_driver.c:639:21: warning: 'strlen' reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
  639 |           namelen = strlen(tcb->name);
      |                     ^~~~~~~~~~~~~~~~~

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-10-13 14:05:50 +08:00
cuiziwei 04f3ff5942 nuttx/note:fix runtime error.
note/note_driver.c:1405:11: runtime error: null pointer passed as argument 2, which is declared to never be null
    #0 0x33bf5cc in sched_note_event_ip note/note_driver.c:1405
    #1 0x33bfb57 in note_driver_instrument_enter note/note_initialize.c:55
    #2 0x347b084 in __cyg_profile_func_enter misc/lib_instrument.c:68
    #3 0x34179de in binder_initialize binder/binder.c:669
    #4 0x339a936 in drivers_initialize /home/cuiziwei/vela/happy/nuttx/drivers/drivers_initialize.c:242
    #5 0x335a179 in nx_start init/nx_start.c:632
    #6 0x32f755c in main sim/sim_head.c:180
    #7 0xf6821518  (/lib/i386-linux-gnu/libc.so.6+0x21518) (BuildId: 7f64b917aaa97b9680d8e44931bf7611c5a1f036)
    #8 0xf68215f2 in __libc_start_main (/lib/i386-linux-gnu/libc.so.6+0x215f2) (BuildId: 7f64b917aaa97b9680d8e44931bf7611c5a1f036)
    #9 0x32b401a in _start (/home/cuiziwei/vela/happy/nuttx/nuttx+0x32b401a) (BuildId: 33f8f7b361d44a008de87fea1bc970b22b48b700)

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-10-13 14:05:50 +08:00
zhangwenjian d469216653 note:fix syscall note compile error
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-13 14:05:50 +08:00
zhangwenjian 149b1f186e drivers/note:add the api of sched_note_add
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-13 14:05:50 +08:00
zhangwenjian 7aa1871664 note:support filter for each note channel
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-13 14:05:50 +08:00
yinshengkai c018be66bd note: merge nc_systime_nsec and sec
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-13 14:05:50 +08:00
zhaoxingyu1 0be1196046 note_driver: time_t outputs in 64-bit format
Signed-off-by: zhaoxingyu1 <zhaoxingyu1@xiaomi.com>
2024-10-13 14:05:50 +08:00
cuiziwei 19851c0979 note: Move the instrument register to note_initialize
avoid the instrument doesn't get registered in some case

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-13 14:05:50 +08:00
Xiang Xiao 08829bd388 mtd/nvs: Trigger recovery process in nvs_startup
when mtd driver return -EBADMSG

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-10-13 03:10:19 +08:00
Xiang Xiao 7b2dbcf50a drivers/optee: Return error if optee_recv return prematurely
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-10-13 02:48:29 +08:00
Bowen Wang 143466baed drivers/pci: fix pci framework warning in 32bit chip
In file included from pci/pci.c:30:
pci/pci.c: In function 'pci_setup_device':
pci/pci.c:449:66: warning: right shift count >= width of type [-Wshift-count-overflow]
  449 |           pci_write_config_dword(dev, base_address_1, res->start >> 32);
      |                                                                  ^~
pci/pci.c: In function 'pci_presetup_bridge':
pci/pci.c:541:51: warning: right shift count >= width of type [-Wshift-count-overflow]
  541 |                              ctrl->mem_pref.start >> 32);
      |                                                   ^~
pci/pci.c: In function 'pci_postsetup_bridge':
pci/pci.c:604:57: warning: right shift count >= width of type [-Wshift-count-overflow]
  604 |                              (ctrl->mem_pref.start - 1) >> 32);
      |                                                         ^~
CC:  pthread/pthread_release.c pci/pci_ecam.c:71:12: warning: initialization of 'int (*)(struct pci_bus_s *, unsigned int,  int,  int,  uint32_t *)' {aka 'int (*)(struct pci_bus_s *, unsigned int,  int,  int,  long unsigned int *)'} from incompatible pointer type 'int (*)(struct pci_bus_s *, uint32_t,  int,  int,  uint32_t *)' {aka 'int (*)(struct pci_bus_s *, long unsigned int,  int,  int,  long unsigned int *)'} [-Wincompatible-pointer-types]
   71 |   .read  = pci_ecam_read_config,
      |            ^~~~~~~~~~~~~~~~~~~~
pci/pci_ecam.c:71:12: note: (near initialization for 'g_pci_ecam_ops.read')
pci/pci_ecam.c:72:12: warning: initialization of 'int (*)(struct pci_bus_s *, unsigned int,  int,  int,  uint32_t)' {aka 'int (*)(struct pci_bus_s *, unsigned int,  int,  int,  long unsigned int)'} from incompatible pointer type 'int (*)(struct pci_bus_s *, uint32_t,  int,  int,  uint32_t)' {aka 'int (*)(struct pci_bus_s *, long unsigned int,  int,  int,  long unsigned int)'} [-Wincompatible-pointer-types]
   72 |   .write = pci_ecam_write_config,

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-13 02:28:32 +08:00
xuxin19 4667163152 cmake:add driver thermal CMake scripts
Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-10-13 02:25:06 +08:00
Xiang Xiao a5aea61537 driver: Post sempahore only when it's value is smaller than one
to avoid waking up the waiting thread redundantly.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-10-13 02:12:01 +08:00
fangpeina 3f1fd42f73 drivers/input: fix complie err about undefined
There will be compilation errors about undefined reference to `enter_critical_section'.
Fixed by include irq.h

Signed-off-by: fangpeina <fangpeina@xiaomi.com>
2024-10-13 02:03:40 +08:00
wangyongrong ad2e6fb2ba pci_ivshmem.c: ivshmem_support_irq API support
ivshmem based driver can use this api to judge weather current
ivshmem device support irq or not, and use polling mode or irq
mode to process the event.

Signed-off-by: wangyongrong <wangyongrong@xiaomi.com>
2024-10-12 12:13:23 +08:00
Bowen Wang 99b6c77c79 drivers/rptun: minor fix about rptun
1. follow the nxstyle, change formot of rptun_init();
2. remove used wqueue header file;

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-12 12:12:00 +08:00
xuxingliang 62f0126b06 drivers/segger: add note vprint support
Print note log to sysview terminal.

See https://www.segger.com/products/development-tools/systemview/#logging-output

Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-10-12 09:58:00 +08:00
buxiasen c4f82c1f66 drivers/timer: fix goldfish timer did not included in cmake
Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2024-10-12 09:31:15 +08:00
buxiasen 9ea38368ad goldfish_timer: fix interrupt not cleared
will cause a loop interrupt handler, in some new version qemu

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
2024-10-12 09:31:15 +08:00
ligd 3479622fec serial: use nxsig_tgkill instead of nxsig_kill
Caused nxsig_tgkill is for the one thread, nxsig_kill for the group

Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-10-12 09:30:37 +08:00
Bowen Wang 313d6df787 include/nuttx.h: replace all the align macros to nuttx version
1. add IS_ALIGNED()  definitions for NuttX;
2. replace all the ALIGN_UP() and ALIGN_DOWN() to use common
   align implementation;

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-11 16:55:43 +08:00
Yongrong Wang 976c4173f0 rpmsg_ping.c: fix msg data memset length
The range of memset exceeds the size of the buffer

Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
2024-10-11 14:59:26 +08:00
Yongrong Wang 4b77dd03db rpmsg_ping.c: change msg cmd type for more compatible
Use bit mask method to represent the command, because it's more
convenient to express multiple characteristics simultaneously.

Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
2024-10-11 14:59:26 +08:00
Yongrong Wang 1cf97ac4d0 rpmsg_ping.c: improve log level to LOG_EMERG
Usually rpmsg ping logs are needed during testing,
but too many other module logs can easily overwrite it,
so improve the rpmsg ping log level, later we can setlogmask to
a higher log level to mask other modules' logs.

Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
2024-10-11 14:59:26 +08:00
Yongrong Wang b96ad59d69 rpmsg_ping.c: change check data to fluctuation value
We can found the error happend packet more accurately based
on the data value.

Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
2024-10-11 14:59:26 +08:00
yinshengkai c83858bbb6 note: fix note_common unaligned access
Data in ARMV8-M may be aligned with less than 4 bytes, resulting in USAGE FAULT

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-11 11:55:17 +08:00
yinshengkai 464d284587 drivers/note: simplify notesnap_dump logic
RTOSXMDPYX-969

Crash at startup, index is 0 will cause loop printing

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-11 11:55:17 +08:00
yinshengkai a70175ea06 note: make sched_note_start depend on INSTRUMENTATION_SWITCH
In some cases, we only need to use INSTRUMENTATION_DUMP to record custom data,
and we don't want the thread start and end information

Move this part to INSTRUMENTATION_SWTICH for recording

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-11 11:55:17 +08:00
yinshengkai 453cde945f note: add note stream drivers
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-11 11:55:17 +08:00
yinshengkai 43d96a5d9e note: Increase crash dump buffer
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-11 11:55:17 +08:00
zhangwenjian aec44de921 ICANON mode need echo every bytes
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-11 03:11:26 +08:00
zhangwenjian 7532a0e833 serial:need check old config before setting tty
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-11 03:11:26 +08:00
zhangwenjian df5c876932 libc:getline support backspace
Signed-off-by: zhangwenjian <zhangwenjian@xiaomi.com>
2024-10-11 03:11:26 +08:00
yinshengkai ec691cc5e4 tools: prasetrace.py supports parsing syslog
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-11 01:30:11 +08:00
yinshengkai 211a56910a syslog: support syslog redirection to sched_note
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-11 01:30:11 +08:00
ligd e608d5522d syslogmask: add default value Kconfig to syslogmask
Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-10-11 01:30:11 +08:00
yinshengkai 02eb280302 arch/perf: modify the return value of up_perf_gettime to clock_t
When using alarm_arch implementation, 64-bit time can be returned. Using unsign long will cause precision loss.

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-10-10 23:17:14 +08:00
yintao 37a30023f5 nuttx/drivers: add ept_release_cb for destroy server resource
use ept_release_cb to destory rpmsg services server dile resource
to avoid the used-after-free issue

Signed-off-by: yintao <yintao@xiaomi.com>
2024-10-10 08:44:29 +08:00