Commit graph

56585 commits

Author SHA1 Message Date
chao an
8ffe5bdc1e arm/efm32: fix build break caused by undeclared error
Old upstream from @acassis:
d97227eddd/nuttx/configs/efm32gg-pnbfano/include/board.h

chip/efm32_clockconfig.c:860:24: error: 'BOARD_SWOPORT_LOCATION' undeclared (first use in this function);
                                 did you mean 'BOARD_UART0_ROUTE_LOCATION'?
  860 |   regval |= ((uint32_t)BOARD_SWOPORT_LOCATION <<
      |                        ^~~~~~~~~~~~~~~~~~~~~~
      |                        BOARD_UART0_ROUTE_LOCATION
chip/efm32_clockconfig.c:860:24: note: each undeclared identifier is reported only once for each function it appears in
chip/efm32_clockconfig.c:866:20: error: 'BOARD_GPIO_SWOPORT' undeclared (first use in this function)
  866 |   efm32_configgpio(BOARD_GPIO_SWOPORT);
      |                    ^~~~~~~~~~~~~~~~~~

Signed-off-by: chao an <anchao@lixiang.com>
2024-11-19 20:50:33 +08:00
raiden00pl
79e220d43b boards/Kconfig: fix bad indent
fix bad indent in boards/Kconfig
2024-11-19 13:28:42 +01:00
raiden00pl
7e42ca2538 boards/stm32: split nucleo-f4x1re into separate boards
Split nucleo-f4x1re into nucleo-f401re and nucleo-f411re.
These are separate boards and should be in separate directories as it's
done for all other nucleo boards in NuttX
2024-11-19 13:28:42 +01:00
Lup Yuen Lee
4cfdaa0105 CI: Kill CI Test after 2 hours
CI Test will sometimes run for 6 hours (before getting auto-terminated by GitHub):
- https://github.com/apache/nuttx/issues/14808
- https://github.com/apache/nuttx/issues/14680

This is a problem because:
- It will increase our usage of GitHub Runners. Which may overrun the [GitHub Actions Budget](https://infra.apache.org/github-actions-policy.html) allocated by ASF.
- Suppose right after CI Test there's another build. If CI Test runs for all 6 hours, then the build after CI Test will never run.

For this PR: We assume that Every CI Job (e.g. risc-v-05) will complete normally within 2 hours. If any CI Job exceeds 2 hours: This PR will kill the CI Test Process `pytest` and allow the next build to run.
2024-11-19 17:17:43 +08:00
hujun5
9f835f63bd mm/iob: fix some comment in https://github.com/apache/nuttx/pull/14764
reason:
Since we decoupled counting and sem count,
we changed the meanings of three key global variables:

g_iob_count: A positive number indicates the available number
  of IOBs, while a negative number indicates the number of waiters in iob_alloc (when throttle == false).
g_throttle_wait: Represents the number of waiters in
  iob_alloc (when throttle == true), and it will not be negative.
g_qentry_wait: Represents the number of waiters for
  qentry, and it will not be negative.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-19 15:39:00 +08:00
SPRESENSE
f142d04b91 arch: cxd56xx: Fix compile error of cxd56_gnss.c
Fix error: 'g_rtc_enabled' undeclared (first use in this function).
2024-11-19 15:37:42 +08:00
Masayuki Ishikawa
1d6ece71b8 arch: arm: Fix cxd56xx for SMP
Summary:
- In https://github.com/apache/nuttx/pull/14465,
  atomic_compare_exchange_weak_explicit() was newly introduced
  in semaphore. However, cxd56xx has an issue with the API
  if SMP is enabled (see up_testset2 in cxd56_testset.c).
- This commit fixes the issue by using LIBC_ARCH_ATOMIC.

Impact:
- Only cxd56xx SoCs in SMP mode.

Testing:
- Tested with spresense:smp, spresense:wifi_smp
- NOTE: If DEBUG_ASSERTIONS is enabled assert would be happend.
  I think this might be another issue.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2024-11-19 15:17:28 +08:00
raiden00pl
af5252c8f9 boards/arm/stm32/nucleo-f4x1re/stm32_adc.c: remove dependency on AJOYSTICK
remove dependency on AJOYSTICK, ADC can be used without analog joystick,
so there is no reason to depends on it
2024-11-18 16:56:43 -03:00
raiden00pl
f04b7137c6 boards/arm/stm32/nucleo-f4x1re/src/stm32_adc.c: fix typo
fix typo, should include ADC file, not PWM file
2024-11-19 00:55:35 +08:00
YAMAMOTO Takashi
aa8aa444c2 drivers/syslog/syslog_channel.c: remove a duplicated comment 2024-11-18 19:10:24 +08:00
YAMAMOTO Takashi
ae5df0e06c esp32s3_serial.c: make a comment match the code 2024-11-18 19:10:24 +08:00
YAMAMOTO Takashi
fd6eccb00e arch/xtensa/src/esp32/esp32_serial.c: fix a comment 2024-11-18 19:10:24 +08:00
YAMAMOTO Takashi
9a2b6be842 Update a few comments after the recent readv/writev changes
No functional changes are expected.
2024-11-18 19:10:24 +08:00
buxiasen
f0185cf4db Revert "drivers/pm: pm_smp remove sched_lock"
Now we already support sched_lock for per cpu/tcb

This reverts commit 731af5b42f.
2024-11-18 19:10:14 +08:00
YAMAMOTO Takashi
ab3b128805 group_signal_handler: Remove a redundant check
We know tcb is not NULL here as we have a DIAGASSERT on it
immediately above.
2024-11-18 19:10:02 +08:00
xuxin19
6d629b3b36 cmake:bugfix kconfig menu in cmake cannot be generated recursively
the ${MENUCONFIG} file in the output directory is enough,
as invoking nuttx_generate_kconfig() will generate this
file in the output directory.
Since we are collecting these files recursively,
the nuttx_generate_kconfig() function of the parent directory
will be called after all the subdirectories' nuttx_generate_kconfig()
functions have been invoked.

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-11-18 17:01:43 +08:00
YAMAMOTO Takashi
637a0f5af2 SYSLOG_DEFAULT: avoid using critical section in certain cases
Note that SYSLOG_DEFAULT can be used in extreme situations,
including very early in the boot.
2024-11-18 13:52:53 +08:00
YAMAMOTO Takashi
b990b25b8e Reapply "SYSLOG_DEFAULT: wrap up_putc/up_nputs calls with critical section"
This reverts commit 35240d77fa.
2024-11-18 13:52:53 +08:00
chenchuang
0c2ee8b492 fix: remove duplicated statistics of upd.drop
The valule of g_netstats.udp.drop has been increased in net_dataevent() function,
while it is increased in udp_datahandler().
2024-11-18 12:37:57 +08:00
YAMAMOTO Takashi
7d73bc6861 esp32s3-devkit doc: Update the procedure after simple boot 2024-11-18 11:15:52 +08:00
ligd
a88652fe53 arm64: fix compile failed 'tpidr_el1' undeclared
time/lib_localtime.c: In function 'tz_lock':
time/lib_localtime.c:396:7: error: 'tpidr_el1' undeclared (first use in this function)
  396 |   if (up_interrupt_context() || (sched_idletask() && OSINIT_IDLELOOP()))
      |       ^~~~~~~~~~~~~~~~~~~~

Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-11-17 20:03:44 +08:00
ligd
dfa24a056e sched: add some DEBUGASSERT when nxsched_release_tcb()
Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-11-17 08:31:08 -03:00
haopengxiang
8c4e88fd4b add dir ignored since we changed libxx layout
Signed-off-by: haopengxiang <haopengxiang@xiaomi.com>
2024-11-17 08:31:08 -03:00
p-szafonimateusz
1b303c2888 drivers/reset/core.c: fix gcc14 error
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-11-17 08:31:08 -03:00
Xiang Xiao
2d1ca32295 .github/linters: Ignore E704 warning
since black and flake8 disagree on code style:
https://github.com/pyvista/pyvista/issues/5591

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-17 08:31:08 -03:00
Xiang Xiao
b41d96ea67 sim/win: Replace nuttx_mode_t with int
align with the posix implementation

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-17 08:31:08 -03:00
Xiang Xiao
50de39acd5 note/noteram_driver: Remove the unused variable j
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-17 08:31:08 -03:00
Xiang Xiao
72fbbbdbf3 sensors/bmi160_uorb.c: Fix the typo error
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-17 08:31:08 -03:00
Xiang Xiao
1b77fd1df6 sched/misc: Remove the dup inclusion of nuttx/irq.h in assert.c
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-17 08:31:08 -03:00
guoshichao
2d7b19b359 ghs: add thumb mode detection support for ghs compiler
Signed-off-by: guoshichao <guoshichao@xiaomi.com>
2024-11-17 15:43:18 +08:00
ska
f03da09122 Revert "sim/m64:Fix ld error with .rodata can not be used when making a PIE o…"
This reverts commit 4253001656.
2024-11-17 15:43:01 +08:00
Xiang Xiao
2c9d412d1c serial/pci: Remove the product specific config
since the driver could detect them automatically

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-17 08:40:26 +01:00
Xiang Xiao
d7209fabf4 pci: Remove igc produt config
to simplify the configuration since the driver could detect the device correctly

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-17 08:40:26 +01:00
yezhonghui
775ff286a4 pci e1000 net delete produce config
Signed-off-by: yezhonghui <yezhonghui@xiaomi.com>
2024-11-17 08:40:26 +01:00
Bowen Wang
eede50f465 pci_ivshmem: return back to polling mode when interrupt mode invalid
Improve the pci ivshmem device compatibility, do not return error when
irq mode init failed, fallback to the polling mode as mush as possible.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-11-17 08:40:26 +01:00
hujun5
707f0ce719 arm64: remove unused code
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-17 10:07:27 +08:00
Xiang Xiao
34cc7e8100 boards/arm/qemu/qemu-armv7a: Fix the typo error in dramboot.ld
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-16 17:42:09 +01:00
Xiang Xiao
4c2c41f9a6 boards/arm64: Remove the unused vdk/vdk-armv8r/scripts/dramboot.ld
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-16 17:42:09 +01:00
Xiang Xiao
87d57d283e Fix timers/arch_alarm.c:109:3: error: 'now' may be used uninitialized
and timers/arch_alarm.c:150:51: error: 'ticks' may be used uninitialized

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-16 17:41:15 +01:00
Xiang Xiao
f2693004b8 drivers/adc: Rename up_ads1255initialize to ads1255_initialize
since the common driver shouldn't have the prefix 'up_'

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-11-16 17:39:27 +01:00
hujun5
961767b2a4 mm/iob: remove csection
reason:
We decouple semcount from business logic
by using an independent counting variable,
which allows us to remove critical sections in many cases.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-16 12:37:14 -03:00
hujun5
2714f1b605 remove sched_lock in pthread_cond_broadcast
reason:
Since pthread_cond_broadcast is already protected by a mutex,
even if sem_post causes a context switch, it will not affect the count of wait_count.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-16 22:52:21 +08:00
raiden00pl
fa9bf63faf sched/misc/assert.c: don't compile dump_assert_info logic if CONFIG_DEBUG_ALERT=n
Don't compile dump_assert_info logic if CONFIG_DEBUG_ALERT=n

With _alert() disabled this logic does nothing, but the compiler
is not smart enough to optimize this code.

on minimal stm32f3 configuration it saves 220B of flash.
2024-11-16 22:51:54 +08:00
hujun5
88b4aebedc in smp_call handle we only change TCB_FLAG_CPU_LOCKED bit of tcb->flag
reason:
change unrelated changes to tcb->flag fields, may cause error

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-16 01:58:59 +08:00
chenrun1
f9647b4e2f lib_pathbuffer: change nxmutex -> spinlock
Summary:
_assert
|
 ->dump_fatal_info
   |
    ->dump_tasks
      |
       ->dump_filelist
         |
          ->files_dumplist
            |
             ->lib_get_pathbuffer
               |
                ->nxmutex_lock      <-- hold mutex on assert will trigger an nested exception

Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2024-11-16 01:55:45 +08:00
stbenn
caaee545b1 arch/stm32h5: Simplify PLL configuration.
The PLL clock configuration was simplified on the assumption the clocks are correctly set in the board.h file. Instead of seperate conditions
for register components, assume the relevant PLL registers are fully defined in board.h. This should result in easier to understand defines in board.h
and simpler code flow in the standard clock configuration function.

Changes were mad in the board file alongside changing the arch files. Changes to board/stm32h5:
  - PLL1 has been configured to use integer instead of fractional mode to reach the 250 MHz target. PLL2 and PLL3 configurations were
    removed since they are currently unused in the H5 configuration.
  - PLL1 output was verified by testing for changes in serial baud rate.
2024-11-16 01:55:32 +08:00
hujun5
dcc75048be Revert "system: pthread_barrierwait should be moved to kernel space"
reason:
new implementation does not requires the use of enter_critical_section,
so the source code needs to be moved to user space

This reverts commit d189a86a35.
2024-11-15 22:07:25 +08:00
chao an
238cddde3a drivers/syslog: remove implement of syslog_putc()
syslog_putc() have a lot of duplicate logic with syslog_write().
remove syslog_putc() and reuse syslog_write() to simplify syslog printing.

Signed-off-by: chao an <anchao@lixiang.com>
2024-11-15 19:46:36 +08:00
hujun5
19b4911d7f arch: remove up_current_regs in common code
reason:

When entering an exception or interrupt, there are two sets of registers:
one is the "running regs", which we need to save,
and the other is the "ready to running regs", which we may soon use.
For consistency in logic, we can always store the "running regs" in the regs field of g_running_tasks,
otherwise it may lead to errors in the storage location of the "running regs."

When we need to access the "running regs," we should uniformly retrieve them from the regs field of g_running_tasks.

As the next step, we will rename the set_current_regs/up_current_regs functions
for each architecture to more appropriate names, solely for the purpose of identifying interrupts.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-15 18:25:35 +08:00
hujun5
5300d77398 fix some arch miss update g_running_tasks
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-11-15 18:25:35 +08:00