(nuttx) 03/03: mpfs/mpfs_plic: Add procedure to initialize per hart PLIC state
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git commit cf9530593445245deb6126597923be1bc86b6738 Author: Ville Juven AuthorDate: Fri Oct 18 11:24:15 2024 +0300 mpfs/mpfs_plic: Add procedure to initialize per hart PLIC state MPFS implements external interrupt control on a per-hart basis i.e. there are PLIC control registers for each hart separately. This means we need a procedure to initialize such registers for each hart individually, instead of only for the boot hart like it is now. Fix this by implementing mpfs_plic_init_hart which can be called by each hart as needed. Note: it is not a good idea to initialize all harts from the boot hart, as the boot hart may not know which harts are used by NuttX in AMP configuration. It is better that the hart initializes itself. Note: The hartid must be provided as explicit parameter, as it cannot be queried via riscv_mhartid() yet; the per-cpu structure is initialized later on which means riscv_mhartid() would return 0 for all harts except the boot hart. --- arch/risc-v/src/mpfs/mpfs_irq.c | 35 + arch/risc-v/src/mpfs/mpfs_plic.c | 147 -- arch/risc-v/src/mpfs/mpfs_plic.h | 16 + arch/risc-v/src/mpfs/mpfs_start.c | 10 +++ 4 files changed, 153 insertions(+), 55 deletions(-) diff --git a/arch/risc-v/src/mpfs/mpfs_irq.c b/arch/risc-v/src/mpfs/mpfs_irq.c index ff5cec7f3f..b0b3e1bb4c 100644 --- a/arch/risc-v/src/mpfs/mpfs_irq.c +++ b/arch/risc-v/src/mpfs/mpfs_irq.c @@ -52,28 +52,9 @@ void up_irqinitialize(void) up_irq_save(); - /* Complete possibly claimed IRQs in PLIC (for current hart) in case - * of warm reboot, e.g. after a crash in the middle of IRQ handler. - * This has no effect on non-claimed or disabled interrupts. - */ + /* Initialize PLIC for current hart */ - uintptr_t claim_address = mpfs_plic_get_claimbase(); - - for (int irq = MPFS_IRQ_EXT_START; irq < NR_IRQS; irq++) -{ - putreg32(irq - MPFS_IRQ_EXT_START, claim_address); -} - - /* Disable all global interrupts for current hart */ - - uintptr_t iebase = mpfs_plic_get_iebase(); - - putreg32(0x0, iebase + 0); - putreg32(0x0, iebase + 4); - putreg32(0x0, iebase + 8); - putreg32(0x0, iebase + 12); - putreg32(0x0, iebase + 16); - putreg32(0x0, iebase + 20); + mpfs_plic_init_hart(riscv_mhartid()); /* Colorize the interrupt stack for debug purposes */ @@ -82,18 +63,6 @@ void up_irqinitialize(void) riscv_stack_color(g_intstackalloc, intstack_size); #endif - /* Set priority for all global interrupts to 1 (lowest) */ - - for (int id = 1; id <= NR_IRQS; id++) -{ - putreg32(1, (uintptr_t)(MPFS_PLIC_PRIORITY + (4 * id))); -} - - /* Set irq threshold to 0 (permits all global interrupts) */ - - uintptr_t threshold_address = mpfs_plic_get_thresholdbase(); - putreg32(0, threshold_address); - /* Attach the common interrupt handler */ riscv_exception_attach(); diff --git a/arch/risc-v/src/mpfs/mpfs_plic.c b/arch/risc-v/src/mpfs/mpfs_plic.c index 3de194c2e1..8bd555d8e6 100644 --- a/arch/risc-v/src/mpfs/mpfs_plic.c +++ b/arch/risc-v/src/mpfs/mpfs_plic.c @@ -52,84 +52,90 @@ #endif / - * Public Functions + * Private Functions / / - * Name: mpfs_plic_get_iebase + * Name: get_iebase * * Description: - * Context aware way to query PLIC interrupt enable base address + * Get base address for interrupt enable bits for a specific hart. + * + * Input Parameters: + * hartid - Hart ID to query. * * Returned Value: - * Interrupt enable base address + * Interrupt enable base address. * / -uintptr_t mpfs_plic_get_iebase(void) +static uintptr_t get_iebase(uintptr_t hartid) { uintptr_t iebase; - uintptr_t hart_id = riscv_mhartid(); - if (hart_id == 0) + if (hartid == 0) { iebase = MPFS_PLIC_H0_MIE0; } else { iebase = MPFS_PLIC_H1_MIE0 + MPFS_PLIC_IEPRIV_OFFSET + -(hart_id - 1) * MPFS_HART_MIE_OFFSET; +(hartid - 1) * MPFS_HART_MIE_OFFSET; } return iebase; } / - * Name: mpfs_plic_get_claimbase + * Name: get_claimbase * * Description: - * Context aware way to query PLIC interrupt claim base address + * Get base address for interrupt claim for a specific hart. + * + * Input Parameters: + * hartid - Hart ID to query. * * Returned Value: - * Interrupt enable claim address + * Interrupt enable claim address. * *
Re: [I] [BUG] cmake savedefconfig failure after https://github.com/apache/nuttx/pull/13815 [nuttx]
xuxin930 commented on issue #14281: URL: https://github.com/apache/nuttx/issues/14281#issuecomment-2422282702 > > Why should savedefconfig replace the defconfig file in the boards/arm/qemu-armv7a/configs/nsh path? > > Its task (as in compiling with make) should only be to recreate the defconfig file in the cmake buid path. > > https://github.com/ulfalizer/Kconfiglib/blob/master/savedefconfig.py > > @simbit18 look at this PR discussion: #11416 FYI @anchao thanks @raiden00pl our original intention is to be consistent with the behavior of Makefile. That is, only save the defconfig of BINARY_DIR, not the original defconfig of the board. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [RC] LVGL 9.2.1 on NuttX 12.7.0(-RC) workbench. [nuttx]
TimJTi commented on issue #13825: URL: https://github.com/apache/nuttx/issues/13825#issuecomment-2422407237 Is it feasible/possible to allow a choice of LVGL version via Kconfig? I know there is a copy/paste of the LVGL Kconfig content to the NuttX one which is a fudge, but I am not experienced enough with Kconfig syntax to know if the archive file path can be constructed from the user choice so the correct file will be downloaded? I've seen an argument here that we don't want to have to have a 2 stage process (select LVGL, then execute a make to get the archive loaded and only then are the correct Kconfig settings available) but surely there's a way around this? I'm not working today but I will try and research this as a possibility over the weekend. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated: tools/checkpatch: fix isort doesn't return error
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 53d90c8205 tools/checkpatch: fix isort doesn't return error 53d90c8205 is described below commit 53d90c82050c4a3cc23dc3d817b5cc9f7fa23955 Author: xuxingliang AuthorDate: Wed Oct 16 20:14:25 2024 +0800 tools/checkpatch: fix isort doesn't return error Flag --diff will output the changes content. Flag --check-only will return exit code. It can be used together with --diff. Run isort again to format the code in place, to make the behavior same as before. Signed-off-by: xuxingliang --- tools/checkpatch.sh | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/checkpatch.sh b/tools/checkpatch.sh index 4e591c3adf..50e7d30a49 100755 --- a/tools/checkpatch.sh +++ b/tools/checkpatch.sh @@ -83,9 +83,15 @@ check_file() { fi if [ ${@##*.} == 'py' ]; then -black --check $@ || fail=1 -flake8 --config ${TOOLDIR}/../.github/linters/setup.cfg $@ || fail=1 -isort --settings-path ${TOOLDIR}/../.github/linters/setup.cfg $@ || fail=1 +setupcfg="${TOOLDIR}/../.github/linters/setup.cfg" +black --check "$@" || fail=1 +flake8 --config "${setupcfg}" "$@" || fail=1 +isort --diff --check-only --settings-path "${setupcfg}" "$@" +if [ $? -ne 0 ]; then + # Format in place + isort --settings-path "${setupcfg}" "$@" + fail=1 +fi elif [ "$(is_rust_file $@)" == "1" ]; then if ! command -v rustfmt &> /dev/null; then fail=1
Re: [PR] ricv/riscv_cpuid: Return meaningful values for CPU/Hart ID when SMP=no [nuttx]
xiaoxiang781216 merged PR #14398: URL: https://github.com/apache/nuttx/pull/14398 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated: ricv/riscv_cpuid: Return meaningful values for CPU/Hart ID when SMP=no
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 5de9d957e6 ricv/riscv_cpuid: Return meaningful values for CPU/Hart ID when SMP=no 5de9d957e6 is described below commit 5de9d957e61150a9f067815981b64b89b0945a1e Author: Ville Juven AuthorDate: Fri Oct 18 12:08:07 2024 +0300 ricv/riscv_cpuid: Return meaningful values for CPU/Hart ID when SMP=no Return 0 for CPU ID for any hart ID, and return the current Hart ID for any CPU ID. At least these values are somewhat usable / meaningful in non-SMP configurations. --- arch/risc-v/src/common/riscv_cpuindex.c | 12 ++-- arch/risc-v/src/common/riscv_internal.h | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/arch/risc-v/src/common/riscv_cpuindex.c b/arch/risc-v/src/common/riscv_cpuindex.c index 8586d1cf55..c8c5c45703 100644 --- a/arch/risc-v/src/common/riscv_cpuindex.c +++ b/arch/risc-v/src/common/riscv_cpuindex.c @@ -71,9 +71,13 @@ int up_this_cpu(void) * / -int weak_function riscv_hartid_to_cpuid(int cpu) +int weak_function riscv_hartid_to_cpuid(int hart) { - return cpu - CONFIG_ARCH_RV_HARTID_BASE; +#ifdef CONFIG_SMP + return hart - CONFIG_ARCH_RV_HARTID_BASE; +#else + return 0; +#endif } / @@ -87,5 +91,9 @@ int weak_function riscv_hartid_to_cpuid(int cpu) int weak_function riscv_cpuid_to_hartid(int cpu) { +#ifdef CONFIG_SMP return cpu + CONFIG_ARCH_RV_HARTID_BASE; +#else + return (int)riscv_mhartid(); +#endif } diff --git a/arch/risc-v/src/common/riscv_internal.h b/arch/risc-v/src/common/riscv_internal.h index bb6737f4a4..ffa85d5450 100644 --- a/arch/risc-v/src/common/riscv_internal.h +++ b/arch/risc-v/src/common/riscv_internal.h @@ -436,7 +436,7 @@ uintptr_t riscv_mhartid(void); * / -int riscv_hartid_to_cpuid(int cpu); +int riscv_hartid_to_cpuid(int hart); / * Name: riscv_cpuid_to_hartid
Re: [PR] tools/checkpatch: fix isort doesn't return error [nuttx]
xiaoxiang781216 merged PR #14399: URL: https://github.com/apache/nuttx/pull/14399 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] libs/misc/memoryregion: remove unused memory_region [nuttx]
xiaoxiang781216 merged PR #14284: URL: https://github.com/apache/nuttx/pull/14284 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated (5de9d957e6 -> 68d6b18f9a)
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git from 5de9d957e6 ricv/riscv_cpuid: Return meaningful values for CPU/Hart ID when SMP=no add d49db03e04 libs/misc/memoryregion: remove unused memory_region add 91cb625f9d memory_region: add static/const for read only instance add 11af0e476f drivers/misc/devmem: remove unnecessary register parser add 68d6b18f9a drivers/misc/devmem: add dev_mem.c into cmake build No new revisions were added by this update. Summary of changes: drivers/misc/CMakeLists.txt | 4 + drivers/misc/dev_mem.c| 98 include/nuttx/memoryregion.h | 52 - libs/libc/gdbstub/lib_gdbstub.c | 2 +- libs/libc/misc/CMakeLists.txt | 1 - libs/libc/misc/Make.defs | 2 +- libs/libc/misc/lib_memoryregion.c | 154 -- 7 files changed, 22 insertions(+), 291 deletions(-) delete mode 100644 libs/libc/misc/lib_memoryregion.c
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
extinguish commented on code in PR #14404: URL: https://github.com/apache/nuttx/pull/14404#discussion_r1806540193 ## cmake/nuttx_toolchain.cmake: ## @@ -23,6 +23,13 @@ # search. If the manual of the newly supported toolchain is different, you can # override these methods in the toolchain +if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") Review Comment: > OK, I know now. This implementation is wrong. `CMAKE_C_COMPILER_ID` is valid only after `project()` call Ok, you're right, now this bug is fixed, you can try this in you local -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] arch/x86_64:Add CXX configuration for enabling x86_64 support for C++… [nuttx]
nuttxpr commented on PR #14405: URL: https://github.com/apache/nuttx/pull/14405#issuecomment-2422548785 [**\[Experimental Bot, please feedback here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues) This pull request **does not meet** the NuttX requirements. **Missing Information:** * **Summary:** * **Why** is the change necessary? What problem does it solve? What are the benefits? Simply stating "If enable cxx config, we need add some flags" is not descriptive enough. * **What** specific flags are being added? * **How** do these flags affect the build process and/or the resulting application? * **Impact:** * The impact section is too vague. Be specific about: * **What applications** are affected by enabling the C++ configuration on x86_64? * Are there any **potential compatibility issues** with existing applications? * **Testing:** * Simply stating "ci" is insufficient. Provide details about the testing environment and the results: * **What specific CI platform** was used? * **Which architectures and boards** were tested? * Include relevant snippets from the **build logs** and **application output** (both before and after the change) to demonstrate the effect of the modifications. **Recommendations:** 1. **Elaborate on the Summary:** Provide a clear and concise explanation of the purpose, functionality, and benefits of the changes. 2. **Be Specific in the Impact Section:** Detail the exact impact on users, build processes, and applications. 3. **Provide Detailed Testing Information:** Include specific details about the testing environment, procedures, and results. Offer relevant log snippets that clearly showcase the changes in action. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
extinguish commented on PR #14404: URL: https://github.com/apache/nuttx/pull/14404#issuecomment-2422548655 > maybe we have different versions of cmake? Mine is `cmake version 3.29.5`, Moving this code after `project()` it works as expected. I figure it out, is the problem of my local environment, the bash confused me. Not the issue of cmake or gcc -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 02/02: bmi160: fix Parameter passing error when use spi
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git commit a7f7afe019e714a996db91d6d9f2a523f86bf5dd Author: zhangshoukui AuthorDate: Fri Oct 18 15:34:36 2024 +0800 bmi160: fix Parameter passing error when use spi nuttx/drivers/sensors/bmi160_uorb.c:596:18: warning: passing argument 1 of ‘bmi160_getreg8’ from incompatible pointer type [-Wincompatible-pointer-types] 596 | bmi160_getreg8(priv, 0x7f); | ^~~~ | | | struct bmi160_dev_uorb_s * In file included from nuttx/drivers/sensors/bmi160_uorb.c:25: nuttx/drivers/sensors/bmi160_base.h:235:49: note: expected ‘struct bmi160_dev_s *’ but argument is of type ‘struct bmi160_dev_uorb_s *’ 235 | uint8_t bmi160_getreg8(FAR struct bmi160_dev_s *priv, uint8_t regaddr); |~^~~~ nuttx/drivers/sensors/bmi160_uorb.c:597:18: warning: passing argument 1 of ‘bmi160_getreg8’ from incompatible pointer type [-Wincompatible-pointer-types] 597 | bmi160_getreg8(priv, 0x7f); /* workaround: fail to switch SPI, run twice */ | ^~~~ | | | struct bmi160_dev_uorb_s * Signed-off-by: zhangshoukui --- drivers/sensors/bmi160_uorb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/sensors/bmi160_uorb.c b/drivers/sensors/bmi160_uorb.c index 79e447e967..f4b8ab533d 100644 --- a/drivers/sensors/bmi160_uorb.c +++ b/drivers/sensors/bmi160_uorb.c @@ -593,8 +593,8 @@ static int bmi160_register_accel(int devno, /* BMI160 detects communication bus is SPI by rising edge of CS. */ - bmi160_getreg8(priv, 0x7f); - bmi160_getreg8(priv, 0x7f); /* workaround: fail to switch SPI, run twice */ + bmi160_getreg8(&priv->dev, 0x7f); + bmi160_getreg8(&priv->dev, 0x7f); /* workaround: fail to switch SPI, run twice */ nxsig_usleep(200); #endif
Re: [PR] greenhills: add cmake support [nuttx]
extinguish commented on PR #13627: URL: https://github.com/apache/nuttx/pull/13627#issuecomment-2422327336 > @extinguish @xuxin930 please take a look. this is fixed is https://github.com/apache/nuttx/pull/14404, and is under review -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
raiden00pl commented on PR #14404: URL: https://github.com/apache/nuttx/pull/14404#issuecomment-2422338751 it doens't fix the problem for me: https://github.com/user-attachments/assets/017918de-27d2-44d1-ba52-1cb39a52791b";> tested with gcc (GCC) 14.1.1 20240522 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [BUG] LVGL 9.1.0 on 12.7.0-RC0 display broken. [nuttx]
cederom commented on issue #13825: URL: https://github.com/apache/nuttx/issues/13825#issuecomment-2422339377 Thanks @jerpelea :-) * There were performance regressions found right before 9.2.1 release was out so it is still not released as search for fix is ongoing. * @kisvegabor yesterday created a discussion on LVGL 9.2.1 release: https://github.com/lvgl/lvgl/issues/7098. * I will propose to create `release/v9.2.1` branch so we are not blocked with our testing while fixes would be backported to that branch from master just as you do for 12.7.0 NuttX release :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx-apps) branch master updated: uorb:Fixed the abnormal issue of printing uint16 with PRIu16.
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git The following commit(s) were added to refs/heads/master by this push: new 06181f0b0 uorb:Fixed the abnormal issue of printing uint16 with PRIu16. 06181f0b0 is described below commit 06181f0b00ab4f76bc6b58ece0a18236df00503c Author: likun17 AuthorDate: Fri Oct 11 16:30:58 2024 +0800 uorb:Fixed the abnormal issue of printing uint16 with PRIu16. The PRIu16 macro in the system is defined as "u", and "hu" is required. In Linux and Nuttx, PRIu32 PRIu16 PRIu8 are all defined as "u", but %pB prints the structure and needs its offset. %pB gets the offset through sizeof(short int) Signed-off-by: likun17 --- system/uorb/sensor/ppgd.c | 2 +- system/uorb/sensor/ppgq.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/system/uorb/sensor/ppgd.c b/system/uorb/sensor/ppgd.c index abac23e60..574f8928b 100644 --- a/system/uorb/sensor/ppgd.c +++ b/system/uorb/sensor/ppgd.c @@ -31,7 +31,7 @@ #ifdef CONFIG_DEBUG_UORB static const char sensor_ppgd_format[] = "timestamp:%" PRIu64 ",ppg0:%" PRIu32 ",ppg1:%" PRIu32 "," - "current:%" PRIu32 ",gain0:%" PRIu16 ",gain1:%" PRIu16 ""; + "current:%" PRIu32 ",gain0:%hu,gain1:%hu"; #endif / diff --git a/system/uorb/sensor/ppgq.c b/system/uorb/sensor/ppgq.c index 89e6e592c..108710533 100644 --- a/system/uorb/sensor/ppgq.c +++ b/system/uorb/sensor/ppgq.c @@ -31,8 +31,8 @@ #ifdef CONFIG_DEBUG_UORB static const char sensor_ppgq_format[] = "timestamp:%" PRIu64 ",ppg0:%" PRIu32 ",ppg1:%" PRIu32 ",ppg2:%" PRIu32 "," - "ppg3:%" PRIu32 ",current:%" PRIu32 ",gain0:%" PRIu16 ",gain1:%" PRIu16 "," - "gain2:%" PRIu16 ",gain3:%" PRIu16 ""; + "ppg3:%" PRIu32 ",current:%" PRIu32 ",gain0:%hu,gain1:%hu,gain2:%hu," + "gain3:%hu"; #endif /
Re: [I] [BUG] cmake savedefconfig failure after https://github.com/apache/nuttx/pull/13815 [nuttx]
simbit18 commented on issue #14281: URL: https://github.com/apache/nuttx/issues/14281#issuecomment-2422376707 @raiden00pl refreshsilent (PR https://github.com/apache/nuttx/pull/14401) behaves with the same logic as the tools/refresh.sh script used for the refresh stage (make build) on GitHub. See https://github.com/apache/nuttx/blob/master/tools/refresh.sh example nucleo-l152re/nsh ./tools/refresh.sh --silent nucleo-l152re/nsh + rm -f SAVEconfig + mv .config SAVEconfig + cp -a boards/arm/stm32/nucleo-l152re/configs/nsh/defconfig .config + make olddefconfig + make savedefconfig + diff boards/arm/stm32/nucleo-l152re/configs/nsh/defconfig defconfig has been merge with this PR https://github.com/apache/nuttx/pull/13815 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] Merge the newlibc string into NuttX. [nuttx]
acassis commented on PR #13180: URL: https://github.com/apache/nuttx/pull/13180#issuecomment-2422466799 > > Wonder if CI is running a different version of Kconfig? > > ci may use https://pypi.org/project/kconfiglib/, we can switch some back to use kconfig-frontend. Good idea! kconfiglib doesn't have all features we have on kconfig-frontend, even the search doesn't work when you search for CONFIG_SYMBOL_NAME -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated: tools/esp32s3/Config.mk: fix "unterminated call to function" error
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 0d57e3dba6 tools/esp32s3/Config.mk: fix "unterminated call to function" error 0d57e3dba6 is described below commit 0d57e3dba656cf47e5a9a98ddd4a2ba59643b74d Author: YAMAMOTO Takashi AuthorDate: Fri Oct 18 11:07:22 2024 +0900 tools/esp32s3/Config.mk: fix "unterminated call to function" error this # would be parsed by make as a start of a comment. --- tools/esp32s3/Config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/esp32s3/Config.mk b/tools/esp32s3/Config.mk index d21294c887..1e27335812 100644 --- a/tools/esp32s3/Config.mk +++ b/tools/esp32s3/Config.mk @@ -114,7 +114,7 @@ endif ESPTOOL_BINS += $(FLASH_APP) ifeq ($(CONFIG_BUILD_PROTECTED),y) - ESPTOOL_BINS += $(shell printf "%#x\n" $$(( $(CONFIG_ESP32S3_KERNEL_OFFSET) + $(CONFIG_ESP32S3_KERNEL_IMAGE_SIZE) ))) nuttx_user.bin + ESPTOOL_BINS += $(shell printf "%\#x\n" $$(( $(CONFIG_ESP32S3_KERNEL_OFFSET) + $(CONFIG_ESP32S3_KERNEL_IMAGE_SIZE) ))) nuttx_user.bin endif # MERGEBIN -- Merge raw binary files into a single file
(nuttx) branch master updated: arch/x86_64:Add CXX configuration for enabling x86_64 support for C++ applications.
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 541f30878a arch/x86_64:Add CXX configuration for enabling x86_64 support for C++ applications. 541f30878a is described below commit 541f30878a9f8bf1e3ade80dda598826118814ef Author: cuiziwei AuthorDate: Fri Mar 29 15:22:08 2024 +0800 arch/x86_64:Add CXX configuration for enabling x86_64 support for C++ applications. Signed-off-by: cuiziwei --- arch/x86_64/src/common/Toolchain.defs | 30 ++ 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/arch/x86_64/src/common/Toolchain.defs b/arch/x86_64/src/common/Toolchain.defs index 3d7a06fdeb..3687c6959c 100644 --- a/arch/x86_64/src/common/Toolchain.defs +++ b/arch/x86_64/src/common/Toolchain.defs @@ -64,7 +64,7 @@ endif ARCHCFLAGS += -fno-common -Wno-attributes ARCHCXXFLAGS += -fno-common -Wno-attributes -nostdinc++ -ARCHCPUFLAGS = -fno-pic -mcmodel=large -fno-stack-protector -mno-red-zone -mrdrnd +ARCHCPUFLAGS = -fno-pic -mcmodel=large -mno-red-zone -mrdrnd ARCHPICFLAGS = -fPIC ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef @@ -79,6 +79,29 @@ ifeq ($(CONFIG_HOST_MACOS),y) CROSSDEV = x86_64-elf- endif +ifneq ($(CONFIG_CXX_STANDARD),) + ARCHCXXFLAGS += -std=$(CONFIG_CXX_STANDARD) +endif + +ifeq ($(CONFIG_STACK_CANARIES),y) + ARCHOPTIMIZATION += -fstack-protector-all +else + ARCHOPTIMIZATION += -fno-stack-protector +endif + +ifneq ($(CONFIG_CXX_EXCEPTION),y) + ARCHCXXFLAGS += -fno-exceptions -fcheck-new +endif + +ifneq ($(CONFIG_CXX_RTTI),y) + ARCHCXXFLAGS += -fno-rtti +endif + +ifeq ($(CONFIG_DEBUG_OPT_UNUSED_SECTIONS),y) + LDFLAGS += --gc-sections + ARCHOPTIMIZATION += -ffunction-sections -fdata-sections +endif + ifeq ($(CONFIG_DEBUG_LINK_WHOLE_ARCHIVE),y) LDFLAGS += --whole-archive endif @@ -101,6 +124,7 @@ ifeq ($(CONFIG_LIBCXX),y) endif CC = $(CROSSDEV)gcc +CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E -x c LD = $(CROSSDEV)ld STRIP = $(CROSSDEV)strip --strip-unneeded @@ -173,8 +197,8 @@ ifeq ($(CONFIG_ARCH_X86_64_AVX512VBMI),y) ARCHCPUFLAGS += -mavx512vbmi endif - CFLAGS := $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) +CXXFLAGS := $(ARCHOPTIMIZATION) $(ARCHCXXFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) CPPFLAGS := $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) AFLAGS := $(CFLAGS) -D__ASSEMBLY__ @@ -182,8 +206,6 @@ ifeq ($(CONFIG_HOST_MACOS),y) AFLAGS += -Wa,--divide endif -LDFLAGS += -nostdlib -static - # Loadable module definitions CMODULEFLAGS = $(CFLAGS) -fvisibility=hidden
Re: [PR] Merge the newlibc string into NuttX. [nuttx]
yangguangcai01 commented on code in PR #13180: URL: https://github.com/apache/nuttx/pull/13180#discussion_r1806572740 ## libs/libc/string/lib_memccpy.c: ## @@ -51,6 +81,71 @@ #undef memccpy /* See mm/README.txt */ FAR void *memccpy(FAR void *s1, FAR const void *s2, int c, size_t n) { +#ifdef CONFIG_LIBC_STRING_OPTIMIZE + FAR void *ptr = NULL; + FAR unsigned char *pout = (FAR unsigned char *)s1; + FAR const unsigned char *pin = (FAR const unsigned char *)s2; + FAR long *paligned_out; + FAR const long *paligned_in; + unsigned char endchar = c & 0xff; + + /* If the size is small, or either pin or pout is unaligned, + * then punt into the byte copy loop. This should be rare. + */ + + if (!TOO_SMALL(n) && !UNALIGNED(pin, pout)) +{ + unsigned int i; + unsigned long mask = 0; + + paligned_out = (FAR long *)pout; + paligned_in = (FAR long *)pin; + + /* The fast code reads the ASCII one word at a time and only + * performs the bytewise search on word-sized segments if they + * contain the search character, which is detected by XORing + * the word-sized segment with a word-sized block of the search + * character and then detecting for the presence of NULL in the + * result. + */ + + for (i = 0; i < LITTLEBLOCKSIZE; i++) +{ + mask = (mask << 8) + endchar; +} + + /* Copy one long word at a time if possible. */ + + while (n >= LITTLEBLOCKSIZE) +{ + unsigned long buffer = (unsigned long)(*paligned_in); + buffer ^= mask; + if (DETECTNULL(buffer)) +{ + break; /* endchar is found, go byte by byte from here */ +} + + *paligned_out++ = *paligned_in++; + n -= LITTLEBLOCKSIZE; +} + + /* Pick up any residual with a byte copier. */ + + pout = (FAR unsigned char *)paligned_out; + pin = (FAR unsigned char *)paligned_in; +} + + while (n--) +{ + if ((*pout++ = *pin++) == endchar) +{ + ptr = pout; + break; +} +} + + return ptr; +#else Review Comment: > i feel we should separate code with different license to separate files. how do you think? ok, I will separate these files. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [BUG] cmake savedefconfig failure after https://github.com/apache/nuttx/pull/13815 [nuttx]
xiaoxiang781216 closed issue #14281: [BUG] cmake savedefconfig failure after https://github.com/apache/nuttx/pull/13815 URL: https://github.com/apache/nuttx/issues/14281 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated: cmake: Renamed savedefconfig with refreshsilent
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 791d7c97d0 cmake: Renamed savedefconfig with refreshsilent 791d7c97d0 is described below commit 791d7c97d03ab3055247bf7d0f0106dd3ba6f27f Author: simbit18 <101105604+simbi...@users.noreply.github.com> AuthorDate: Fri Oct 18 12:27:32 2024 +0200 cmake: Renamed savedefconfig with refreshsilent Renamed savedefconfig -> refreshsilent name more consistent with the refresh stage for cmake on github. Added new savedefconfig to fix https://github.com/apache/nuttx/issues/14281 --- cmake/menuconfig.cmake | 13 - tools/testbuild.sh | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cmake/menuconfig.cmake b/cmake/menuconfig.cmake index 7dfd4a6c99..694c29845a 100644 --- a/cmake/menuconfig.cmake +++ b/cmake/menuconfig.cmake @@ -72,7 +72,7 @@ add_custom_target( # utility target to refresh .config from board's defconfig for GITHUB add_custom_target( - savedefconfig + refreshsilent COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_BINARY_DIR}/SAVEconfig COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/.config ${CMAKE_BINARY_DIR}/SAVEconfig @@ -87,3 +87,14 @@ add_custom_target( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/defconfig ${NUTTX_DEFCONFIG} WORKING_DIRECTORY ${NUTTX_DIR}) + +# utility target to replace defconfig to board's defconfig +add_custom_target( + savedefconfig + COMMAND ${CMAKE_COMMAND} -E env ${KCONFIG_ENV} savedefconfig --out + ${CMAKE_BINARY_DIR}/defconfig.tmp + COMMAND ${CMAKE_COMMAND} -P ${NUTTX_DIR}/cmake/savedefconfig.cmake + ${CMAKE_BINARY_DIR}/.config ${CMAKE_BINARY_DIR}/defconfig.tmp + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/defconfig + ${NUTTX_DEFCONFIG} + WORKING_DIRECTORY ${NUTTX_DIR}) diff --git a/tools/testbuild.sh b/tools/testbuild.sh index 91820c383e..6a8306a6b5 100755 --- a/tools/testbuild.sh +++ b/tools/testbuild.sh @@ -450,8 +450,8 @@ function refresh_cmake { kconfig-tweak --file $nuttx/build/.config -d $toolchain fi - if ! cmake --build build -t savedefconfig 1>/dev/null; then -cmake --build build -t savedefconfig + if ! cmake --build build -t refreshsilent 1>/dev/null; then +cmake --build build -t refreshsilent fail=1 fi
Re: [PR] cmake: Renamed savedefconfig with refreshsilent [nuttx]
xiaoxiang781216 merged PR #14401: URL: https://github.com/apache/nuttx/pull/14401 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[PR] sched/timer: Simplify setitimer implementation. [nuttx]
Fix-Point opened a new pull request, #14402: URL: https://github.com/apache/nuttx/pull/14402 ## Summary The change is necessary to optimize the `setitimer` implementation by removing an unnecessary conditional branch that checks for the existence of an `itimer` within the task's group before creating one. This simplification enhances code readability and potentially improves performance by reducing the overhead of redundant checks. ## Impact This change affects the kernel's timer subsystem by streamlining the `setitimer` function. Users should experience no direct impact, but the system's efficiency in managing timers may improve slightly. The build process remains unchanged, and there are no hardware or documentation changes required. Security and compatibility are not affected by this change. The main impact is on the internal logic of the `setitimer` function. ## Testing Tested on QEMU/x86_64 and QEMU/armv8a -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] sched/timer: Simplify setitimer implementation. [nuttx]
nuttxpr commented on PR #14402: URL: https://github.com/apache/nuttx/pull/14402#issuecomment-2422262043 [**\[Experimental Bot, please feedback here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues) Yes, the PR appears to meet the NuttX requirements, but with one caveat: **Missing:** * **Testing logs:** You need to provide actual testing logs before and after the change. This is critical for reviewers to understand the impact of your changes and verify the fix. **Otherwise well-structured:** * **Summary:** Clearly explains the "why," "what," and "how" of the change. * **Impact:** Addresses all relevant aspects, accurately identifying minimal impact. * **Testing:** Specifies the tested platforms but needs concrete log output. **Recommendation:** Add the testing logs before and after the change to strengthen the PR. This will demonstrate the optimization's effect and provide evidence for reviewers to assess its validity. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] CI: Disable all jobs for macOS and Windows [nuttx]
cederom commented on PR #14377: URL: https://github.com/apache/nuttx/pull/14377#issuecomment-2422314011 The best build HW for macOS is MacStudio, but not the cheapest one, more expensive than MacMini, cheaper than MacBookPro, more powerful than both of them.. 4x faster than my PC but still 5x more expensive :D I was forced to buy MacStudio to get latest macOS and XCode as my old Intel based MacBookPro got no more updates. But Open-Source builds also work on that old MacBookPro with no problem :-) Another solution may be Hackintosh ;-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
nuttxpr commented on PR #14404: URL: https://github.com/apache/nuttx/pull/14404#issuecomment-2422338663 [**\[Experimental Bot, please feedback here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues) **No, this PR does not meet the NuttX Requirements.** Here's why and what's missing: **Summary:** * **Missing:** * **Why is this change necessary?** What problem does colored output solve? Is it for readability, debugging, CI integration? Be specific about the benefits. * **What functional part of the code is being changed?** Is it a core NuttX logging mechanism, a specific driver, or a build system change? * **How does the change exactly work?** What code is modified to achieve colored output? Are you using ANSI escape codes, a library, or something else? **Impact:** * **You claim no impact on the build process, but does colored output work on all supported terminals and environments?** * **Documentation:** Even if the change seems small, you'll likely need to update the documentation to inform users about this new feature and how to enable/disable it (if applicable). * **Compatibility:** Will this change break anything for users who rely on parsing the existing log output format? **Testing:** * **Insufficient:** "Tested on the GNU compiler" is not nearly enough information. * **Provide specific operating system, compiler version, and target details.** * **Include relevant snippets of the "before" and "after" logs** that clearly demonstrate the colored output. **To make your PR acceptable:** 1. **Expand the Summary section significantly** with the missing details outlined above. 2. **Thoroughly consider the Impact section**, addressing documentation, compatibility, and any potential issues with different terminal types. 3. **Provide detailed testing information** including the specific environment and relevant log snippets. Remember, a good PR is not just about the code changes, but also about clearly communicating the *why*, *how*, and the potential impact of your changes to both users and the project maintainers. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
cederom commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2423571985 Thank you @lupyuen !! :-) We have the https://github.com/nuttx organization too maybe we can make use of it too? :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
lupyuen commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2423563132 Hi All: Our [__Merge Jobs are now at github.com/nuttxpr/nuttx__](https://github.com/nuttxpr/nuttx/actions) Yesterday we spent __One-Third__ of our GitHub Runner Minutes on Merge Jobs. This is not sustainable, so I moved them to `nuttxpr` repo. (Which won't be charged)  [The data from yesterday](https://docs.google.com/spreadsheets/d/1ujGKmUyy-cGY-l1pDBfle_Y6LKMsNp7o3rbfT1UkiZE/edit?gid=650325940#gid=650325940) shows that our Scheduled Merge Job keeps getting disrupted by other Merged PRs. And when we restart a Scheduled Merge Job, we waste GitHub Minutes. (101 GitHub Hours for the Scheduled Merge Job!) __Two-Thirds__ of our GitHub Runner Minutes were spent on Creating and Updating PRs. That's why we're skipping half the jobs today. Hi @xiaoxiang781216 @GUIDINGLI @cederom: With immediate effect, please see [__github.com/nuttxpr/nuttx__](https://github.com/nuttxpr/nuttx/actions) for our Merge Jobs. I will trigger the jobs daily at 00:00 UTC and 12:00 UTC. I have given you Admin Access to `nuttxpr` in case you need to restart the jobs. Thanks! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[PR] boards/nucleo-l432kc: Add internal DAC code. [nuttx]
cederom opened a new pull request, #14408: URL: https://github.com/apache/nuttx/pull/14408 ## Summary * Nucleo-L432KC board was missing internal MCU DAC initialization code. * DAC is now available on PA4/A3 and /dev/dac0 when enabled. * Updated info on ADC inputs (PA6/A5,PA7/A6) depending on configuration. * Most boards have pins hadrcoded in `*.h` and `*.c` files, here too, would be nice to have them configurable via Kconfig, but there is no generic mechanism for that yet? ## Impact boards / nucleo-l432kc can now use DAC. ## Testing * Build host: FreeBSD 13.3 AMD64. * Test setup: oscilloscope on A4, generator on A5 nucleo pins. * Before: DAC was not available even though enabled in the config. * After: DAC is available as `/dev/dac0` and controllable with example `dac` application. ``` nsh> uname -a NuttX 12.7.0-RC0 a94c099b7d-dirty Oct 19 2024 06:44:25 arm nucleo-l432kc nsh> ls /dev /dev: adc0 console dac0 null random rtc0 ttyS0 nsh> adc -n1 adc_main: g_adcstate.count: 1 adc_main: Hardware initialized. Opening the ADC device: /dev/adc0 Sample: 1: channel: 11 value: 1310 nsh> dac put 1024 devpath=/dev/dac0 data=1024 delay=0 write: ret=5, errno=0 wrote: chan=0, data=1024 ret=1 ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated: Add GCCVER define to Toolchain.cmake
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 9614e1fed5 Add GCCVER define to Toolchain.cmake 9614e1fed5 is described below commit 9614e1fed5edfa5343f6f7ab2725b426fa4a0376 Author: cuiziwei AuthorDate: Fri Oct 11 23:48:31 2024 +0800 Add GCCVER define to Toolchain.cmake Since GCCVER will also be used in the toolchain, it needs to be defined in advance. Signed-off-by: cuiziwei --- arch/arm/src/cmake/gcc.cmake | 22 -- arch/arm/src/common/Toolchain.defs| 23 ++- arch/arm64/src/Toolchain.defs | 7 ++- arch/arm64/src/cmake/Toolchain.cmake | 11 ++- arch/risc-v/Kconfig | 2 +- arch/risc-v/src/cmake/Toolchain.cmake | 12 +++- arch/risc-v/src/common/Toolchain.defs | 11 ++- arch/xtensa/src/lx6/Toolchain.defs| 6 ++ arch/xtensa/src/lx7/Toolchain.defs| 6 ++ tools/Config.mk | 5 - 10 files changed, 76 insertions(+), 29 deletions(-) diff --git a/arch/arm/src/cmake/gcc.cmake b/arch/arm/src/cmake/gcc.cmake index e4e91e3198..1ebc6a2dfe 100644 --- a/arch/arm/src/cmake/gcc.cmake +++ b/arch/arm/src/cmake/gcc.cmake @@ -62,16 +62,18 @@ endif() # array subscript [0] is outside array bounds: # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 -execute_process(COMMAND ${CMAKE_C_COMPILER} --version -OUTPUT_VARIABLE GCC_VERSION_OUTPUT) -string(REGEX MATCH "\\+\\+.* ([0-9]+)\\.[0-9]+" GCC_VERSION_REGEX - "${GCC_VERSION_OUTPUT}") -set(GCCVER ${CMAKE_MATCH_1}) - -if(GCCVER GREATER_EQUAL 12) - add_compile_options(--param=min-pagesize=0) - if(CONFIG_ARCH_RAMFUNCS) -add_link_options(-Wl,--no-warn-rwx-segments) +if(CONFIG_ARCH_TOOLCHAIN_GNU) + execute_process(COMMAND ${CMAKE_C_COMPILER} --version + OUTPUT_VARIABLE GCC_VERSION_OUTPUT) + string(REGEX MATCH "\\+\\+.* ([0-9]+)\\.[0-9]+" GCC_VERSION_REGEX + "${GCC_VERSION_OUTPUT}") + set(GCCVER ${CMAKE_MATCH_1}) + + if(GCCVER GREATER_EQUAL 12) +add_compile_options(--param=min-pagesize=0) +if(CONFIG_ARCH_RAMFUNCS) + add_link_options(-Wl,--no-warn-rwx-segments) +endif() endif() endif() diff --git a/arch/arm/src/common/Toolchain.defs b/arch/arm/src/common/Toolchain.defs index 5548aec7e7..202d989051 100644 --- a/arch/arm/src/common/Toolchain.defs +++ b/arch/arm/src/common/Toolchain.defs @@ -306,15 +306,20 @@ else endif # Workaround to skip -Warray-bounds check due to bug of GCC-12: - # Wrong warning array subscript [0] is outside array bounds: - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 - - ifeq ($(shell expr "$(GCCVER)" \>= 12), 1) - ARCHOPTIMIZATION += --param=min-pagesize=0 - ifeq ($(CONFIG_ARCH_RAMFUNCS),y) - LDFLAGS += --no-warn-rwx-segments - endif - endif + # Wrong warning array subscript [0] is outside array bounds: + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 + + ifeq ($(CONFIG_ARCH_TOOLCHAIN_GNU),y) +ifeq ($(GCCVER),) + export GCCVER := $(shell $(CC) --version | grep gcc | sed -E "s/.* ([0-9]+\.[0-9]+).*/\1/" | cut -d'.' -f1) +endif +ifeq ($(shell expr "$(GCCVER)" \>= 12), 1) + ARCHOPTIMIZATION += --param=min-pagesize=0 + ifeq ($(CONFIG_ARCH_RAMFUNCS),y) +LDFLAGS += --no-warn-rwx-segments + endif +endif + endif LDFLAGS += --entry=__start diff --git a/arch/arm64/src/Toolchain.defs b/arch/arm64/src/Toolchain.defs index 3cfc20ab5d..1efd0d479c 100644 --- a/arch/arm64/src/Toolchain.defs +++ b/arch/arm64/src/Toolchain.defs @@ -181,7 +181,12 @@ ifeq ($(CONFIG_LTO_FULL),y) endif ifeq ($(CONFIG_ARCH_TOOLCHAIN_GNU),y) - LDFLAGS += --no-warn-rwx-segments + ifeq ($(GCCVER),) +export GCCVER := $(shell $(CC) --version | grep gcc | sed -E "s/.* ([0-9]+\.[0-9]+).*/\1/" | cut -d'.' -f1) + endif + ifeq ($(shell expr "$(GCCVER)" \>= 12), 1) +LDFLAGS += --no-warn-rwx-segments + endif endif # Add the builtin library diff --git a/arch/arm64/src/cmake/Toolchain.cmake b/arch/arm64/src/cmake/Toolchain.cmake index a8f9838ed1..0da4b19fbb 100644 --- a/arch/arm64/src/cmake/Toolchain.cmake +++ b/arch/arm64/src/cmake/Toolchain.cmake @@ -190,5 +190,14 @@ if(CONFIG_DEBUG_SYMBOLS) endif() if(CONFIG_ARCH_TOOLCHAIN_GNU) - add_link_options(-Wl,--no-warn-rwx-segments) + if(NOT GCCVER) +execute_process(COMMAND ${CMAKE_C_COMPILER} --version +OUTPUT_VARIABLE GCC_VERSION_INFO) +string(REGEX MATCH "[0-9]+\\.[0-9]+" GCC_VERSION ${GCC_VERSION_INFO}) +string(REGEX REPLACE "\\..*" "" GCCVER ${GCC_VERSION}) +set(GCCVER ${CMAKE_MATCH_1}) + endif() + if(GCCVER GREATER_EQUAL 12) +add_link_options(-Wl,--no-warn-rwx-segments) + endif() endif() diff --git a/arch/risc-v/Kconfig
(nuttx) branch master updated (65aa5415a7 -> 444ba4caa4)
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git from 65aa5415a7 cmake: fix the fdiagnostics-color handle issue new 100c43c8c3 libcxx: optional wide characters support. new 444ba4caa4 libcxx: optional localization. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: boards/arm/imx6/sabre-6quad/configs/libcxx/defconfig| 3 +++ boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/imxrt/imxrt1170-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/mx8mp/verdin-mx8mp/configs/nsh/defconfig | 3 +++ .../arm/stm32/stm32f4discovery/configs/testlibcxx/defconfig | 4 +++- boards/risc-v/bl602/bl602evb/configs/elf/defconfig | 3 +++ .../esp32c3-legacy/esp32c3-devkit/configs/cxx/defconfig | 3 +++ boards/risc-v/mpfs/icicle/configs/knsh/defconfig| 3 +++ boards/risc-v/qemu-rv/rv-virt/configs/citest/defconfig | 3 +++ boards/risc-v/qemu-rv/rv-virt/configs/libcxx/defconfig | 3 +++ boards/risc-v/qemu-rv/rv-virt/configs/libcxx64/defconfig| 3 +++ boards/sim/sim/sim/configs/citest/defconfig | 3 +++ boards/sim/sim/sim/configs/libcxxtest/defconfig | 3 +++ boards/sim/sim/sim/configs/matter/defconfig | 3 +++ boards/xtensa/esp32/esp32-devkitc/configs/cxx/defconfig | 3 +++ boards/xtensa/esp32s2/esp32s2-saola-1/configs/cxx/defconfig | 3 +++ boards/xtensa/esp32s3/esp32s3-devkit/configs/cxx/defconfig | 3 +++ libs/libxx/Kconfig | 12 +++- libs/libxx/__config_site| 10 -- libs/libxx/libcxx.cmake | 13 + libs/libxx/libcxx.defs | 11 +++ libs/libxx/system_configuration.h | 4 ++-- 24 files changed, 98 insertions(+), 10 deletions(-)
(nuttx) branch master updated: cmake: fix the fdiagnostics-color handle issue
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 65aa5415a7 cmake: fix the fdiagnostics-color handle issue 65aa5415a7 is described below commit 65aa5415a72ac5038c8281d20e7c5eded113866a Author: guoshichao AuthorDate: Fri Oct 18 19:58:18 2024 +0800 cmake: fix the fdiagnostics-color handle issue Signed-off-by: guoshichao --- CMakeLists.txt | 6 +++--- arch/arm/src/cmake/gcc.cmake | 5 - cmake/nuttx_toolchain.cmake | 7 +++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 35a3799e82..51d312571a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -391,14 +391,14 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/arch/${CONFIG_ARCH}/src/cmake) set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/arch/${CONFIG_ARCH}/src/cmake/Toolchain.cmake") -# include common toolchain setting -include(nuttx_toolchain) - # Define project # # This triggers configuration project(NuttX LANGUAGES C CXX ASM) +# include common toolchain setting +include(nuttx_toolchain) + if(WIN32) enable_language(ASM_MASM) endif() diff --git a/arch/arm/src/cmake/gcc.cmake b/arch/arm/src/cmake/gcc.cmake index 1ebc6a2dfe..4e046e7cb6 100644 --- a/arch/arm/src/cmake/gcc.cmake +++ b/arch/arm/src/cmake/gcc.cmake @@ -53,11 +53,6 @@ endif() set(NO_LTO "-fno-lto") -if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.9) - # force color for gcc > 4.9 - add_compile_options(-fdiagnostics-color=always) -endif() - # Workaround to skip -Warray-bounds check due to bug of GCC-12: Wrong warning # array subscript [0] is outside array bounds: # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 diff --git a/cmake/nuttx_toolchain.cmake b/cmake/nuttx_toolchain.cmake index 01e7b89c40..05ddf354b0 100644 --- a/cmake/nuttx_toolchain.cmake +++ b/cmake/nuttx_toolchain.cmake @@ -23,6 +23,13 @@ # search. If the manual of the newly supported toolchain is different, you can # override these methods in the toolchain +if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.9) +# force color for gcc > 4.9 +add_compile_options(-fdiagnostics-color=always) + endif() +endif() + # Support CMake to define additional configuration options if(EXTRA_FLAGS)
(nuttx) 01/02: libcxx: optional wide characters support.
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git commit 100c43c8c36700f9fbc91551185400afa9981bc8 Author: jihandong AuthorDate: Tue Jun 11 18:04:09 2024 +0800 libcxx: optional wide characters support. Disable wchar can reduce approximately 1/3 of the libcxx. mainly from locale, string and streams. Platform: sim Figures: bin size in bytes. Size | Description --+ 10045336 | Base, enable libcxx whithout any cxx programs. 42067224 | Add cxxtest. 29997304 | Disable libcxx wchar support. Signed-off-by: jihandong --- libs/libxx/Kconfig| 7 +++ libs/libxx/__config_site | 6 +- libs/libxx/system_configuration.h | 4 ++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/libs/libxx/Kconfig b/libs/libxx/Kconfig index 35017bcffb..8bbd396a04 100644 --- a/libs/libxx/Kconfig +++ b/libs/libxx/Kconfig @@ -112,11 +112,10 @@ config CXX_EXCEPTION config CXX_RTTI bool "Enable RTTI Support" -if UCLIBCXX +config CXX_WCHAR + bool "Enable Wide Character Support" -config UCLIBCXX_WCHAR - bool "Enable Wide Stream Support" - default n +if UCLIBCXX config UCLIBCXX_BUFSIZE int "IO Stream/Container Buffer Size" diff --git a/libs/libxx/__config_site b/libs/libxx/__config_site index a151662f44..c099b5b66c 100644 --- a/libs/libxx/__config_site +++ b/libs/libxx/__config_site @@ -9,6 +9,8 @@ #ifndef _LIBCPP___CONFIG_SITE #define _LIBCPP___CONFIG_SITE +#include + #define _LIBCPP_ABI_VERSION 1 #define _LIBCPP_ABI_NAMESPACE __1 /* #undef _LIBCPP_ABI_FORCE_ITANIUM */ @@ -26,7 +28,9 @@ /* #undef _LIBCPP_HAS_NO_FILESYSTEM */ /* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */ /* #undef _LIBCPP_HAS_NO_LOCALIZATION */ -/* #undef _LIBCPP_HAS_NO_WIDE_CHARACTERS */ +#ifndef CONFIG_CXX_WCHAR +#define _LIBCPP_HAS_NO_WIDE_CHARACTERS +#endif #define _LIBCPP_ENABLE_ASSERTIONS_DEFAULT 0 // PSTL backends diff --git a/libs/libxx/system_configuration.h b/libs/libxx/system_configuration.h index fff4560dfd..9f560ff804 100644 --- a/libs/libxx/system_configuration.h +++ b/libs/libxx/system_configuration.h @@ -55,7 +55,7 @@ /* String and I/O Stream Support */ -#ifdef CONFIG_UCLIBCXX_WCHAR +#ifdef CONFIG_CXX_WCHAR # define __UCLIBCXX_HAS_WCHAR__ 1 #endif #define __UCLIBCXX_IOSTREAM_BUFSIZE__ CONFIG_UCLIBCXX_BUFSIZE @@ -65,7 +65,7 @@ #define __UCLIBCXX_SUPPORT_COUT__ 1 #define __UCLIBCXX_SUPPORT_CERR__ 1 #define __UCLIBCXX_SUPPORT_CLOG__ 1 -#ifdef CONFIG_UCLIBCXX_WCHAR +#ifdef CONFIG_CXX_WCHAR # define __UCLIBCXX_SUPPORT_WCIN__ 1 # define __UCLIBCXX_SUPPORT_WCOUT__ 1 # define __UCLIBCXX_SUPPORT_WCERR__ 1
Re: [PR] Add GCCVER define to Toolchain. [nuttx]
xiaoxiang781216 merged PR #14130: URL: https://github.com/apache/nuttx/pull/14130 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 02/02: libcxx: optional localization.
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git commit 444ba4caa4f352e97fd8be0de7bc77e0f99a5ec5 Author: jihandong AuthorDate: Fri Jul 12 17:31:45 2024 +0800 libcxx: optional localization. Signed-off-by: jihandong Signed-off-by: cuiziwei --- boards/arm/imx6/sabre-6quad/configs/libcxx/defconfig| 3 +++ boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/imxrt/imxrt1170-evk/configs/libcxxtest/defconfig | 3 +++ boards/arm/mx8mp/verdin-mx8mp/configs/nsh/defconfig | 3 +++ .../arm/stm32/stm32f4discovery/configs/testlibcxx/defconfig | 4 +++- boards/risc-v/bl602/bl602evb/configs/elf/defconfig | 3 +++ .../esp32c3-legacy/esp32c3-devkit/configs/cxx/defconfig | 3 +++ boards/risc-v/mpfs/icicle/configs/knsh/defconfig| 3 +++ boards/risc-v/qemu-rv/rv-virt/configs/citest/defconfig | 3 +++ boards/risc-v/qemu-rv/rv-virt/configs/libcxx/defconfig | 3 +++ boards/risc-v/qemu-rv/rv-virt/configs/libcxx64/defconfig| 3 +++ boards/sim/sim/sim/configs/citest/defconfig | 3 +++ boards/sim/sim/sim/configs/libcxxtest/defconfig | 3 +++ boards/sim/sim/sim/configs/matter/defconfig | 3 +++ boards/xtensa/esp32/esp32-devkitc/configs/cxx/defconfig | 3 +++ boards/xtensa/esp32s2/esp32s2-saola-1/configs/cxx/defconfig | 3 +++ boards/xtensa/esp32s3/esp32s3-devkit/configs/cxx/defconfig | 3 +++ libs/libxx/Kconfig | 5 - libs/libxx/__config_site| 6 -- libs/libxx/libcxx.cmake | 13 + libs/libxx/libcxx.defs | 11 +++ 23 files changed, 89 insertions(+), 4 deletions(-) diff --git a/boards/arm/imx6/sabre-6quad/configs/libcxx/defconfig b/boards/arm/imx6/sabre-6quad/configs/libcxx/defconfig index 771380aaa6..e2db6c0792 100644 --- a/boards/arm/imx6/sabre-6quad/configs/libcxx/defconfig +++ b/boards/arm/imx6/sabre-6quad/configs/libcxx/defconfig @@ -24,6 +24,8 @@ CONFIG_ARMV7A_WAYSIZE_64KB=y CONFIG_BOARD_LOOPSPERMSEC=99369 CONFIG_BOOT_RUNFROMSDRAM=y CONFIG_BUILTIN=y +CONFIG_CXX_LOCALIZATION=y +CONFIG_CXX_WCHAR=y CONFIG_DEBUG_SYMBOLS=y CONFIG_DEFAULT_TASK_STACKSIZE=4096 CONFIG_DEV_ZERO=y @@ -37,6 +39,7 @@ CONFIG_IMX_DDR_SIZE=1073741824 CONFIG_INIT_ENTRYPOINT="nsh_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBCXX=y +CONFIG_LIBC_LOCALE=y CONFIG_LIBC_MAX_EXITFUNS=1 CONFIG_NSH_ARCHINIT=y CONFIG_NSH_BUILTIN_APPS=y diff --git a/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig b/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig index c386b1de97..a59907c917 100644 --- a/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig +++ b/boards/arm/imxrt/imxrt1050-evk/configs/libcxxtest/defconfig @@ -15,6 +15,8 @@ CONFIG_ARCH_STACKDUMP=y CONFIG_BOARD_LATE_INITIALIZE=y CONFIG_BOARD_LOOPSPERMSEC=2 CONFIG_BUILTIN=y +CONFIG_CXX_LOCALIZATION=y +CONFIG_CXX_WCHAR=y CONFIG_FS_PROCFS=y CONFIG_HAVE_CXX=y CONFIG_IDLETHREAD_STACKSIZE=2048 @@ -22,6 +24,7 @@ CONFIG_IMXRT_LPUART1=y CONFIG_INIT_ENTRYPOINT="nsh_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBCXX=y +CONFIG_LIBC_LOCALE=y CONFIG_LIBC_LOCALTIME=y CONFIG_LIBM=y CONFIG_LPUART1_SERIAL_CONSOLE=y diff --git a/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig b/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig index b24a2fd4f5..7fcd21fbad 100644 --- a/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig +++ b/boards/arm/imxrt/imxrt1060-evk/configs/libcxxtest/defconfig @@ -15,6 +15,8 @@ CONFIG_ARCH_STACKDUMP=y CONFIG_BOARD_LATE_INITIALIZE=y CONFIG_BOARD_LOOPSPERMSEC=2 CONFIG_BUILTIN=y +CONFIG_CXX_LOCALIZATION=y +CONFIG_CXX_WCHAR=y CONFIG_FS_PROCFS=y CONFIG_HAVE_CXX=y CONFIG_IDLETHREAD_STACKSIZE=2048 @@ -22,6 +24,7 @@ CONFIG_IMXRT_LPUART1=y CONFIG_INIT_ENTRYPOINT="nsh_main" CONFIG_INTELHEX_BINARY=y CONFIG_LIBCXX=y +CONFIG_LIBC_LOCALE=y CONFIG_LIBC_LOCALTIME=y CONFIG_LIBM=y CONFIG_LPUART1_SERIAL_CONSOLE=y diff --git a/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig b/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig index f55b3c7bfa..f32dd1ab9e 100644 --- a/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig +++ b/boards/arm/imxrt/imxrt1064-evk/configs/libcxxtest/defconfig @@ -15,6 +15,8 @@ CONFIG_ARCH_STACKDUMP=y CONFIG_BOARD_LATE_INITIALIZE=y CONFIG_BOARD_LOOPSPERMSEC=2 CONFIG_BUILTIN=y +CONFIG_CXX_LOCALIZATION=y +CONFIG_CXX_WCHAR=y CONFIG_FS_PROCFS=y CONFIG_HAVE_CXX=y CONFIG_IDLETHREAD_STACKSIZE=2048 @@ -22,6 +24,7 @@ CONFIG_IMXRT_LPUART1=y CONFIG_INIT_ENTRYPOINT="nsh_main" CONFIG_INTELHEX_BI
Re: [PR] lvgl: upgrade to release/v9.2 [nuttx-apps]
cederom commented on PR #2592: URL: https://github.com/apache/nuttx-apps/pull/2592#issuecomment-2423183656 Okay @XuNeo the `release/v9.2` branch is here and this will contain 9.2.1 release code that is 99% ready we can proceed with the PR :-) https://github.com/lvgl/lvgl/tree/release/v9.2 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] wireless/wapi.c: Initialize variables to avoid abnormal [nuttx-apps]
xiaoxiang781216 merged PR #2755: URL: https://github.com/apache/nuttx-apps/pull/2755 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 02/06: armv6m: add up_trigger_irq() support
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git commit 064415a765c17a6d14b502cb9da9676ab12de9b5 Author: ligd AuthorDate: Fri Aug 9 22:33:40 2024 +0800 armv6m: add up_trigger_irq() support Signed-off-by: ligd --- arch/arm/Kconfig | 1 + arch/arm/src/armv6-m/CMakeLists.txt| 1 + arch/arm/src/armv6-m/Make.defs | 1 + arch/arm/src/armv6-m/arm_trigger_irq.c | 87 ++ arch/arm/src/armv6-m/nvic.h| 25 ++ 5 files changed, 115 insertions(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 192edc4bb5..4e4d50131c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -817,6 +817,7 @@ config ARCH_CORTEXM0 select ARM_THUMB select ARCH_ARMV6M select ARCH_HAVE_IRQPRIO + select ARCH_HAVE_IRQTRIGGER select ARCH_HAVE_RAMVECTORS select ARCH_HAVE_RESET select ARCH_HAVE_HARDFAULT_DEBUG diff --git a/arch/arm/src/armv6-m/CMakeLists.txt b/arch/arm/src/armv6-m/CMakeLists.txt index deffc19040..6bfb544929 100644 --- a/arch/arm/src/armv6-m/CMakeLists.txt +++ b/arch/arm/src/armv6-m/CMakeLists.txt @@ -29,6 +29,7 @@ set(SRCS arm_svcall.c arm_systemreset.c arm_tcbinfo.c +arm_trigger_irq.c arm_vectors.c) if(CONFIG_DEBUG_FEATURES) diff --git a/arch/arm/src/armv6-m/Make.defs b/arch/arm/src/armv6-m/Make.defs index 669a586cef..9a39ab04bf 100644 --- a/arch/arm/src/armv6-m/Make.defs +++ b/arch/arm/src/armv6-m/Make.defs @@ -27,6 +27,7 @@ CMN_ASRCS += arm_exception.S arm_saveusercontext.S CMN_CSRCS += arm_cpuinfo.c arm_doirq.c arm_hardfault.c arm_initialstate.c CMN_CSRCS += arm_schedulesigaction.c arm_sigdeliver.c arm_svcall.c CMN_CSRCS += arm_systemreset.c arm_tcbinfo.c arm_vectors.c +CMN_CSRCS += arm_trigger_irq.c ifeq ($(CONFIG_DEBUG_FEATURES),y) CMN_CSRCS += arm_dumpnvic.c diff --git a/arch/arm/src/armv6-m/arm_trigger_irq.c b/arch/arm/src/armv6-m/arm_trigger_irq.c new file mode 100644 index 00..397a18705d --- /dev/null +++ b/arch/arm/src/armv6-m/arm_trigger_irq.c @@ -0,0 +1,87 @@ +/ + * arch/arm/src/armv6-m/arm_trigger_irq.c + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + / + +/ + * Included Files + / + +#include + +#include +#include + +#include +#include + +#include "arm_internal.h" +#include "nvic.h" + +#ifdef CONFIG_ARCH_HAVE_IRQTRIGGER + +/ + * Public Functions + / + +/ + * Name: up_trigger_irq + * + * Description: + * Trigger an IRQ by software. + * + / + +void up_trigger_irq(int irq, cpu_set_t cpuset) +{ + uint32_t pend_bit = 0; + + DEBUGASSERT(irq >= NVIC_IRQ_NMI && irq < NR_IRQS); + + if (irq >= NVIC_IRQ_FIRST) +{ + putreg32(irq - NVIC_IRQ_FIRST, ARMV6M_NVIC2_BASE); +} + else +{ + switch (irq) +{ + case NVIC_IRQ_PENDSV: +pend_bit = SYSCON_ICSR_PENDSVSET; +break; + + case NVIC_IRQ_NMI: +pend_bit = SYSCON_ICSR_NMIPENDSET; +break; + + case NVIC_IRQ_SYSTICK: +pend_bit = SYSCON_ICSR_PENDSTSET; +break; + + default: +break; +} + + if (pend_bit) +{ + modifyreg32(ARMV6M_SYSCON_ICSR, 0, pend_bit); +} +} +} + +#endif /* CONFIG_ARCH_HAVE_IRQTRIGGER */ diff --git a/arch/arm/src/armv6-m/nvic.h b/arch/arm/src/armv6-m/nvic.h index 62be901b69..3296006884 100644 --- a/arch/arm/src/armv6-m/nvic.h +++ b/arch/arm/src/armv6-m/nvic.h @@ -32,6 +32,31 @@ * Pre-proces
(nuttx) 04/06: arm-M: set current regs for crash dump
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git commit 946b01d4a838120d2eed5c545dce5f95de69b1d6 Author: ligd AuthorDate: Tue Aug 13 18:34:16 2024 +0800 arm-M: set current regs for crash dump Signed-off-by: ligd --- arch/arm/src/armv6-m/arm_doirq.c | 10 ++ arch/arm/src/armv7-m/arm_doirq.c | 10 ++ arch/arm/src/armv8-m/arm_doirq.c | 10 ++ 3 files changed, 30 insertions(+) diff --git a/arch/arm/src/armv6-m/arm_doirq.c b/arch/arm/src/armv6-m/arm_doirq.c index 93703b4512..b9683a5708 100644 --- a/arch/arm/src/armv6-m/arm_doirq.c +++ b/arch/arm/src/armv6-m/arm_doirq.c @@ -74,8 +74,18 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) } else { + /* Set current regs for crash dump */ + + up_set_current_regs(regs); + + /* Dispatch irq */ + tcb->xcp.regs = regs; irq_dispatch(irq, regs); + + /* Clear current regs */ + + up_set_current_regs(NULL); } /* If a context switch occurred while processing the interrupt then diff --git a/arch/arm/src/armv7-m/arm_doirq.c b/arch/arm/src/armv7-m/arm_doirq.c index b74414c59a..2f532969a5 100644 --- a/arch/arm/src/armv7-m/arm_doirq.c +++ b/arch/arm/src/armv7-m/arm_doirq.c @@ -74,8 +74,18 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) } else { + /* Set current regs for crash dump */ + + up_set_current_regs(regs); + + /* Dispatch irq */ + tcb->xcp.regs = regs; irq_dispatch(irq, regs); + + /* Clear current regs */ + + up_set_current_regs(NULL); } /* If a context switch occurred while processing the interrupt then diff --git a/arch/arm/src/armv8-m/arm_doirq.c b/arch/arm/src/armv8-m/arm_doirq.c index 536d7c4e75..d024d1ebad 100644 --- a/arch/arm/src/armv8-m/arm_doirq.c +++ b/arch/arm/src/armv8-m/arm_doirq.c @@ -74,8 +74,18 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) } else { + /* Set current regs for crash dump */ + + up_set_current_regs(regs); + + /* Dispatch irq */ + tcb->xcp.regs = regs; irq_dispatch(irq, regs); + + /* Clear current regs */ + + up_set_current_regs(NULL); } /* If a context switch occurred while processing the interrupt then
(nuttx) branch releases/12.7 updated (33e30239f1 -> d39bcd4ad5)
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a change to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git from 33e30239f1 sched: replace sync pause with async pause for nxtask_terminate new aa4a428825 armv7/8m: unmask all the IRQ when thread start new 064415a765 armv6m: add up_trigger_irq() support new 8b8a2610ab armv6/7/8m: use pendsv to handle context switch new 946b01d4a8 arm-M: set current regs for crash dump new 9a317472fd arm-m: support zero interrupt back to game new d39bcd4ad5 Doc: add maskable nested interrupt description The 6 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: Documentation/guides/zerolatencyinterrupts.rst | 62 +++- arch/arm/Kconfig | 1 + arch/arm/include/armv7-m/irq.h | 2 +- arch/arm/include/armv8-m/irq.h | 2 +- arch/arm/src/armv6-m/CMakeLists.txt| 1 + arch/arm/src/armv6-m/Make.defs | 1 + arch/arm/src/armv6-m/arm_doirq.c | 76 +- arch/arm/src/armv6-m/arm_svcall.c | 1 - .../arm/src/{armv7-m => armv6-m}/arm_trigger_irq.c | 12 +-- arch/arm/src/armv6-m/arm_vectors.c | 9 +- arch/arm/src/armv6-m/nvic.h| 25 + arch/arm/src/armv7-m/arm_doirq.c | 76 +- arch/arm/src/armv7-m/arm_initialstate.c| 2 +- arch/arm/src/armv7-m/arm_svcall.c | 6 +- arch/arm/src/armv7-m/arm_vectors.c | 6 +- arch/arm/src/armv8-m/arm_doirq.c | 112 - arch/arm/src/armv8-m/arm_initialstate.c| 2 +- arch/arm/src/armv8-m/arm_svcall.c | 5 +- arch/arm/src/armv8-m/arm_vectors.c | 9 +- arch/arm/src/lpc17xx_40xx/lpc17_40_irq.c | 2 + arch/arm/src/mps/mps_irq.c | 2 + arch/arm/src/nrf52/nrf52_irq.c | 2 + arch/arm/src/stm32/stm32_irq.c | 2 + arch/arm/src/stm32l4/stm32l4_irq.c | 2 + 24 files changed, 271 insertions(+), 149 deletions(-) copy arch/arm/src/{armv7-m => armv6-m}/arm_trigger_irq.c (88%)
Re: [PR] arch/x86_64:Add CXX configuration for enabling x86_64 support for C++… [nuttx]
xiaoxiang781216 merged PR #14405: URL: https://github.com/apache/nuttx/pull/14405 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 03/06: armv6/7/8m: use pendsv to handle context switch
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git commit 8b8a2610abceb1f8b90a79e28512d8e4f39fb132 Author: ligd AuthorDate: Thu Jul 18 21:22:27 2024 +0800 armv6/7/8m: use pendsv to handle context switch This PR support Nested interrupt in armv6/7/8m: There are two types of nested interrupt model: Zero latency nested interrupt Interrupt PriorityNote Data abort Highest SVC 0x50 High irq1 0x60 ISR can't access system API irq_save() 0x70 High irq2 0x80 ISR can't access system API normal irq3 0xB0 We have already support this mode before this PR Nested interrupt which interrupt level lower than up_irq_save() Interrupt PriorityNote Data abort Highest SVC 0x70 irq_save() 0x80 High irq1 0x90 ISR can access system API High irq2 0xA0 ISR can access system API normal irq3 0xB0 Now, this PR can support this mode Signed-off-by: ligd --- arch/arm/src/armv6-m/arm_doirq.c | 63 --- arch/arm/src/armv6-m/arm_svcall.c | 1 - arch/arm/src/armv6-m/arm_vectors.c | 9 +++- arch/arm/src/armv7-m/arm_doirq.c | 63 --- arch/arm/src/armv7-m/arm_svcall.c | 6 +-- arch/arm/src/armv7-m/arm_vectors.c | 6 ++- arch/arm/src/armv8-m/arm_doirq.c | 100 +++-- arch/arm/src/armv8-m/arm_svcall.c | 5 +- arch/arm/src/armv8-m/arm_vectors.c | 9 +++- 9 files changed, 120 insertions(+), 142 deletions(-) diff --git a/arch/arm/src/armv6-m/arm_doirq.c b/arch/arm/src/armv6-m/arm_doirq.c index 3065a4f4da..93703b4512 100644 --- a/arch/arm/src/armv6-m/arm_doirq.c +++ b/arch/arm/src/armv6-m/arm_doirq.c @@ -35,11 +35,25 @@ #include "arm_internal.h" #include "exc_return.h" +#include "nvic.h" / * Public Functions / +void exception_direct(void) +{ + int irq = getipsr(); + + arm_ack_irq(irq); + irq_dispatch(irq, NULL); + + if (g_running_tasks[this_cpu()] != this_task()) +{ + up_trigger_irq(NVIC_IRQ_PENDSV, 0); +} +} + uint32_t *arm_doirq(int irq, uint32_t *regs) { struct tcb_s *tcb = this_task(); @@ -49,19 +63,20 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) PANIC(); #else - if (regs[REG_EXC_RETURN] & EXC_RETURN_THREAD_MODE) -{ - tcb->xcp.regs = regs; - up_set_current_regs(regs); -} - /* Acknowledge the interrupt */ arm_ack_irq(irq); - /* Deliver the IRQ */ - - irq_dispatch(irq, regs); + if (irq == NVIC_IRQ_PENDSV) +{ + up_irq_save(); + g_running_tasks[this_cpu()]->xcp.regs = regs; +} + else +{ + tcb->xcp.regs = regs; + irq_dispatch(irq, regs); +} /* If a context switch occurred while processing the interrupt then * current_regs may have change value. If we return any value different @@ -69,30 +84,20 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) * switch occurred during interrupt processing. */ - if (regs[REG_EXC_RETURN] & EXC_RETURN_THREAD_MODE) -{ - tcb = this_task(); - - if (regs != tcb->xcp.regs) -{ - /* Update scheduler parameters */ - - nxsched_suspend_scheduler(g_running_tasks[this_cpu()]); - nxsched_resume_scheduler(tcb); + tcb = this_task(); - /* Record the new "running" task when context switch occurred. - * g_running_tasks[] is only used by assertion logic for reporting - * crashes. - */ + /* Update scheduler parameters */ - g_running_tasks[this_cpu()] = tcb; - regs = tcb->xcp.regs; -} + nxsched_suspend_scheduler(g_running_tasks[this_cpu()]); + nxsched_resume_scheduler(tcb); - /* Update the current_regs to NULL. */ + /* Record the new "running" task when context switch occurred. + * g_running_tasks[] is only used by assertion logic for reporting + * crashes. + */ - up_set_current_regs(NULL); -} + g_running_tasks[this_cpu()] = tcb; + regs = tcb->xcp.regs; #endif board_autoled_off(LED_INIRQ); diff --git a/arch/arm/src/armv6-m/arm_svcall.c b/arch/arm/src/armv6-m/arm_svcall.c index 62f57e302a..bab2404669 100644 --- a/arch/arm/src/armv6-m/arm_svcall.c +++ b/arch/arm/src/armv6-m/arm_svcall.c @@ -121,7 +121,6 @@ int arm_svcall(int irq, void *context, void *arg) uint32_t *regs = (uint32_t *)context; uint32_t cmd; - DEBUGASSERT(regs && regs == up_current_regs()); cmd = regs[REG_R0]; /* The SVCall software interrupt is called with R0 = system call command diff
(nuttx) 06/06: Doc: add maskable nested interrupt description
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git commit d39bcd4ad58406be5c239461a44c6a1f6d6bd61e Author: ligd AuthorDate: Wed Oct 9 21:47:43 2024 +0800 Doc: add maskable nested interrupt description Signed-off-by: ligd --- Documentation/guides/zerolatencyinterrupts.rst | 62 -- 1 file changed, 59 insertions(+), 3 deletions(-) diff --git a/Documentation/guides/zerolatencyinterrupts.rst b/Documentation/guides/zerolatencyinterrupts.rst index c44a0ce23b..bd0781f75f 100644 --- a/Documentation/guides/zerolatencyinterrupts.rst +++ b/Documentation/guides/zerolatencyinterrupts.rst @@ -1,6 +1,6 @@ -= -High Performance, Zero Latency Interrupts -= += +High Performance: Zero Latency Interrupts, Maskable nested interrupts += Generic Interrupt Handling == @@ -111,6 +111,62 @@ between the high priority interrupt handler and *PendSV* interrupt handler. A detailed discussion of that custom logic is beyond the scope of this Wiki page. +The following table shows the priority levels of the Cortex-M family: + +.. code-block:: + + IRQ type Priority + Dataabort 0x00 + High prio IRQ1 0x20 (Zero-latency interrupt) + High prio IRQ2 0x30 (Can't call OS API in ISR) + SVC0x70 + Disable IRQ0x80 + (critical-section) + Low prio IRQ 0xB0 + PendSV 0xE0 + +As you can see, the priority levels of the zero-latency interrupts can +beyond the critical section and SVC. +But High prio IRQ can't call OS API. + + +Maskable Nested Interrupts +== + +The ARM Cortex-M family supports a feature called *BASEPRI* that can be +used to disable interrupts at a priority level below a certain level. +This feature can be used to support maskable nested interrupts. + +Maskable nested interrupts differ from zero-latency interrupts in +that they obey the interrupt masking mechanisms of the system. +For example, setting the BASEPRI register to a specific threshold will +block all interrupts of a lower or equal priority. +However, high-priority interrupts (such as Non-Maskable Interrupts +or zero-latency interrupts) are unaffected by these masks. + +This is useful when you have a high-priority interrupt that needs to +be able to interrupt the system, but you also have lower-priority +interrupts that you want to be able to mask. + +The following table shows the priority levels of the Cortex-M family: + +.. code-block:: + + IRQ typePriority + Dataabort 0x00 + SVC 0x70 + Disable IRQ 0x80 + (critical-section) + High prio IRQ1 0x90(Maskable nested interrupt) + High prio IRQ2 0xA0(Can call OS API in ISR) + Low prio IRQ 0xB0 + PendSV 0xE0 + +As you can see, the priority levels of the maskable nested interrupts +are between the critical section and the low-priority interrupts. +And High prio IRQ can call OS API in ISR. + + Nested Interrupt Handling =
Re: [PR] {Bp-13606} armv7/8m: use pendsv to handle context switch [nuttx]
xiaoxiang781216 merged PR #14395: URL: https://github.com/apache/nuttx/pull/14395 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] sched/timer: Simplify setitimer implementation. [nuttx]
xiaoxiang781216 merged PR #14402: URL: https://github.com/apache/nuttx/pull/14402 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
lupyuen closed issue #14376: [URGENT] Reducing our usage of GitHub Runners URL: https://github.com/apache/nuttx/issues/14376 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx-website) branch asf-site updated: Publishing web: 6f43cfb03f4b427e9277e6d3064476fa7ea61660 docs: a94c099b7dadb29d8fa49d427279bbd199b85953
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/nuttx-website.git The following commit(s) were added to refs/heads/asf-site by this push: new e2aed7eb9 Publishing web: 6f43cfb03f4b427e9277e6d3064476fa7ea61660 docs: a94c099b7dadb29d8fa49d427279bbd199b85953 e2aed7eb9 is described below commit e2aed7eb99dbece5a07e65b2f8d703e9ad8dcc43 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> AuthorDate: Sat Oct 19 00:24:19 2024 + Publishing web: 6f43cfb03f4b427e9277e6d3064476fa7ea61660 docs: a94c099b7dadb29d8fa49d427279bbd199b85953 --- content/docs/10.0.0/index.html | 2 +- content/docs/10.0.1/index.html | 2 +- content/docs/10.1.0/index.html | 2 +- content/docs/10.2.0/index.html | 2 +- content/docs/10.3.0/index.html | 2 +- content/docs/11.0.0/index.html | 2 +- content/docs/12.0.0/index.html | 2 +- content/docs/12.0.0/searchindex.js | 2 +- content/docs/12.1.0/index.html | 2 +- content/docs/12.1.0/searchindex.js | 2 +- content/docs/12.2.0/index.html | 2 +- content/docs/12.2.0/searchindex.js | 2 +- content/docs/12.2.1/index.html | 2 +- content/docs/12.2.1/searchindex.js | 2 +- content/docs/12.3.0/index.html | 2 +- content/docs/12.3.0/searchindex.js | 2 +- content/docs/12.4.0/index.html | 2 +- content/docs/12.4.0/searchindex.js | 2 +- content/docs/12.5.0/index.html | 2 +- content/docs/12.5.0/searchindex.js | 2 +- content/docs/12.5.1/index.html | 2 +- content/docs/12.5.1/searchindex.js | 2 +- content/docs/12.6.0/index.html | 2 +- content/docs/12.6.0/searchindex.js | 2 +- .../esp32c3/boards/esp32c3-generic/index.rst.txt | 68 + content/docs/latest/index.html | 2 +- content/docs/latest/objects.inv| Bin 124451 -> 124463 bytes .../esp32c3/boards/esp32c3-generic/index.html | 65 content/docs/latest/searchindex.js | 2 +- content/feed.xml | 4 +- 30 files changed, 161 insertions(+), 28 deletions(-) diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html index 1ba5f1be3..410060248 100644 --- a/content/docs/10.0.0/index.html +++ b/content/docs/10.0.0/index.html @@ -207,7 +207,7 @@ by following these NuttX Documentation¶ NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()). -Last Updated: 18 October 24 at 00:12 +Last Updated: 19 October 24 at 00:12 Table of Contents diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html index e8c0af2c3..b1bb50299 100644 --- a/content/docs/10.0.1/index.html +++ b/content/docs/10.0.1/index.html @@ -237,7 +237,7 @@ by following these NuttX Documentation¶ NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()). -Last Updated: 18 October 24 at 00:12 +Last Updated: 19 October 24 at 00:12 Table of Contents diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html index f3da2119d..99593ce58 100644 --- a/content/docs/10.1.0/index.html +++ b/content/docs/10.1.0/index.html @@ -237,7 +237,7 @@ by following these NuttX Documentation¶ NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded env
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
lupyuen commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2423412730 _When NuttX merges our PR, the Merge Job won't run until 00:00 UTC and 12:00 UTC. How can we be really sure that our PR was merged correctly?_ Let's create a __GitHub Org__, fork the NuttX Repo and trigger the __CI Workflow__. (Which won't charge any extra GitHub Runner Minutes to NuttX Project!) - https://github.com/apache/nuttx/issues/14407 (I think this might also work if ASF shuts down our CI Servers. We can create many many orgs actually) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
cederom commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2423413959 Sounds like a repo clone that will verify nuttx and nuttx-apps master independently twice a day? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
lupyuen commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2423414137 @cederom You read my mind :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx-apps) branch master updated: CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated
This is an automated email from the ASF dual-hosted git repository. lupyuen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git The following commit(s) were added to refs/heads/master by this push: new a799c3e80 CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated a799c3e80 is described below commit a799c3e80553cc70a83e7f9a9c07ccefd232df7a Author: Lup Yuen Lee AuthorDate: Fri Oct 18 18:53:54 2024 +0800 CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated When we submit or update a Complex PR that affects All Architectures (Arm, RISC-V, Xtensa, etc): CI Workflow shall run only half the jobs for RISC-V, Xtensa and Simulator: - `risc-v-01` to `03` - `xtensa-01` - `sim-01` When the Complex PR is Merged: CI Workflow will still run all jobs for RISC-V, Xtensa and Simulator: - `risc-v-01` to `06` - `xtensa-01` to `02` - `sim-01` to `02` Simple PRs with One Single Arch / Board will build the same way as before: - `risc-v-01` to `06` - `xtensa-01` to `02` - `sim-01` to `02` We hope to lower drastically our usage of GitHub Runners before the ASF Deadline, as explained here: https://github.com/apache/nuttx/issues/14376 --- .github/workflows/arch.yml | 16 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/arch.yml b/.github/workflows/arch.yml index fafb33c8a..9c34071a3 100644 --- a/.github/workflows/arch.yml +++ b/.github/workflows/arch.yml @@ -160,13 +160,21 @@ jobs: # If Not a Simple PR: Build all targets if [[ "$quit" == "1" ]]; then -# If PR was Created or Modified: Exclude arm-08 to arm-14 +# If PR was Created or Modified: Exclude some boards pr=${{github.event.pull_request.number}} if [[ "$pr" != "" ]]; then - echo "Excluding arm-08 to arm-14" - boards=$( + echo "Excluding arm-08..14, risc-v-04..06, sim-02, xtensa-02" + boards=$( echo '${{ inputs.boards }}' | -jq --compact-output 'map(select(test("arm-0[8-9]") == false and test("arm-1.+") == false))' +jq --compact-output \ +'map( + select( +test("arm-0[8-9]") == false and test("arm-1.") == false and +test("risc-v-0[4-9]") == false and +test("sim-0[2-9]") == false and +test("xtensa-0[2-9]") == false + ) +)' ) fi echo "selected_builds=$boards" | tee -a $GITHUB_OUTPUT
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
lupyuen commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2423365782 __11 Days To Doomsday:__ But we're doing much better already! In the past 24 hours, we consumed __36 Full-Time GitHub Runners__. We're getting closer to the ASF Target of __25 Full-Time Runners__! Today we shall: - Halve the Jobs for __RISC-V, Xtensa and Simulator__ for Complex PRs https://github.com/apache/nuttx/pull/14400 - Do the same for `nuttx-apps` repo https://github.com/apache/nuttx-apps/pull/2758 - Reduce the Scheduled Merge Jobs to __Two Per Day__ at 00:00 / 12:00 UTC (down from Four Per Day) Hopefully we'll reach the ASF Target tomorrow, and ASF won't kill our servers no more! Thanks!  -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated [nuttx]
lupyuen merged PR #14400: URL: https://github.com/apache/nuttx/pull/14400 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated: CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated
This is an automated email from the ASF dual-hosted git repository. lupyuen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new a94c099b7d CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated a94c099b7d is described below commit a94c099b7dadb29d8fa49d427279bbd199b85953 Author: Lup Yuen Lee AuthorDate: Fri Oct 18 18:53:57 2024 +0800 CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated When we submit or update a Complex PR that affects All Architectures (Arm, RISC-V, Xtensa, etc): CI Workflow shall run only half the jobs for RISC-V, Xtensa and Simulator: - `risc-v-01` to `03` - `xtensa-01` - `sim-01` When the Complex PR is Merged: CI Workflow will still run all jobs for RISC-V, Xtensa and Simulator: - `risc-v-01` to `06` - `xtensa-01` to `02` - `sim-01` to `02` Simple PRs with One Single Arch / Board will build the same way as before: - `risc-v-01` to `06` - `xtensa-01` to `02` - `sim-01` to `02` We hope to lower drastically our usage of GitHub Runners before the ASF Deadline, as explained here: https://github.com/apache/nuttx/issues/14376 --- .github/workflows/arch.yml | 16 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/arch.yml b/.github/workflows/arch.yml index fafb33c8a4..9c34071a3a 100644 --- a/.github/workflows/arch.yml +++ b/.github/workflows/arch.yml @@ -160,13 +160,21 @@ jobs: # If Not a Simple PR: Build all targets if [[ "$quit" == "1" ]]; then -# If PR was Created or Modified: Exclude arm-08 to arm-14 +# If PR was Created or Modified: Exclude some boards pr=${{github.event.pull_request.number}} if [[ "$pr" != "" ]]; then - echo "Excluding arm-08 to arm-14" - boards=$( + echo "Excluding arm-08..14, risc-v-04..06, sim-02, xtensa-02" + boards=$( echo '${{ inputs.boards }}' | -jq --compact-output 'map(select(test("arm-0[8-9]") == false and test("arm-1.+") == false))' +jq --compact-output \ +'map( + select( +test("arm-0[8-9]") == false and test("arm-1.") == false and +test("risc-v-0[4-9]") == false and +test("sim-0[2-9]") == false and +test("xtensa-0[2-9]") == false + ) +)' ) fi echo "selected_builds=$boards" | tee -a $GITHUB_OUTPUT
Re: [PR] CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated [nuttx-apps]
lupyuen merged PR #2758: URL: https://github.com/apache/nuttx-apps/pull/2758 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] lvgl: upgrade to release/v9.2 [nuttx-apps]
XuNeo commented on PR #2592: URL: https://github.com/apache/nuttx-apps/pull/2592#issuecomment-2423543320 PR updated to target LVGL latest release/v9.2 branch. Locally tested `sim:lvgl_fb` and all good. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] lvgl: upgrade to release/v9.2 [nuttx-apps]
cederom commented on PR #2592: URL: https://github.com/apache/nuttx-apps/pull/2592#issuecomment-2423546684 Thank you @XuNeo !! Looks like we are ready for LVGL 9.2.1 :-) @fjpanag @TimJTi @raiden00pl could you please verify this PR on your hardware? This PR upgrades LVGL to 9.2.1 that we plan to put on NuttX 12.7.0 :-) It still uses release/v9.2 branch package archive but it contains 99% of 9.2.1 code (9.2.1 release will be kept in this branch too), we will update the URL when 9.2.1 is released :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 01/02: bmi160: fix compile warning and %zu replace %u
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git commit 50f16c840cbbb9b238928de807c452709a407aab Author: zhangshoukui AuthorDate: Fri Oct 18 15:11:02 2024 +0800 bmi160: fix compile warning and %zu replace %u VELAPLATFO-45270 nuttx/drivers/sensors/bmi160.c: In function ‘bmi160_set_normal_imu’: nuttx/drivers/sensors/bmi160.c:79:3: warning: implicit declaration of function ‘up_mdelay’ [-Wimplicit-function-declaration] 79 | up_mdelay(30); | ^ Signed-off-by: zhangshoukui --- drivers/sensors/bmi160.c | 2 +- drivers/sensors/bmi160_base.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/sensors/bmi160.c b/drivers/sensors/bmi160.c index b50ba4537f..b68c3c852e 100644 --- a/drivers/sensors/bmi160.c +++ b/drivers/sensors/bmi160.c @@ -147,7 +147,7 @@ static ssize_t bmi160_read(FAR struct file *filep, FAR char *buffer, if (len < sizeof(struct accel_gyro_st_s)) { - snerr("Expected buffer size is %u\n", sizeof(struct accel_gyro_st_s)); + snerr("Expected buffer size is %zu\n", sizeof(struct accel_gyro_st_s)); return 0; } diff --git a/drivers/sensors/bmi160_base.h b/drivers/sensors/bmi160_base.h index 130233c9ee..3ca6560119 100644 --- a/drivers/sensors/bmi160_base.h +++ b/drivers/sensors/bmi160_base.h @@ -27,6 +27,7 @@ #include +#include #include #include #include
Re: [PR] fix bmi160 some issue [nuttx]
xiaoxiang781216 merged PR #14396: URL: https://github.com/apache/nuttx/pull/14396 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx-apps) branch master updated: drivertest_i2c_spi: Supports incoming device nodes so we can test both iic and spi
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git The following commit(s) were added to refs/heads/master by this push: new 8b17cfedf drivertest_i2c_spi: Supports incoming device nodes so we can test both iic and spi 8b17cfedf is described below commit 8b17cfedf2c926836b6f0bf5c8b7f82d6db65593 Author: zhangshoukui AuthorDate: Fri Oct 18 09:22:35 2024 +0800 drivertest_i2c_spi: Supports incoming device nodes so we can test both iic and spi Signed-off-by: zhangshoukui --- testing/drivertest/drivertest_i2c_spi.c | 46 +++-- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/testing/drivertest/drivertest_i2c_spi.c b/testing/drivertest/drivertest_i2c_spi.c index 1089b5245..93698010c 100644 --- a/testing/drivertest/drivertest_i2c_spi.c +++ b/testing/drivertest/drivertest_i2c_spi.c @@ -51,7 +51,7 @@ struct test_state_s { - FAR const char *dev_path; + char dev_path[PATH_MAX]; int fd; }; @@ -59,6 +59,19 @@ struct test_state_s * Private Functions / +/ + * Name: show_usage + / + +static void show_usage(FAR const char *progname, + FAR const char *path, int exitcode) +{ + printf("Usage: %s -d \n", progname); + printf(" [-d devpath] Sensor device node.\n" + " Default: %s Current: %s\n", ACC_DEVPATH, path); + exit(exitcode); +} + / * Name: setup / @@ -66,14 +79,10 @@ struct test_state_s static int setup(FAR void **state) { FAR struct test_state_s *test_state; - test_state = malloc(sizeof(struct test_state_s)); - assert_true(test_state != NULL); - - test_state->dev_path = ACC_DEVPATH; + test_state = (FAR struct test_state_s *)*state; test_state->fd = open(test_state->dev_path, O_RDONLY); assert_true(test_state->fd > 0); - *state = test_state; return 0; } @@ -86,7 +95,6 @@ static int teardown(FAR void **state) FAR struct test_state_s *test_state; test_state = (FAR struct test_state_s *)*state; assert_int_equal(close(test_state->fd), 0); - free(test_state); return 0; } @@ -131,9 +139,31 @@ static void read_from_device(FAR void **state) int main(int argc, FAR char *argv[]) { + struct test_state_s test_state; + int ch; + + memset(&test_state, 0, sizeof(test_state)); + snprintf(test_state.dev_path, sizeof(test_state.dev_path), "%s", + ACC_DEVPATH); + while ((ch = getopt(argc, argv, "d:h")) != ERROR) +{ + switch (ch) +{ + case 'd': +snprintf(test_state.dev_path, sizeof(test_state.dev_path), "%s", + optarg); +break; + case 'h': + case '?': +show_usage(argv[0], test_state.dev_path, EXIT_FAILURE); +break; +} +} + const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(read_from_device, setup, teardown), + cmocka_unit_test_prestate_setup_teardown(read_from_device, setup, + teardown, &test_state), }; return cmocka_run_group_tests(tests, NULL, NULL);
Re: [PR] drivertest_i2c_spi: Supports incoming device nodes so we can test both iic and spi [nuttx-apps]
xiaoxiang781216 merged PR #2757: URL: https://github.com/apache/nuttx-apps/pull/2757 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] uorb:Fixed the abnormal issue of printing uint16 with PRIu16. [nuttx-apps]
xiaoxiang781216 merged PR #2756: URL: https://github.com/apache/nuttx-apps/pull/2756 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[PR] arch/x86_64:Add CXX configuration for enabling x86_64 support for C++… [nuttx]
cuiziwei1 opened a new pull request, #14405: URL: https://github.com/apache/nuttx/pull/14405 … applications. ## Summary If enable cxx config, we need add some flags. ## Impact x86_64 enable cxx config ## Testing ci -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 05/06: arm-m: support zero interrupt back to game
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git commit 9a317472fd37b0ed5a728304c682ee74bb39a99a Author: ligd AuthorDate: Fri Sep 27 18:48:47 2024 +0800 arm-m: support zero interrupt back to game Signed-off-by: ligd --- arch/arm/src/armv6-m/arm_doirq.c | 23 +++ arch/arm/src/armv7-m/arm_doirq.c | 23 +++ arch/arm/src/armv8-m/arm_doirq.c | 22 ++ arch/arm/src/lpc17xx_40xx/lpc17_40_irq.c | 2 ++ arch/arm/src/mps/mps_irq.c | 2 ++ arch/arm/src/nrf52/nrf52_irq.c | 2 ++ arch/arm/src/stm32/stm32_irq.c | 2 ++ arch/arm/src/stm32l4/stm32l4_irq.c | 2 ++ 8 files changed, 54 insertions(+), 24 deletions(-) diff --git a/arch/arm/src/armv6-m/arm_doirq.c b/arch/arm/src/armv6-m/arm_doirq.c index b9683a5708..fea1620bd2 100644 --- a/arch/arm/src/armv6-m/arm_doirq.c +++ b/arch/arm/src/armv6-m/arm_doirq.c @@ -67,25 +67,27 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) arm_ack_irq(irq); + /* Set current regs for crash dump */ + + up_set_current_regs(regs); + if (irq == NVIC_IRQ_PENDSV) { +#ifdef CONFIG_ARCH_HIPRI_INTERRUPT + /* Dispatch the PendSV interrupt */ + + irq_dispatch(irq, regs); +#endif + up_irq_save(); g_running_tasks[this_cpu()]->xcp.regs = regs; } else { - /* Set current regs for crash dump */ - - up_set_current_regs(regs); - /* Dispatch irq */ tcb->xcp.regs = regs; irq_dispatch(irq, regs); - - /* Clear current regs */ - - up_set_current_regs(NULL); } /* If a context switch occurred while processing the interrupt then @@ -110,6 +112,11 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) regs = tcb->xcp.regs; #endif + /* Clear current regs */ + + up_set_current_regs(NULL); + board_autoled_off(LED_INIRQ); + return regs; } diff --git a/arch/arm/src/armv7-m/arm_doirq.c b/arch/arm/src/armv7-m/arm_doirq.c index 2f532969a5..a14b24e6a4 100644 --- a/arch/arm/src/armv7-m/arm_doirq.c +++ b/arch/arm/src/armv7-m/arm_doirq.c @@ -67,25 +67,27 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) arm_ack_irq(irq); + /* Set current regs for crash dump */ + + up_set_current_regs(regs); + if (irq == NVIC_IRQ_PENDSV) { +#ifdef CONFIG_ARCH_HIPRI_INTERRUPT + /* Dispatch the PendSV interrupt */ + + irq_dispatch(irq, regs); +#endif + up_irq_save(); g_running_tasks[this_cpu()]->xcp.regs = regs; } else { - /* Set current regs for crash dump */ - - up_set_current_regs(regs); - /* Dispatch irq */ tcb->xcp.regs = regs; irq_dispatch(irq, regs); - - /* Clear current regs */ - - up_set_current_regs(NULL); } /* If a context switch occurred while processing the interrupt then @@ -110,6 +112,11 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) regs = tcb->xcp.regs; #endif + /* Clear current regs */ + + up_set_current_regs(NULL); + board_autoled_off(LED_INIRQ); + return regs; } diff --git a/arch/arm/src/armv8-m/arm_doirq.c b/arch/arm/src/armv8-m/arm_doirq.c index d024d1ebad..0f3fad50bb 100644 --- a/arch/arm/src/armv8-m/arm_doirq.c +++ b/arch/arm/src/armv8-m/arm_doirq.c @@ -67,25 +67,27 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) arm_ack_irq(irq); + /* Set current regs for crash dump */ + + up_set_current_regs(regs); + if (irq == NVIC_IRQ_PENDSV) { +#ifdef CONFIG_ARCH_HIPRI_INTERRUPT + /* Dispatch the PendSV interrupt */ + + irq_dispatch(irq, regs); +#endif + up_irq_save(); g_running_tasks[this_cpu()]->xcp.regs = regs; } else { - /* Set current regs for crash dump */ - - up_set_current_regs(regs); - /* Dispatch irq */ tcb->xcp.regs = regs; irq_dispatch(irq, regs); - - /* Clear current regs */ - - up_set_current_regs(NULL); } /* If a context switch occurred while processing the interrupt then @@ -110,6 +112,10 @@ uint32_t *arm_doirq(int irq, uint32_t *regs) regs = tcb->xcp.regs; #endif + /* Clear current regs */ + + up_set_current_regs(NULL); + board_autoled_off(LED_INIRQ); #ifdef CONFIG_ARMV8M_TRUSTZONE_HYBRID diff --git a/arch/arm/src/lpc17xx_40xx/lpc17_40_irq.c b/arch/arm/src/lpc17xx_40xx/lpc17_40_irq.c index d0f1316568..7c971c81fb 100644 --- a/arch/arm/src/lpc17xx_40xx/lpc17_40_irq.c +++ b/arch/arm/src/lpc17xx_40xx/lpc17_40_irq.c @@ -137,9 +137,11 @@ static int lpc17_40_nmi(int irq, void *context, void *arg) static int lpc17_40_pendsv(int irq, void *context, void *arg) { +#ifndef CONFIG_ARCH_HIPRI_INTERRUPT up_irq_save(); _err("PANIC!!! PendSV received\n"); PANIC(); +#endif return 0; } diff --git a/arch/arm/src/mps/mps_irq.c b/arch/arm/src/mps/mps_irq.c index 6e9af56347..f5a98b709a 100644 --- a/arch/ar
[PR] nuttx/arch:Enabling ARCH_MATH_H is required when compiling sim with t… [nuttx]
cuiziwei1 opened a new pull request, #14406: URL: https://github.com/apache/nuttx/pull/14406 …he 13.2 version of the toolchain. *Note: Please adhere to [Contributing Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).* ## Summary *Update this section with information on why change is necessary, what it exactly does and how, if new feature shows up, provide references (dependencies, similar problems and solutions), etc.* ## Impact *Update this section, where applicable, on how change affects users, build process, hardware, documentation, security, compatibility, etc.* ## Testing *Update this section with details on how did you verify the change, what Host was used for build (OS, CPU, compiler, ..), what Target was used for verification (arch, board:config, ..), etc. Providing build and runtime logs from before and after change is highly appreciated.* -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated: sched/timer: Simplify setitimer implementation.
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git The following commit(s) were added to refs/heads/master by this push: new 8ecca52b27 sched/timer: Simplify setitimer implementation. 8ecca52b27 is described below commit 8ecca52b274960e8cae0e6d27fa065cb6e6e61cb Author: ouyangxiangzhen AuthorDate: Fri Oct 18 16:10:28 2024 +0800 sched/timer: Simplify setitimer implementation. This commit simplified setitmer implementation by eliminating a redundant conditional branch. Signed-off-by: ouyangxiangzhen --- sched/timer/timer_setitimer.c | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/sched/timer/timer_setitimer.c b/sched/timer/timer_setitimer.c index c8b29fb4c5..e1864bd83e 100644 --- a/sched/timer/timer_setitimer.c +++ b/sched/timer/timer_setitimer.c @@ -89,7 +89,7 @@ int setitimer(int which, FAR const struct itimerval *value, FAR struct itimerval *ovalue) { - FAR struct tcb_s *rtcb = this_task(); + FAR struct tcb_s *rtcb; struct itimerspec spec; struct itimerspec ospec; irqstate_t flags; @@ -101,20 +101,20 @@ int setitimer(int which, FAR const struct itimerval *value, return ERROR; } + rtcb = this_task(); + + flags = enter_critical_section(); + if (!rtcb->group->itimer) { - flags = enter_critical_section(); - if (!rtcb->group->itimer) -{ - ret = timer_create(CLOCK_REALTIME, NULL, &rtcb->group->itimer); -} - - leave_critical_section(flags); - - if (ret != OK) -{ - return ret; -} + ret = timer_create(CLOCK_REALTIME, NULL, &rtcb->group->itimer); +} + + leave_critical_section(flags); + + if (ret != OK) +{ + return ret; } TIMEVAL_TO_TIMESPEC(&value->it_value, &spec.it_value);
Re: [PR] CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated [nuttx]
nuttxpr commented on PR #14400: URL: https://github.com/apache/nuttx/pull/14400#issuecomment-2422236470 [**\[Experimental Bot, please feedback here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues) ## NuttX PR Requirements Review **Meets Requirements?** Partially **Summary:** The PR description clearly outlines the need to reduce GitHub Runner usage and proposes a change to the CI workflow. However, it lacks specifics on the exact implementation and criteria for distinguishing "Complex" vs "Simple" PRs. **Strengths:** * **Clear Problem Statement:** The description effectively explains the motivation for the change (reducing GitHub Runner usage). * **Impact Clearly Articulated:** The impact on CI workflows for different PR types is well-defined. * **Testing Evidence Provided:** Links to test runs demonstrating the intended behavior are included. **Areas for Improvement:** * **Vague Definition:** The term "Complex PR" needs a precise definition. What criteria will trigger the reduced CI workflow? * **Implementation Details Missing:** The description lacks specifics on how the CI workflow will be modified to achieve the desired behavior. What scripts or configuration changes are involved? * **Incomplete Testing:** * "TODO" markers indicate missing testing for "Simple PR" and "Merging a Complex PR" scenarios. These tests are crucial for verifying the complete functionality. * Consider adding tests that intentionally trigger the "Complex PR" criteria to demonstrate its effectiveness. **Recommendations:** 1. **Define "Complex PR":** Clearly specify the criteria (e.g., number of files changed, specific directories affected) that will trigger the reduced CI workflow. 2. **Provide Implementation Details:** Explain how the CI workflow will be modified. Include code snippets or configuration changes to illustrate the implementation. 3. **Complete Testing:** * Replace "TODO" markers with actual test results. * Include tests that specifically target the "Complex PR" criteria. **Overall:** The PR addresses a valid concern and outlines a potential solution. However, it needs more detail regarding implementation and a more robust testing approach before it can be deemed fully compliant with the NuttX PR requirements. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[PR] cmake: Renamed savedefconfig with refreshsilent [nuttx]
simbit18 opened a new pull request, #14401: URL: https://github.com/apache/nuttx/pull/14401 ## Summary Renamed savedefconfig -> refreshsilent name more consistent with the refresh stage for cmake on github. Added new savedefconfig to fix https://github.com/apache/nuttx/issues/14281 ## Impact Impact on user: No changes to user-facing functionality Impact on build: Build process remains the same ## Testing 1. config with CMake cmake -B build -DBOARD_CONFIG=nucleo-l152re:nsh 2. change any config with menuconfig cmake --build build -t menuconfig For example Disable CONFIG_EXAMPLES_HELLO 3. savedefconfig use cmake cmake --build build -t savedefconfig -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] greenhills: add cmake support [nuttx]
xiaoxiang781216 commented on PR #13627: URL: https://github.com/apache/nuttx/pull/13627#issuecomment-2422241434 @extinguish @xuxin930 please take a look. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] riscv/mpfs: Add boilerplate code for SMP [nuttx]
xiaoxiang781216 merged PR #14397: URL: https://github.com/apache/nuttx/pull/14397 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 01/03: mpfs_start: Initialize percpu as soon as possible
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git commit c99de98995a18e993bb39086de9c38f9f3c439f3 Author: Ville Juven AuthorDate: Fri Oct 18 10:19:18 2024 +0300 mpfs_start: Initialize percpu as soon as possible Otherwise querying for hartid doesn't work. --- arch/risc-v/src/mpfs/mpfs_start.c | 24 ++-- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/arch/risc-v/src/mpfs/mpfs_start.c b/arch/risc-v/src/mpfs/mpfs_start.c index 1b92822472..a7559da105 100644 --- a/arch/risc-v/src/mpfs/mpfs_start.c +++ b/arch/risc-v/src/mpfs/mpfs_start.c @@ -49,10 +49,14 @@ # define showprogress(c) #endif -#if defined (CONFIG_BUILD_KERNEL) && !defined (CONFIG_ARCH_USE_S_MODE) +#if defined(CONFIG_BUILD_KERNEL) && !defined(CONFIG_ARCH_USE_S_MODE) # error "Target requires kernel in S-mode, enable CONFIG_ARCH_USE_S_MODE" #endif +#if defined(CONFIG_SMP) && !defined(CONFIG_RISCV_PERCPU_SCRATCH) +# error "Target requires CONFIG_RISCV_PERCPU_SCRATCH if CONFIG_SMP is set" +#endif + / * Public Data / @@ -99,6 +103,15 @@ void __mpfs_start(uint64_t mhartid) *dest++ = *src++; } +#ifdef CONFIG_RISCV_PERCPU_SCRATCH + /* Initialize the per CPU areas */ + + if (mhartid != 0) +{ + riscv_percpu_add_hart(mhartid); +} +#endif /* CONFIG_RISCV_PERCPU_SCRATCH */ + /* Setup PLL if not already provided */ #ifdef CONFIG_MPFS_BOOTLOADER @@ -137,15 +150,6 @@ void __mpfs_start(uint64_t mhartid) mpfs_boardinitialize(); -#ifdef CONFIG_RISCV_PERCPU_SCRATCH - /* Initialize the per CPU areas */ - - if (mhartid != 0) -{ - riscv_percpu_add_hart(mhartid); -} -#endif /* CONFIG_RISCV_PERCPU_SCRATCH */ - /* Initialize the caches. Should only be executed from E51 (hart 0) to be * functional. Consider the caches already configured if running without * the CONFIG_MPFS_BOOTLOADER -option.
(nuttx) branch master updated (e259aba31c -> cf95305934)
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git from e259aba31c fix build error shift-count-overflow new c99de98995 mpfs_start: Initialize percpu as soon as possible new a33e63097a riscv/mpfs: Add boilerplate code for SMP new cf95305934 mpfs/mpfs_plic: Add procedure to initialize per hart PLIC state The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: arch/risc-v/Kconfig| 1 + arch/risc-v/src/mpfs/hardware/mpfs_clint.h | 2 + arch/risc-v/src/mpfs/mpfs_head.S | 15 ++- arch/risc-v/src/mpfs/mpfs_irq.c| 43 +++-- arch/risc-v/src/mpfs/mpfs_plic.c | 147 - arch/risc-v/src/mpfs/mpfs_plic.h | 16 arch/risc-v/src/mpfs/mpfs_shead.S | 12 ++- arch/risc-v/src/mpfs/mpfs_start.c | 47 +++-- 8 files changed, 208 insertions(+), 75 deletions(-)
(nuttx) 02/03: riscv/mpfs: Add boilerplate code for SMP
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git commit a33e63097accaaa3f718dc262d0ad8a90360c9b5 Author: Ville Juven AuthorDate: Fri Oct 11 13:21:59 2024 +0300 riscv/mpfs: Add boilerplate code for SMP --- arch/risc-v/Kconfig| 1 + arch/risc-v/src/mpfs/hardware/mpfs_clint.h | 2 ++ arch/risc-v/src/mpfs/mpfs_head.S | 15 ++- arch/risc-v/src/mpfs/mpfs_irq.c| 10 ++ arch/risc-v/src/mpfs/mpfs_shead.S | 12 ++-- arch/risc-v/src/mpfs/mpfs_start.c | 13 + 6 files changed, 42 insertions(+), 11 deletions(-) diff --git a/arch/risc-v/Kconfig b/arch/risc-v/Kconfig index 052954b6d0..538e90a133 100644 --- a/arch/risc-v/Kconfig +++ b/arch/risc-v/Kconfig @@ -203,6 +203,7 @@ config ARCH_CHIP_MPFS select ARCH_RV_ISA_C select ARCH_HAVE_FPU select ARCH_HAVE_DPFPU + select ARCH_HAVE_MULTICPU select ARCH_HAVE_MPU select ARCH_MMU_TYPE_SV39 select ARCH_HAVE_ADDRENV diff --git a/arch/risc-v/src/mpfs/hardware/mpfs_clint.h b/arch/risc-v/src/mpfs/hardware/mpfs_clint.h index a15d849267..b83c14e0d7 100644 --- a/arch/risc-v/src/mpfs/hardware/mpfs_clint.h +++ b/arch/risc-v/src/mpfs/hardware/mpfs_clint.h @@ -39,4 +39,6 @@ #define MPFS_CLINT_MTIME (MPFS_CLINT_BASE + 0xbff8) +#define RISCV_IPIMPFS_CLINT_MSIP0 + #endif /* __ARCH_RISCV_SRC_MPFS_HARDWARE_MPFS_CLINT_H */ diff --git a/arch/risc-v/src/mpfs/mpfs_head.S b/arch/risc-v/src/mpfs/mpfs_head.S index b223c84ec7..e691be33f5 100644 --- a/arch/risc-v/src/mpfs/mpfs_head.S +++ b/arch/risc-v/src/mpfs/mpfs_head.S @@ -29,6 +29,7 @@ #include "chip.h" #include "mpfs_memorymap.h" #include "riscv_internal.h" +#include "riscv_macros.S" / * Public Symbols @@ -183,21 +184,17 @@ __start: /* Set stack pointer to the idle thread stack */ +#ifdef CONFIG_SMP + addi a1, a0, -1/* Only cores 1...3 can participate in SMP */ + riscv_set_inital_sp MPFS_IDLESTACK_BASE, SMP_STACK_SIZE, a1 +#else la sp, MPFS_IDLESTACK_TOP +#endif /* Jump to __mpfs_start with mhartid in a0 */ tail __mpfs_start - /* We shouldn't return from __mpfs_start - * in case of return, loop forever. nop's added so can be seen in debugger - */ - -1: - nop - nop - j 1b - .global _init .global _fini diff --git a/arch/risc-v/src/mpfs/mpfs_irq.c b/arch/risc-v/src/mpfs/mpfs_irq.c index 5ee1a744ed..ff5cec7f3f 100644 --- a/arch/risc-v/src/mpfs/mpfs_irq.c +++ b/arch/risc-v/src/mpfs/mpfs_irq.c @@ -33,6 +33,8 @@ #include #include "riscv_internal.h" +#include "riscv_ipi.h" + #include "mpfs.h" #include "mpfs_plic.h" @@ -96,6 +98,14 @@ void up_irqinitialize(void) riscv_exception_attach(); +#ifdef CONFIG_SMP + /* Clear IPI for CPU0 */ + + riscv_ipi_clear(0); + + up_enable_irq(RISCV_IRQ_SOFT); +#endif + #ifndef CONFIG_SUPPRESS_INTERRUPTS /* And finally, enable interrupts */ diff --git a/arch/risc-v/src/mpfs/mpfs_shead.S b/arch/risc-v/src/mpfs/mpfs_shead.S index b73127f437..bd6e479cf1 100644 --- a/arch/risc-v/src/mpfs/mpfs_shead.S +++ b/arch/risc-v/src/mpfs/mpfs_shead.S @@ -95,5 +95,13 @@ __start: /* Set stack pointer and jump to start */ - la sp, MPFS_IDLESTACK_TOP - j __mpfs_start +#ifdef CONFIG_SMP + addi a1, a0, -1/* Only cores 1...3 can participate in SMP */ + riscv_set_inital_sp MPFS_IDLESTACK_BASE, SMP_STACK_SIZE, a1 +#else + la sp, MPFS_IDLESTACK_TOP +#endif + + /* Jump to __mpfs_start with mhartid in a0 */ + + tail __mpfs_start diff --git a/arch/risc-v/src/mpfs/mpfs_start.c b/arch/risc-v/src/mpfs/mpfs_start.c index a7559da105..3e18a4b96b 100644 --- a/arch/risc-v/src/mpfs/mpfs_start.c +++ b/arch/risc-v/src/mpfs/mpfs_start.c @@ -81,6 +81,13 @@ void __mpfs_start(uint64_t mhartid) riscv_fpuconfig(); } + /* CPU 0 handles the boot, the rest wait */ + + if (riscv_hartid_to_cpuid(mhartid) != 0) +{ + goto cpux; +} + /* Clear .bss. We'll do this inline (vs. calling memset) just to be * certain that there are no issues with the state of global variables. */ @@ -185,6 +192,12 @@ void __mpfs_start(uint64_t mhartid) showprogress('a'); +cpux: + +#ifdef CONFIG_SMP + riscv_cpu_boot(riscv_hartid_to_cpuid(mhartid)); +#endif + while (true) { asm("WFI");
Re: [PR] cmake: Renamed savedefconfig with refreshsilent [nuttx]
nuttxpr commented on PR #14401: URL: https://github.com/apache/nuttx/pull/14401#issuecomment-2422264141 [**\[Experimental Bot, please feedback here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues) The PR summary is missing some key details: * **What functional part of the code is being changed?** Be specific. Mentioning "cmake" is a start, but what part of the CMake build system is affected? * **How does the change exactly work?** Explain the renaming and the new `savedefconfig` functionality more technically. The Impact section seems okay, although it might be helpful to specify "No impact on documentation" for completeness. The Testing section has issues: * **Build Host(s) & Target(s):** This section needs concrete information. List the operating system, CPU architecture, and compiler used for building, as well as the target architecture and board configuration. * **Testing logs:** The logs are placeholder comments. Provide actual log output demonstrating the issue before the change and the successful behavior after the change. **In short, the PR, as described, does not meet the NuttX requirements fully. It needs more specific information in the Summary and Testing sections.** -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[I] [BUG] CONFIG_LIBCXX doesn't work with cmake [nuttx]
raiden00pl opened a new issue, #14403: URL: https://github.com/apache/nuttx/issues/14403 ### Description / Steps to reproduce the issue It's been broken for a long time but I don't see any issue about it. ``` cmake -B build -DBOARD_CONFIG=sim/libcxxtest -GNinja cmake --build build ``` ``` [872/1512] Building CXX object libs/libxx/CMakeFiles/libcxx.dir/libcxx/src/ios.instantiations.cpp.o FAILED: libs/libxx/CMakeFiles/libcxx.dir/libcxx/src/ios.instantiations.cpp.o /usr/bin/g++ -DLIBCXX_BUILDING_LIBCXXABI -D_LIBCPP_BUILDING_LIBRARY -D__NuttX__ -I/home/raiden00/git/railab/dawn/external/nuttx/libs/libxx/libcxx/src -I/home/raiden00/git/railab/dawn/external/nuttx/build/include/libcxx -I/home/raiden00/git/railab/dawn/external/nuttx/libs/libxx/libcxxabi/include -isystem /home/raiden00/git/railab/dawn/external/nuttx/include -isystem /home/raiden00/git/railab/dawn/external/nuttx/build/include -std=gnu++20 -U_AIX -U_WIN32 -U__APPLE__ -U__FreeBSD__ -U__NetBSD__ -U__linux__ -U__sun__ -U__unix__ -U__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ -g -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-common -fvisibility=hidden -Wall -Wshadow -Wundef -Wno-attributes -Wno-unknown-pragmas -std=gnu++20 -nostdinc++ -D__GLIBCXX__ -D_LIBCPP_DISABLE_AVAILABILITY -fmacro-prefix-map=/home/raiden00/git/railab/dawn/external/nuttx= -fmacro-prefix-map=/home/raiden00/git/railab/dawn/external/apps= -fmacro-prefix-map=/home/raiden00/git/railab/dawn/external/nuttx/ boards/sim/sim/sim= -fmacro-prefix-map=/home/raiden00/git/railab/dawn/external/nuttx/arch/sim/src/sim= -Wno-deprecated-declarations -Wno-shadow -Wno-sign-compare -MD -MT libs/libxx/CMakeFiles/libcxx.dir/libcxx/src/ios.instantiations.cpp.o -MF libs/libxx/CMakeFiles/libcxx.dir/libcxx/src/ios.instantiations.cpp.o.d -o libs/libxx/CMakeFiles/libcxx.dir/libcxx/src/ios.instantiations.cpp.o -c /home/raiden00/git/railab/dawn/external/nuttx/libs/libxx/libcxx/src/ios.instantiations.cpp In file included from /home/raiden00/git/railab/dawn/external/nuttx/build/include/libcxx/__filesystem/filesystem_error.h:15, from /home/raiden00/git/railab/dawn/external/nuttx/build/include/libcxx/__filesystem/directory_entry.h:20, from /home/raiden00/git/railab/dawn/external/nuttx/build/include/libcxx/filesystem:539, from /home/raiden00/git/railab/dawn/external/nuttx/build/include/libcxx/fstream:192, from /home/raiden00/git/railab/dawn/external/nuttx/libs/libxx/libcxx/src/ios.instantiations.cpp:10: /home/raiden00/git/railab/dawn/external/nuttx/build/include/libcxx/__filesystem/path.h: In instantiation of ‘std::__1::__fs::filesystem::path::_EnableIfPathable<_Source> std::__1::__fs::filesystem::path::append(const _Source&) [with _Source = std::__1::basic_string]’: /home/raiden00/git/railab/dawn/external/nuttx/build/include/libcxx/__filesystem/path.h:623:30: error: use of built-in trait ‘__remove_pointer(typename std::__1::decay<_Tp>::type)’ in function signature; use library traits instead 623 | _EnableIfPathable<_Source> append(const _Source& __src) { | ^~ [885/1512] Building CXX object libs/libxx/CMakeFiles/libcxx.dir/libcxx/src/locale.cpp.o ninja: build stopped: subcommand failed. ``` it can be fixed with this changes https://github.com/apache/nuttx/pull/12150 but this PR is closed and now it's hard to rebase these changes with master ### On which OS does this issue occur? [OS: Linux] ### What is the version of your OS? Arch Linux ### NuttX Version master ### Issue Architecture [Arch: all] ### Issue Area [Area: Build System] ### Verification - [X] I have verified before submitting the report. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated (cf95305934 -> a7f7afe019)
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git from cf95305934 mpfs/mpfs_plic: Add procedure to initialize per hart PLIC state new 50f16c840c bmi160: fix compile warning and %zu replace %u new a7f7afe019 bmi160: fix Parameter passing error when use spi The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: drivers/sensors/bmi160.c | 2 +- drivers/sensors/bmi160_base.h | 1 + drivers/sensors/bmi160_uorb.c | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-)
Re: [I] [HELP] Making HTTPS calls using MBEDTLS [nuttx]
tmedicci commented on issue #14010: URL: https://github.com/apache/nuttx/issues/14010#issuecomment-2422384048 Hi @engdavidiogo and @FelipeMdeO , We merged it on `release/v5.1.c` branch:https://github.com/espressif/esp-hal-3rdparty/commit/26d4d1b57d54b63384b4e466b9e644ff0fe702b5 Can you please test it setting `ESP_HAL_3RDPARTY_VERSION=26d4d1b57d54b63384b4e466b9e644ff0fe702b5` before the `make` command to build NuttX? (we'd still need to update the hash for the HAL on NuttX) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
cederom commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2422388375 > @lupyuen: (2) Can we have Restartable Builds? Doesn't quite make sense to build everything from scratch (arm6, arm7, riscv7) just because one job failed (xtensa2) It is possible to restart only failed tasks on GitHub :-) If you mean the task could restart where it left.. I am not sure its possible because underlying configuration could change after update to be verified and things need to be started from scratch? :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [RC] LVGL 9.2.1 on NuttX 12.7.0(-RC) workbench. [nuttx]
cederom commented on issue #13825: URL: https://github.com/apache/nuttx/issues/13825#issuecomment-2422376844 * Okay I have asked on https://github.com/lvgl/lvgl/issues/7098 if the `release/v9.2.1` branch could be created so we could move further with 9.2.1+12.7.0 integration. * I know we are 3 weeks after planned NuttX 12.7.0 release date and quickly approaching 4th week. Sorry for that but I still think LVGL is important feature to have. * If `release/v9.2.1` branch is not out until Sunday we may consider sticking with 9.1.0 not to delay more our release. Various framebuffer and LCD drivers problems are solved on our side. When 9.2.1 is ready and finished we may add it in 12.8. * What do you think @jerpelea ? :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [URGENT] Reducing our usage of GitHub Runners [nuttx]
lupyuen commented on issue #14376: URL: https://github.com/apache/nuttx/issues/14376#issuecomment-2421607846 Something That Bugs Me: __Timeout Errors__ will cost us precious GitHub Minutes. The remaining jobs get killed, and restarting these remaining jobs from scratch will consume extra GitHub Minutes. (1) How do we retry these Timeout Errors? (2) Can we have Restartable Builds? Doesn't quite make sense to build everything from scratch (arm6, arm7, riscv7) just because one job failed (xtensa2) (3) Or xtensa2 should wait for others to finish, before it declares a timeout and dies? Hmmm... ```text Configuration/Tool: esp32s2-kaluga-1/lvgl_st7789 curl: (28) Failed to connect to github.com port 443 after 133994 ms: Connection timed out ``` https://github.com/apache/nuttx/actions/runs/11395811301/attempts/1 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [BUG] cmake savedefconfig failure after https://github.com/apache/nuttx/pull/13815 [nuttx]
raiden00pl commented on issue #14281: URL: https://github.com/apache/nuttx/issues/14281#issuecomment-2422275687 > Why should savedefconfig replace the defconfig file in the boards/arm/qemu-armv7a/configs/nsh path? Its task (as in compiling with make) should only be to recreate the defconfig file in the cmake buid path. https://github.com/ulfalizer/Kconfiglib/blob/master/savedefconfig.py @simbit18 look at this PR discussion: https://github.com/apache/nuttx/pull/11416 FYI @anchao -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
[PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
extinguish opened a new pull request, #14404: URL: https://github.com/apache/nuttx/pull/14404 ## Summary enable warning info output with color font decorate ## Impact has no impact on current build procedure ## Testing has tested on gnu compiler -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] tools/esp32s3/Config.mk: fix "unterminated call to function" error [nuttx]
xiaoxiang781216 merged PR #14393: URL: https://github.com/apache/nuttx/pull/14393 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
raiden00pl commented on code in PR #14404: URL: https://github.com/apache/nuttx/pull/14404#discussion_r1806501085 ## cmake/nuttx_toolchain.cmake: ## @@ -23,6 +23,13 @@ # search. If the manual of the newly supported toolchain is different, you can # override these methods in the toolchain +if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") Review Comment: not sure why, but for me CMAKE_C_COMPILER_ID value is empty in this context -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] libc: Add debug assert to prevent tls allocation failure [nuttx]
xiaoxiang781216 merged PR #14296: URL: https://github.com/apache/nuttx/pull/14296 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] esp32[c3]: Add BLE support [nuttx]
xiaoxiang781216 merged PR #14068: URL: https://github.com/apache/nuttx/pull/14068 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) branch master updated (05ba822c41 -> 0496984338)
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git from 05ba822c41 esp32[c3]: Add BLE support add 0496984338 libc: Add debug assert to prevent tls allocation failure No new revisions were added by this update. Summary of changes: libs/libc/tls/task_tls_destruct.c | 4 1 file changed, 4 insertions(+)
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
extinguish commented on PR #14404: URL: https://github.com/apache/nuttx/pull/14404#issuecomment-2422497606 > it doens't fix the problem for me: > > https://private-user-images.githubusercontent.com/6563055/377862322-017918de-27d2-44d1-ba52-1cb39a52791b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjkyNTQyMDgsIm5iZiI6MTcyOTI1MzkwOCwicGF0aCI6Ii82NTYzMDU1LzM3Nzg2MjMyMi0wMTc5MThkZS0yN2QyLTQ0ZDEtYmE1Mi0xY2IzOWE1Mjc5MWIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MTAxOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDEwMThUMTIxODI4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YmY2NTgyOTA3YTJhOTBmNDBiNWI5NzY2YTFmOWU2NTVlM2JlZDA0MTBiODFjYTMwZTg5YzNiNjVkODExNzlmNiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.mh1vHpAG7ObyRtllTcFS8ew4N5tkFf3Q5Kv5sH9C-6Q";> > tested with `gcc (GCC) 14.1.1 20240522` > > the same for `arm-none-eabi-gcc (Arch Repository) 13.2.0` Could you please post your build configcation? The build configuration I use for local testing are `cmake -B build -DBOARD_CONFIG=qemu-armv7a:nsh` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
(nuttx) 01/06: armv7/8m: unmask all the IRQ when thread start
This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch releases/12.7 in repository https://gitbox.apache.org/repos/asf/nuttx.git commit aa4a428825c560453c36d29f6c1f45a7ef3db4a9 Author: ligd AuthorDate: Wed Apr 24 15:39:18 2024 +0800 armv7/8m: unmask all the IRQ when thread start NVIC_SYSH_PRIORITY_MIN not the basepri loweest prio spec says: basepri 0 - Disables masking by BASEPRI Signed-off-by: ligd --- arch/arm/include/armv7-m/irq.h | 2 +- arch/arm/include/armv8-m/irq.h | 2 +- arch/arm/src/armv7-m/arm_initialstate.c | 2 +- arch/arm/src/armv8-m/arm_initialstate.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/include/armv7-m/irq.h b/arch/arm/include/armv7-m/irq.h index c387899f60..87cf6e0acf 100644 --- a/arch/arm/include/armv7-m/irq.h +++ b/arch/arm/include/armv7-m/irq.h @@ -440,7 +440,7 @@ static inline void up_irq_enable(void) { /* In this case, we are always retaining or lowering the priority value */ - setbasepri(NVIC_SYSH_PRIORITY_MIN); + setbasepri(0); __asm__ __volatile__ ("\tcpsie i\n"); } diff --git a/arch/arm/include/armv8-m/irq.h b/arch/arm/include/armv8-m/irq.h index fb23d569b7..0860ae960c 100644 --- a/arch/arm/include/armv8-m/irq.h +++ b/arch/arm/include/armv8-m/irq.h @@ -413,7 +413,7 @@ static inline void up_irq_enable(void) { /* In this case, we are always retaining or lowering the priority value */ - setbasepri(NVIC_SYSH_PRIORITY_MIN); + setbasepri(0); __asm__ __volatile__ ("\tcpsie i\n"); } diff --git a/arch/arm/src/armv7-m/arm_initialstate.c b/arch/arm/src/armv7-m/arm_initialstate.c index 4e6127ff81..4baec4aee4 100644 --- a/arch/arm/src/armv7-m/arm_initialstate.c +++ b/arch/arm/src/armv7-m/arm_initialstate.c @@ -163,7 +163,7 @@ void up_initial_state(struct tcb_s *tcb) #else /* CONFIG_SUPPRESS_INTERRUPTS */ #ifdef CONFIG_ARMV7M_USEBASEPRI - xcp->regs[REG_BASEPRI] = NVIC_SYSH_PRIORITY_MIN; + xcp->regs[REG_BASEPRI] = 0; #endif #endif /* CONFIG_SUPPRESS_INTERRUPTS */ diff --git a/arch/arm/src/armv8-m/arm_initialstate.c b/arch/arm/src/armv8-m/arm_initialstate.c index fa2cf96718..4916fc36ea 100644 --- a/arch/arm/src/armv8-m/arm_initialstate.c +++ b/arch/arm/src/armv8-m/arm_initialstate.c @@ -169,7 +169,7 @@ void up_initial_state(struct tcb_s *tcb) #else /* CONFIG_SUPPRESS_INTERRUPTS */ #ifdef CONFIG_ARMV8M_USEBASEPRI - xcp->regs[REG_BASEPRI] = NVIC_SYSH_PRIORITY_MIN; + xcp->regs[REG_BASEPRI] = 0; #endif #endif /* CONFIG_SUPPRESS_INTERRUPTS */
Re: [I] [BUG] ESP32S3 spiflash_suspend_cache will hang at enable ESP32S3_APP_FORMAT_MCUBOOT [nuttx]
tmedicci commented on issue #14368: URL: https://github.com/apache/nuttx/issues/14368#issuecomment-2423150165 Thanks for reporting: we were able to reproduce the error and we are testing a solution on our internal CI. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] LVGL Version [nuttx-apps]
cederom commented on issue #2461: URL: https://github.com/apache/nuttx-apps/issues/2461#issuecomment-2423185076 Okay the LVGL `release/v9.2` branch is here and this will contain 9.2.1 release code that is 99% ready we can proceed :-) https://github.com/lvgl/lvgl/tree/release/v9.2 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [I] [RC] LVGL 9.2.1 on NuttX 12.7.0(-RC) workbench. [nuttx]
cederom commented on issue #13825: URL: https://github.com/apache/nuttx/issues/13825#issuecomment-2423180802 Okay, so the LVGL `releases/v9.2` branch is here and this is our target branch to work on 99% ready before the 9.2.1 release :-) https://github.com/lvgl/lvgl/tree/release/v9.2 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
raiden00pl commented on code in PR #14404: URL: https://github.com/apache/nuttx/pull/14404#discussion_r1806506875 ## cmake/nuttx_toolchain.cmake: ## @@ -23,6 +23,13 @@ # search. If the manual of the newly supported toolchain is different, you can # override these methods in the toolchain +if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") Review Comment: OK, I know know. This implementation is wrong. `CMAKE_C_COMPILER_ID` is valid only after `project()` call ## cmake/nuttx_toolchain.cmake: ## @@ -23,6 +23,13 @@ # search. If the manual of the newly supported toolchain is different, you can # override these methods in the toolchain +if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") Review Comment: OK, I know now. This implementation is wrong. `CMAKE_C_COMPILER_ID` is valid only after `project()` call -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
raiden00pl commented on PR #14404: URL: https://github.com/apache/nuttx/pull/14404#issuecomment-2422514555 maybe we have different versions of cmake? Mine is `cmake version 3.29.5`, Moving this code after `project()` it works as expected. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
raiden00pl commented on PR #14404: URL: https://github.com/apache/nuttx/pull/14404#issuecomment-2422501521 `CMAKE_C_COMPILER_ID` is valid only after `project()` call. When I put `message(" ${CMAKE_C_COMPILER_ID}")` after `project(NuttX LANGUAGES C CXX ASM)` I can see ` GNU` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] cmake: fix the fdiagnostics-color handle issue [nuttx]
extinguish commented on PR #14404: URL: https://github.com/apache/nuttx/pull/14404#issuecomment-2422509859 > `CMAKE_C_COMPILER_ID` is valid only after `project()` call. When I put `message(" ${CMAKE_C_COMPILER_ID}")` after `project(NuttX LANGUAGES C CXX ASM)` I can see ` GNU` Well, this bug has not been fixed yet. There is no problem displayed locally on my side. It is very likely to be a problem with my local environment. I will fix it again on my side. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org
Re: [PR] lvgl: upgrade to release/v9.2 [nuttx-apps]
cederom commented on PR #2592: URL: https://github.com/apache/nuttx-apps/pull/2592#issuecomment-2423192384 As LVGL tag v9.2.1 is not here yet we may use https://github.com/lvgl/lvgl/archive/refs/heads/release/v9.2.zip for testing :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org