RTEMS / RTOS / RTEMS

Go to Issues or Merge Requests

Issues Summary

5080 - Lowercase all directories and files in source.

5076 - objectgetinfo.c: Potential access past end of array

5063 - Add a call to return open file descriptors

5062 - Return task and idle time with getrusage

5060 - Add CPU Usage calls to return the time or ticks accounted for in tasks

5058 - dhrystone: Prevent procedure merging

5050 - Add fatal error for rtems_cache_disable_data()

5049 - Add sys/tree.h from newlib to the score with a different name

5043 - Remove e500 instructions from PowerPC BSPs that are not E500

5038 - CPUKit score uses empty structs

5017 - Creation of an helper method for rtems_aio_handle()

5013 - Generate release notes.

5007 - typo in CODEOWNERS

5006 - typo in CODEOWNERS

5005 - Migrate commits from master to main after gitlab transition

5003 - Make GCC ARM Cortex-A53 errata workarounds available

4999 - missing bsp’s in rtems 6.1 rc2

4997 - GMP not building when not installed

4995 - powerpc/qoriq_e6500_64 rtems-syms unknown machine type (cloned)

4994 - Documentation Sphinx theme broken for HTML

4993 - Increase FD_SETSIZE to 256

4991 - RSB source and patch checksum updates

4986 - Improve CONFIGURE_TICKS_PER_TIMESLICE configuration and documentation

4980 - Build documentation using sphinx 7.2

4977 - tmux bug swaps lines and columns

4975 - Terminal row/col probe timeout too fast

4974 - rtems-tools buid failed with ‘–host=x86_64-w64-mingw32’

4973 - Add RSB options to control a specific python

4971 - Report that nested validation test cases did run

4970 - Fix C++ 17 deprecated functionality in rtems-tools

4969 - Update libibery sources in rtems-tools

4968 - Python 3.12 fix escape sequences and remove SafeConfigParser

4967 - strtof leaks memory

4962 - MicroBlaze BSPs modify carry flag before MSR is saved

4961 - Document and test CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY

4960 - User manual test documentation update

4959 - rtems-test tftp does not a session timeout

4957 - spstdc17 warnings building i386/pc686

4955 - sparc: Potential stack corruption in uniprocessor configurations during start multitasking

4954 - sparc: Simplify the clock driver and CPU counter support

4953 - Use of symbol addresses for arbitrary values may not work for some code models

4952 - rtems-ld created wrong RAP file on arm

4951 - rtems-tools fail on FreeBSD to get number of cores

4950 - libdl test dl07 fails on PowerPC

4947 - Testsuite libtest tests not built with optimise or debug flags

4945 - rtems-test SIS support is broken

4944 - libdl test dl09 fails on arm and aarch64

4943 - ARM unwind register is not being hooked

4942 - Regulator warnings

4941 - Test suite files produced by rtems-syms are not reproducible

4940 - Fix cache support for ARM926EJ-S processor

4935 - 7/rtems-mips get source fails

4934 - Update STM32 H7 HAL/LL drivers code

4924 - Add Regulator Helper to RTEMS

4923 - FPU context init/switch not working well on more than 2 tasks on Cortex-Mx/ARMv7-M platform

4915 - Building sphinx 7.0.1 fails

4913 - libbsd/ipsec-tools: Problems with more than 64 open files

4912 - Collect Compression Library Source in Single Place

4910 - RSB options for python selection

4909 - Multiple Protected Heap Functions are Ununused

4906 - libbsd not working on nucleo-h743ZI

4905 - SuperCore _TOD_Adjust No Longer Referenced and Should be Removed

4902 - Update zlib to version 1.2.13

4901 - rtems_task_construct Documentation Missing Some Details

4900 - PowerPC score warnings in score headers

4899 - BSP powerpc/qoriq_e6500_64 and powerpc/qoriq_e6500_32 fail to build

4896 - Makefile.inc exported BSP include path not a system include path

4892 - MacOS tools build failures on Ventura and M series processors

4889 - Remove file scanning from rtems-lwip

4887 - RTEMS Net Legacy does not build as a package in the RSB

4884 - I2C default ioctl handler does not handle set clock

4882 - mvme2703 legacy network build failure

4881 - powerpc gas and ld warnings

4878 - sptests/spsysinit01 sem_open call only has 3 parameters with O_CREAT flag (cloned)

4874 - Undefined behaviour

4872 - GDB 13.1 does not build on FreeBSD 13.1

4870 - Add features for QSPI Flash on Xilinx Versal

4869 - Add QSPI Flash Device API

4867 - Clean up rtems-lwip uLan directory

4863 - Operations evaluation order.

4862 - score/ & bsps/: Unused input parameters

4861 - “Single HTML” links on docs.rtems.org lead to empty pages

4860 - Waf Failure on CentOS 8 Stream

4859 - Update gdb to 12.1

4858 - GDB fails to build on any host with readline 8.2 or newer

4857 - RSB Recipe Missing %hash Does Not Fail

4855 - Input validity unchecked

4850 - LEON3 - Variable not initialized in any file / missing #ifdefs

4847 - Goto statements

4845 - Global variable declared/defined in the wrong file

4844 - Score Unchecked boundaries

4843 - Output value not assigned

4842 - SPARC/grlib - Registers definitions wrongly defined when there are reserved bits

4838 - Fix for UART interrupt on aarch64 Versal

4835 - medit malloc problem of RTEMS (cloned)

4834 - close_editor problem of RTEMS4.13/5.1 (cloned)

4832 - CLANG flagged error

4828 - Macro defined but magic number used instead

4822 - Function returning unchanged function input

4821 - Ubuntu Host Instructions Wrong

4820 - Hazardous cast

4818 - Incomplete Statement in “cpu->heir”

4803 - Revert or Mark CAN API as experimental

4783 - Fix issues when compiling dtc with Cygwin

4782 - Correct Issues in Rate Monotonic Manager Background Section

4778 - Deployed RSB does not find release version config

4775 - RISC-V: Default RV64 BSPs to medany

4772 - Remove use of interval from rtems_task_wake_after() documentation

4771 - Versal UART issues

4769 - config: Add CONFIGURE_RECORD_INTERRUPTS_ENABLED

4766 - Classic API User Guide Index has Functions without Parentheses

4763 - Detect terminal size

4762 - Add Versal SDHCI Arasan driver to libbsd

4759 - TLS support is broken for ARMv6

4756 - Docs build system does not build singlehtml (cloned)

4751 - chmod problem in shell of RTEMS 6

4750 - Linker discards RTEMS_SYSINIT_ITEM object

4746 - Armv7-M SysTick clock driver uses off by one reload value

4744 - libdebugger arm backend does not single step

4741 - Fix GCC PR 107248

4732 - Set top in RSB version.py

4730 - rtems-source-builder doesn’t generate tar archives for all packages any more

4729 - Add 64bit address support to RTEMS FDT

4726 - RSB decode exception stops build

4724 - Git commit message format instructions

4718 - Coverity issues in cpukit/libfs/src/ftpfs/tftpDriver.c

4714 - Use waf for LwIP walk sources

4713 - Make pthread_atfork follow FACE Technical Standard Behavior for Single Process Environments

4712 - powerpc: Add AltiVec VRSAVE support

4710 - RSB does not expand dir type macros correctly

4706 - Installed header break C++

4705 - Installed header clean up

4703 - NetSNMP 5.7.2.1 Patch

4702 - Fix warnings for indexing past array bounds (primarily validation tests)

4701 - Relocatable write data is placed in read-only region on some BSPs

4700 - Fix instances of “is” operator used with literals

4697 - Documentation for libbsd Configure options

4694 - sptests/sp37 fails to compile if RTEMS_SMP is not defined

4693 - Remove ILP32 aarch64/xilinx_versal_* BSPs

4691 - Add support for FACE Technical Standard Restriction on POSIX Absolute Timers

4690 - CLOCK_REALTIME thread queue not updated as part of clock_settime call

4689 - mips/jmr3904 Massive Number of Test Failures

4686 - Refactor shared code in Arm and AArch64

4684 - Support Versal DDRMC0 regions 0 and 1

4682 - Add AArch64 support to libdl

4680 - POSIX tasks cancelled through rtems_task_delete() should have an exit value of PTHREAD_CANCELED

4679 - Use priority inheritance for thread join

4678 - System initialization time increased compared to RTEMS 4.11

4677 - incorrect handling of “inactive_per_block” from “Objects_Information” structure (cloned)

4673 - Runtime loader exported symbols address size not consistent

4672 - Thread-local storage should be usable once an idle thread exists

4670 - Add option to build RTEMS with coverage instrumentation

4669 - clock_nanosleep() uses the wrong clock to determine the start time point

4668 - Use thread-local storage in libstdc++

4667 - include/sys/_bitset.h defines struct bitset, pollutes namespace

4666 - TFTP: Implement block and window size options

4662 - Fix GCC 12 warnings

4661 - GCC 12 generates wrong code

4658 - Fix build issue with riscv sample test

4656 - sync() whould synchronize all file descriptors (cloned)

4654 - pfctl: Fix global state initialization (cloned)

4652 - if_atsam: Fix checksum offload, add multicast and VLAN support (cloned)

4650 - tcpdump: Fix dumping to file and reading from file (cloned)

4646 - Control buildsets using the –with-* command line option

4644 - wkspace “failed allocations” increase with heap protection enabled (cloned)

4641 - x86_64 elf_machdep header file missing body

4639 - Error in imfs memfile when device is full

4635 - untar on JFFS slow down

4634 - Fix hash for glib-2.48

4632 - Error in rtems/thread.hpp with GCC 12

4631 - RSB fails to build gdb with Python 3.10 (and newer)

4629 - shell: Potential stack corruption in rtems_shell_init()

4627 - Multitasking start is broken on SMP targets which do not restore the interrupt state during context switching

4619 - riscv/rv32iac: minimum sample test fails to build

4617 - Potential non-monotonic CLOCK_MONOTONIC

4615 - Deprecate v850 port in rtems6 and remove in rtems7

4614 - Deprecate sh port in rtems6 and remove in rtems7

4613 - Deprecate sparc64 port in rtems6 and remove in rtems7

4607 - support for SATA(AHCI) drives

4588 - RTEMS Stack Checker Report Bad Access When Not Enabled

4585 - Multiple Prototype Issues/Mismatches in rtems-examples from trace linker

4583 - rtems-bsp-builder: Do not vary on network

4581 - Add AArch64 to Tier 1 BSPs

4572 - Improve Clarity for New Clock Manager Directives

4569 - aarch64 cache support does not provide rtems_cache_disable_data()

4566 - Atomic store does not use the order parameter for C++

4557 - medit problem in RTEMS6 (was 4.11/5.1)

4556 - rtems_shell_main_mmove problem

4551 - Workaround for GRLIB-TN-0011 required for sparc/leon3 BSPs in SMP configuration

4550 - Add –rtems-version to rtems-test

4548 - Add RTEMS version option to waf configure

4546 - A thread restart does not update the priority of related threads

4545 - The SMP EDF scheduler can only support more restricted affinity sets of a thread

4544 - The last processor must not be removed if it is owned by a helping scheduler

4543 - cannot build multiprocessor application on eclipse

4534 - SMP EDF scheduler violates priority group ordering

4533 - libdebugger should only build for archs with a backend

4532 - Priority inversion issues with MrsP locking protocol implementation

4531 - Data corruption in SMP schedulers

4528 - rate monotonic: reset of CPU usage time not always detected

4527 - Add new directives to get all time values provided by the timehands

4525 - rtems-tld.cpp: Logically dead code error spotted by Coverity

4524 - Re-add lost capability for custom stack allocator to allocate IDLE thread stacks

4522 - Optimize red-black tree insert/extract

4519 - record-main-lttng.cc: Out-of-bounds access

4518 - RTEMS and LibBSD both provide competing pipe() interfaces

4517 - Build failures for MacOS

4513 - Document parts of the Cache Manager in the Classic API Guide

4511 - Count of postponed jobs is not set to zero for a newly created rate-monotonic period object

4509 - Message queue priority dicipline is broken in SMP configurations

4508 - rtems_message_queue_receive(): flush() does not release waiting tasks

4507 - mount call retruns error number and it should return -1

4506 - posix_devctl() should return the errno directly not -1 and set errno

4502 - rld-rap.cpp: Uncaught exception issue spotted by Coverity

4501 - TraceConverter.cc: Uncaught exception issue spotted by Coverity

4500 - rld-dwarf.cpp: Uninitialized scalar field

4499 - rtems-exeinfo.cpp: Uninitialized scalar field error spotted by Coverity

4492 - ObjdumpProcessor.cc: Uninitialized pointer field

4491 - TraceWriterQEMU.cc: Buffer not null terminated issue spotted by Coverity

4490 - rtems_partition_return_buffer() wrongly accepts buffers which are exactly at the buffer area end

4489 - waf configure’s –rtems-config and build create an error

4488 - TraceWriterQEMU.cc: Uninitialized scalar variable issue spotted by Coverity

4487 - GcovData.cc: Uninitialized scalar field error spotted by Coverity

4486 - TraceWriterQEMU.cc: String not null terminated issue spotted by Coverity

4485 - GcovData.cc: Out-of-bounds acces errors spotted by Coverity

4484 - GcovFunctionData.cc: Not restoring ostream format error spotted by Coverity

4483 - GcovData.cc: Not restoring ostream format error spotted by Coverity

4482 - Document kernel character I/O support in Classic API Guide

4475 - Add NFSv4 client support to libbsd

4473 - AddressToLineMapper.h: Pointer to local outside scope error spotted by Coverity

4472 - ReportsText.cc: Not restoring ostream format error spotted by Coverity

4471 - ReportsHtml.cc: Not restoring ostream format error spotted by Coverity

4470 - CoverageMapBase.cc: Not restoring ostream format error spotted by Coverity

4469 - rtems-exeinfo.cpp: Not restoring ostream format errors spotted by Coverity

4468 - waf build system does not generate the same bspopts.h

4463 - rtems_condition_variable_signal() is implemented as a broadcast

4462 - CID 1437638: Logically dead code

4461 - grlib: Register system console as “/dev/console”

4460 - CID 1437647: Explicit null dereferenced

4458 - Simplify trap table initialization

4455 - bsps/i386: TSC calibration inaccurate

4454 - bsps/i386: TSC calibration inaccurate

4453 - Global vs Local Attribute Unclear for SMP/Distributed MP

4451 - DesiredSymbols: Implement move assignment operator

4448 - covoar reports uncovered ranges of size 1

4445 - CID 1468684: Uninitialized scalar variable

4444 - CID 1399727: Copy into fixed size buffer

4442 - CID 1399721: Copy into fixed size buffer

4439 - Open of /dev/console should only be in SysInit List if Console Enabled

4438 - powerpc/shared/irq/ppc-irq-legacy.c: Use rtems_malloc() not malloc()

4437 - powerpc/shared/sbrk.c: Do not reference errno

4435 - Thread cancellation may produce ready threads with an active thread timer

4434 - record-filter-zlib.cc: Uninitialized pointer field error spotted by Coverity

4433 - DesiredSymbols.h: Uninitialized pointer field error spotted by coverity

4432 - GcovFunctionData.cc: Uninitialized pointer field error spotted by coverity

4430 - DesiredSymbols.cc: Uninitialized pointer read error spotted by Coverity

4428 - ReportsBase.cc: Dereference after null check error spotted by Coverity

4427 - GcovData.cc: Dereference after null check error spotted by Coverity

4426 - clock_nanosleep() may use wrong clock for relative times

4425 - GcovFunctionData.cc: Copy into fixed size buffer errors spotted by Coverity

4424 - rtems-bin2c.c: Copy into fixed size buffer spotted by Coverity

4423 - record-client.c: Unchecked return value error spotted by Coverity

4422 - ReportsBase.cc: Resource leak error spotted by Coverity

4421 - DesiredSymbols.cc: Resource leak error spotted by Coverity

4420 - TraceWriterQEMU.cc: Resource leak error spotted by Coverity

4419 - TraceReaderLogQEMU.cc: Resource leak error spotted by Coverity

4418 - GcovData.cc: Resource leak error spotted by Coverity

4417 - Explanations.cc: Resource leak error spotted by Coverity

4416 - rtems-exeinfo.cpp: Division or modulo by zero errors spotted by Coverity

4415 - ReportsBase.cc: Division or modulo by float zero error spotted by Coverity

4414 - Return RTEMS_CALLED_FROM_ISR in rtems_task_delete()

4413 - Allow pthread_cancel() from within interrupt context

4412 - Unexpected rtems_task_restart() behaviour if called from within interrrupt context

4411 - rtems_task_restart() should set the real priority to the initial priority

4410 - rtems_task_start() does not check that the entry point is not equal to NULL (cloned)

4406 - rtems: Constify rtems_task_wake_when()

4403 - rtems_timer_fire_when() returns wrong status code when wall_time argument is NULL

4402 - rtemstoolkit/mailer.py option added twice

4401 - rtems: Change rtems_scheduler_get_processor_set() status

4400 - Change filesystem utime_h to utimens_h to support nanosecond granularity

4399 - Add tests for futimens() and utimensat()

4398 - Make utimes() use utimensat()

4397 - Make utime() use utimensat()

4396 - Add futimens() and utimensat()

4395 - Workspace initialization is broken for arm/imx7 and arm/raspberrypi

4393 - rtems: Change rtems_task_get_affinity() status

4392 - rtems: Constify timer fire when directives

4391 - SPARC GCC no longer needs sysconf(515) (_SC_STACK_PROT)

4390 - Make zero size allocation result consistent across directives

4389 - Undefined behaviour if the area size calculation in calloc() and rtems_calloc() overflows

4388 - Copy improved mailer.py from rtems-tools

4387 - covoar marks taken/not taken incorrectly for AArch64

4386 - covoar missing conditional branch instructions on ARM

4384 - Add SMTP login to rtems-tools mailer

4383 - covoar keeps DWARF info in memory too long

4382 - mingw - add flex to packages needed

4380 - Update RTEMS POSIX Compliance Spreadsheet

4378 - covoar/symbol-sets add libuuid to symbol-sets.ini

4377 - covoar/Explanations Explanations::writeNotFound() NULL check of wrong variable

4376 - covoar/ReportsBase Coverage::GenerateReports() uses raw pointer to std::list

4375 - Add futimens() and utimensat()

4374 - Handle symbol sets in covoar

4368 - rtems–tools tool kit temp file constructor does nothing

4365 - main_cp.c: Ignore return value from stat()

4363 - GDB does not build on Windows for MSYS2

4358 - Priority discipline is broken for semaphores and message queues in SMP configurations

4356 - rtems_semaphore_set_priority() uses an invalid SMP lock

4355 - Remove leon3 test configurations which assume sis is built into gdb from rtems-test

4346 - Require RTEMS_PRIORITY for MrsP semaphores

4345 - Nexus Driver for Marvell mv643xx Ethernet Adapter (powerpc/beatnik BSP, MVME6100 board)

4342 - disp_hcms29xx.c: Unused value error spotted by Coverity

4341 - fastlz.c: Unused value error spotted by Coverity

4340 - print-ls.c: Unused value error spotted by Coverity

4339 - main_cp.c: Unused value error spotted by Coverity

4338 - rtems_clock_set(): Cannot set future dates later than approximately 2105

4336 - Improve the workaround for the LEON3FT store-store errata: TN-0009 on master

4331 - main_pci.c: Dereference after null check error spotted by Coverity

4329 - main_rtrace.c: Dereference after null check error spotted by Coverity

4326 - objectextendinformation.c: Dereference after null check error spotted by Coverity

4324 - grlib,grcanfd: extend the GRCAN driver with GRCANFD support

4323 - grlib,can: introduce a new common CAN baud-rate timing calculating functions

4321 - Add spi driver for AXI SPI ip core from Xilinx

4320 - Add driver for cadence-spi device for xilinx based BSPs

4302 - Obsolete powerpc/haleakala board

4301 - grcan.c: Unused value error spotted by Coverity

4295 - b1553brm.c: Unsigned compared against 0 error spotted by Coverity

4294 - satcan.c: Unsigned compared against 0 error spotted by Coverity

4291 - main_help.c: Unchecked return value from library error spotted by Coverity

4290 - gr_cpci_gr740.c: Unchecked return value from library error spotted by Coverity

4289 - gr_tmtc_1553.c: Unchecked return value from library error spotted by Coverity

4288 - gr_701.c: Unchecked return value from library error spotted by Coverity

4287 - gr_rasta_adcdac.c: Unchecked return value from library error spotted by Coverity

4286 - gr_rasta_tmtc.c: Unchecked return value from library error spotted by Coverity

4285 - gr_leon4_n2x.c: Unchecked return value error from library error spotted by Coverity

4284 - gr_rasta_io.c: Unchecked return value from library error spotted by Coverity

4283 - gr_rasta_spw_router.c: Unchecked return value from library error spotted by Coverity

4282 - pwdgrp.c: Unchecked return value from library error spotted by Coverity

4281 - main_chmod.c: Unchecked return value from library error spotted by Coverity

4280 - gen_uuid.c: Unchecked return value from library errors spotted by Coverity

4279 - pci_cfg_read.c: Missing break in switch error spotted by Coverity

4278 - cpuusagetop.c: Missing break in switch errors spotted by Coverity

4277 - grtc.c: Missing break in switch errors spotted by Coverity

4270 - A failing task extension produces zombi objects and resource leaks

4269 - Add rtems_get_build_label()

4267 - Add rtems_get_target_hash()

4265 - Add rtems_get_build_hash()

4264 - Activate ehci_pci in rtems-libbsd (cloned)

4262 - rtems-debugger-threads.c: Unchecked return value error spotted by Coverity

4261 - getgrent.c: Unchecked return value error spotted by Coverity

4260 - record-client.c: Unchecked return value error spotted by Coverity

4259 - grspw.c: Unchecked return value error spotted by Coverity

4258 - printertask.c: Unchecked return value errors spotted by Coverity

4254 - shell.c: Dereference before null check error spotted by Coverity

4253 - grspw_pkt.c: Dereference before null check error spotted by Coverity

4252 - grtc.c: Dereference before null check error spotted by Coverity

4251 - b1553rt.c: Dereference before null check error spotted by Coverity

4250 - b1553brm.c: Dereference before null check error spotted by Coverity

4246 - Add libbsd DC NIC support to mvme2700 board

4245 - Add PCI regions support to RTEMS nexus bus support

4244 - Possible infinite recursion in Classic API Signal handling

4242 - rtems-debugger-threads.c: Three Dereference before null check errors spotted by Coverity

4241 - rtems-debugger-threads.c: Three Dereference before null check errors spotted by Coverity

4240 - rtems-debugger-target.c: Dereference before null check spotted by Coverity

4239 - PowerPC shared ISA IRQ support is broken

4238 - Change motorola_powerpc bsp to support irq-generic

4237 - consolesimpletask.c: Two Unchecked Return Values Spotted by Coverity

4231 - MVME 2600/2700 has no console output

4230 - Timeout for automatic barriers is broken

4229 - conf.py files need updated for sphinxcontrib-bibtex ver. 2.0.0 and greater

4228 - rtems_build_name() depends on the signedness of char type

4225 - Cobham Gaisler NOEL-V RISC-V 32- and 64-bit processor BSP

4223 - Missing “extern” in RTEMS_LINKER_ROSET_ITEM_ORDERED_DECLARE()

4222 - Add a per mount flag to not create a node on O_CREAT in open

4221 - dtc recipe issue – dependency on yaml.h

4219 - gdb master does not compile on CentOS 7

4218 - aarch64 as internal error with spconfig01

4217 - Change status code for nested obtain of MrsP semaphores

4215 - nios2: Add multilib with all custom floating-point instructions supported by GCC

4214 - nios2: Add thread-local storage support

4212 - libio leaks location clones

4209 - STM32H743ZI Nucleo Consle support not working without workaround

4207 - PZERO define in RTEMS is wrong

4206 - aarch64/xilinx_zynqmp_lp64 does not run with RTEMS_DEBUG enabled

4204 - Make Termination Handler which Prints Exit Information Less Scary

4202 - Add BSP for ARM Fixed Virtual Platform with a Cortex-R52

4201 - waf building out of source tree does not find all configured bsps

4200 - Build system doco link in the User Guide is broken

4198 - arm: Add multilib for Cortex-R52 processor

4197 - testsuite: ts-validation-0 broken on AArch64 due to SIZE_MAX issues in the test design

4196 - Improve gcov support provided by GCC for RTEMS

4195 - Add gr740 support available in SIS 2.25 to the RTEMS Tester

4194 - RSB failed with mail subject: Build Linux: PASSED 6/rtems-arm on x86_64-linux-gnu

4193 - devctl.h does not compile from C++ (cloned)

4192 - bsp/xilinx_zynq: Enable support for small MMU pages

4184 - arm/bsps: Small MMU pages are rounded to 1 MiB

4181 - Add CONFIGURE_INIT_TASK_STORAGE_SIZE

4180 - Add BSP for i.MXRT1050

4175 - Resolve warning during AArch64 build

4167 - Coverity Scan Does Not Run on rtems6

4166 - rtems-bsp-builder: Add way to select rtems version (6 vs 7)

4164 - Fix NVMe disk synchronization and media block handling

4158 - rtems_interrupt_server_delete() does not destroy the ISR lock of the server control

4157 - pthread_spin_unlock() may corrupt the thread stack if RTEMS_PROFILING and RTEMS_SMP is enabled

4155 - Add a workaround for the LEON3FT RETT Restart errata: TN-0018

4148 - RFS bit map search buffer overflow

4145 - rtems-source-builder: Update RTEMS Kernel Recipe to Use waf for RTEMS

4143 - fileio - Stack too small for login with password

4142 - Sparse disk destroys data when it grows

4140 - waf install of RTEMS breaks Makefile system in rtems-examples

4134 - rtemsspec: Support user-defined ordering of directives in header files (Doxygen)

4131 - “fdisk DISK_NAME mount” in bdpart-mount.c uses non-existing file system type “msdos”

4129 - x86_64 not listed as architecture in components in Trac

4128 - all griscv variants fail to build on master

4127 - x86_64/amd64 fails to build

4126 - Remove legacy networking stack from rtems.git and place in a new repo

4124 - rtems-bsp-builder needs to be switched to waf builds

4123 - rtems-bsps needs to be switched to look at waf info for BSPs

4122 - Change RTEMS_NO_RETURN to use C11 and C++11 standard means

4121 - lm3s3749 fails to build all tests on master

4120 - altcycv_devkit and imx7 fail to build all tests on master

4118 - Add clang variants for sparc BSPs

4117 - lpc1768_mbed_ahb_ram_eth sp01 and others fail to link

4116 - raspberrypi fails to build on waf and autoconf

4115 - Cortex-A9 MPCore based BSPs should include the workaround for Errata 794072 and 845369

4110 - Ubuntu package list is broken

4108 - Review minimum and ensure it really is a minimum configuration

4107 - waf -j24 fails on powerpc/psim – probable dependency issue

4105 - Add RTEMS_PARTITION_ALIGNMENT

4103 - BeagleBoard BSPs Fail to Build

4101 - atsamv fails to build on master

4100 - arm/edb7312 Build Failure When SMP is Enabled

4098 - All BSP bsets fail to build on master

4097 - shell: CRTL-U sets the cursor to the wrong position (cloned)

4093 - bsps/pc386: Add missing license header

4084 - throwing std::runtime on PC BSP fails

4081 - Remove Autoconf/Automake based build system

4080 - build: Add start.o dependency to the executable link step

4079 - build: i386/pc686/appstart.o is created more than once

4078 - GCC C++ compiler for powerpc defines _GNU_SOURCE as a built-in

4077 - Implement LibBSD module dependencies in the build system

4076 - i386: bad asm in smp mode

4074 - Add CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE

4070 - RISC-V Multiple Definition Error (many BSPs)

4069 - dl06 does not link on RISCV

4067 - Libbsd build system does not separate kernel and user land include paths

4066 - test running for too long

4065 - Typo in rtems-boot.ini “ubootdior” should be “ubootdir”

4063 - Change to a simpler TFTP server for rtems-test

4061 - The reworked <rtems/confdefs.h> has a cyclic dependency with RTEMS_MULTIPROCESSING enabled (cloned)

4055 - bsps/xilinx-zynq: Flush TX-Buffer before initializing the zynq-uart

4054 - RTEMS_BARRIER_AUTOMATIC_RELEASE and RTEMS_BINARY_SEMAPHORE options have the same value

4052 - [libbsd] e1000 driver not working for i386 based BSP in current rtems-libbsd master

4048 - Move RTEMS 5 BSP and package build sets and configs to RTEMS 6

4046 - Remove RSB sb-bootstrap command

4045 - Remove RSB sb-builder command

4044 - Add RSB Track command

4043 - Update software eng manual to rtems-central

4040 - coverhd.h remnants left to remove

4039 - arm/atsam/SC16IS752: Make interrupt server configurable (cloned)

4037 - Python script distribution standardisation

4036 - Track dependency command for the RSB

4034 - Add rtems_interrupt_server_create() and rtems_interrupt_server_destroy() (cloned)

4032 - Make deferred free in malloc() support optional

4031 - i386: ISR can overwrite its own stack during system initialization (cloned)

4029 - i386: SMP-System hangs with non-consecutive APIC IDs

4025 - NFS Client is broken on 64-bit targets

4020 - Change all version numbers to RTEMS 6 on the master branches

4018 - libcpusupport: Architecture defines are present outside CPU port

4007 - Add rtems_message_queue_construct()

3998 - fenv support is missing on arm

3997 - fenv support is missing on sparc

3996 - fenv support is missing on powerpc

3994 - Generate Doxygen markup for the application configuration options

3993 - Specify the RTEMS Classic API

3991 - Remove deprecated Thread typedef

3990 - Remove deprecated rtems_get_processor_count()

3989 - Remove deprecated rtems_get_current_processor()

3988 - Remove deprecated rtems_extension

3982 - Test failures on BSPs with sbrk() support

3981 - Remove _Copyright_Notice from API header file

3980 - Remove deprecated <rtems/system.h>

3979 - Remove RTEMS_MAXIMUM_NAME_LENGTH

3978 - Move _RTEMS_version to implementation header file

3977 - Add unexplained-failure as option for Test Configuration Files

3962 - Licensing Requirements for Submissions Poorly Documented

3959 - Add rtems_task_construct()

3957 - Review wiki/Developer for deletion

3951 - Remove obsolete powerpc BSPs

3947 - fdt_rw.c: Unchecked return value (CID #1047324)

3942 - multiple definition of `pci_indirect_functions’

3941 - Remove epiphany architecture support

3937 - Move content of bsp_specs to GCC

3935 - Remove use of RTEMS_INLINE_ROUTINE in the RTEMS sources

3929 - Document use of virtualenv

3925 - Optimize work area initialization

3924 - Test the application configuration options

3910 - Add BSP for STM32H7

3897 - Dhcpcd does not daemonize

3886 - Fail an RSB build with –mail option if a repo is not clean

3883 - Trace linker is broken on small-data area targets

3878 - rtems06: All BSPs Fail to build with BSP Builder on rtems 6

3866 - Add support for GCC 10 noinit attribute

3853 - Add and use project-wide glossary to documentation

3847 - Test programs are not re-linked if a start.o or linker command file changes

3846 - Build system does not track the dependencies of start.o files

3828 - Switch over to new build system

3818 - New build system

3726 - Select a requirements engineering tool

3719 - Update libcrypt to latest FreeBSD to address Coverity Scan Issues

3718 - Add support for test plans

3717 - Add test guidelines chapter to RTEMS Software Engineering Handbook

3715 - Add Requirements Engineering chapter to RTEMS Software Engineering Handbook

3707 - Assign each code file to a Doxygen group

3706 - Create a hierarchy of RTEMS software components using Doxygen groups

3705 - Software Design Document (SDD) for space profile

3704 - Review and update Doxygen recommendations

3702 - Space profile for RTEMS SMP

3698 - libdl failure on many PowerPC BSPs

3689 - bdbuf: Replace automatic read-ahead with rtems_bdbuf_peek()

3659 - LEON3 kernel entry point is overwritten - secondary processors may enter into spurious handler

3657 - Add support for poll.h method - poll

3615 - Convert Tools_Used Wiki page into Support Tools Selection with Criteria

3613 - Remove m32c architecture port from upstream tools

3596 - Remove deprecated rtems_rate_monotonic_period_time_t

3594 - Remove deprecated rtems_thread_cpu_usage_t

3592 - Remove deprecated region_information_block

3590 - Remove deprecated rtems_context_fp

3588 - Remove deprecated rtems_context

3586 - Remove deprecated proc_ptr definition

3584 - Remove types which are only available if RTEMS_DEPRECATED_TYPES is defined

3566 - Remove checks for Newlib features introduced during the RTEMS 5 development

3456 - Add support for CPU counter timestamps

3420 - Deprecate/obsolete rtems_io_lookup_name

3414 - Remove Makefiles from rtems-examples?

3321 - Improve console driver documentation

3269 - Make the IRQ extensions API a standard API

3250 - Remove Use of bsp_specs

3199 - New test framework

3143 - Remove obsolete rtems_gxx_*() implementation

2985 - Add documentation for printk()

2971 - Add fenv.h to newlib

2872 - Get rid of CONFIGURE_MAXIMUM_PTYS

2871 - Use bibtex references thoughout the documentation

2869 - Remove support for 16-bit object identifiers

2828 - Remove libmisc/serdbg

2778 - Error building RTEMS Source Builder recipe for libxml

2365 - Task pre-emption disable is broken due to pseudo ISR tasks

2349 - Timecounter: Add PPS support

2348 - Timecounter: Add NTP support

2330 - nios2 missing atomics, fails to link C++

2301 - cpukit is built in BSP, and BSP custom, specific part of build tree but isnt built using BSP’s spec file

2269 - x86 Context Switch Synchronization and SMP

2215 - Duplicate code for TAR support

2189 - Insufficient documentation for rtems_clock_get_tod()

2114 - statvfs for MS-DOS filesystem and ‘df’ coomand for shell

2111 - AVR needs avr-libc to compile RTEMS.

2071 - The object-file suffixes for default-bsp-post-link in leaf.cfg don’t work with make-exe…

2000 - Re-add removed LINK_OBJS to MP tests

1820 - sptests/sp36: Improper buildsystem integration

1815 - _ISR_Nest_level should be protected with interrupts disabled in function _Watchdog_Insert

1728 - Patch for RTEMS-BSP m68k/mcf5225x

1712 - Add LWIP Support to RTEMS

1593 - RTEMS Sequenced Initialization API

1459 - Add rtems_shell_main_monitor to cpukit/libmisc/shell/shell.h?

1318 - libcpu/shared is not helpful

550 - fcntl() fails to put a non-blocking socket into blocking mode

5081 - Remove zlib docs (opened)

5079 - Rename testsuites/**.doc to README.md (opened)

5078 - Review README files for licenses. (opened)

5072 - JFFS2 rtime decompression bug (opened)

5067 - Remove essentially dead code from _Terminate() (opened)

5066 - URLs in rtemsspec generated files (opened)

5048 - PowerPC BSP ABI flags (opened)

5037 - Waf does not handle VERSION file (opened)

5030 - Deprecate mrm332 BSP in rtems6 and remove in 7 (opened)

5020 - Deprecate lm32 port in rtems6 and remove in 7 (opened)

5019 - Deprecate bfin port in rtems6 and remove in 7 (opened)

5002 - Add API to get and set interrupt priorities for interrupt vectors (opened)

4982 - Add support for TMS570LC4357 for the arm/tms570 BSP (opened)

4931 - User manual RSB BSP build examples need updating (opened)

4929 - RTEMS tools installs into $PREFIX/share/rtems and not $PREFIX/share/rtems6 (opened)

4925 - Deal with GR740 errata: Level-2 Cache Issues H1 2023 (GRLIB-TN-0021) (opened)

4921 - Tool versions for RTEMS 6.1 release (opened)

4875 - LEON3FT - Power-down workaround (opened)

4833 - grlib/pci/grpci2dma.c Warnings Require Insight to Resolve Properly (opened)

4826 - Software Engineering Guide has broken Reference (opened)

4768 - Use tarballs for stable versions development tools (opened)

4767 - Add rtems-lwip to release packages (opened)

4760 - RSB fatal error on missing hash checksums (opened)

4736 - RISC-V - ISR_stack allocation and usage by harts > CONFIGURE_MAXIMUM_PROCESSORS (opened)

4695 - Automatic version numbers in the documentation (opened)

4648 - Documentation Needs to Use Version Variables not Hard-Coded Numbers (opened)

4072 - testsuite: Add ticket ids for expected-fail and indeterminate states, add annotations (opened)

Merge Requests Summary

156 - Revert “objectgetinfo.c: Add test case for API field too high”

140 - bsps: Convert README to MarkDown

135 - Remove errant URL.

134 - Move old devel links to GitLab

133 - Update Doxygen to point to GitLab.

132 - Remove Makefile.maint

131 - Remove MAINTAINERS file

130 - Remove INSTALL file.

125 - testsuite/libiofdopen: Add missing spec file

117 - libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors

116 - libcsupport/getrusage: Return task and idle time using getrusage

114 - cpukit/shell: Account for tick rate in timeouts

112 - x: Remove junk file

111 - libtests/dl*: Make build reproducible

104 - Convert licenses to a single LICENSE.md file.

99 - validation: Fix bad thread dispatch validation

84 - zynqmp: Add support for ECC error reporting

80 - msdos: update inode during rename

79 - Improve ISR locks

78 - bsp/powerpc: Remove e500 machine state for asm functions

74 - testsuites: Update lock init validation test

73 - cpukit: Resolve gcc14 warnings

70 - Synchronize with FreeBSD

64 - dev/pl011: Fix incorrect macro definition

63 - BSP fatal extension improvements

62 - aarch64/xilinx-zynqmp: Small improvements

58 - smpschedaffinity02: Fix sporadic test failures

57 - rtems: Clarify rtems_interrupt_set_priority()

52 - x86_64/include/rtems/score/cpuimpl.h: Relicense to 2-BSD

46 - score: Add _SMP_barrier_Wait_for_other()

44 - bsps/arm: Fix L2C-310 cache disable

41 - posix: Fixed header comment of aio_read.c

36 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

31 - build: Simplify wscript code

30 - cpukit/libdl/aarch64: Improve debug output

29 - bsps/aarch64/a72: Avoid use of reserved INTIDs

27 - aarch64/xilinx-zynqmp: Enable errata workarounds

25 - testsuites/libtest/dl12: add DL test for incrementally linked objects

24 - bsps/powerpc: Introduction of interrupt locks

23 - bsps: Use interrupt entry in clock driver

21 - QSPI Flash on Xilinx Versal

20 - Synchronize timecounter support with FreeBSD 2024-05-06

17 - rtems: Add get/set interrupt priorities

14 - Build optimizations for arm BSPs

12 - arm: Fix Armv7-M floating-point support

5 - Drop index.html from directory it loads by default.

4 - Add an additional line for consistency.

2 - bsp/arm/zynq: Move README to README.md

1 - Convert README to MarkDown

157 - bsps: Fold various files into README.md (opened)

155 - bsps: Fold external documentation into README.md (opened)

153 - Convert LICENSE to LICENSE.md (opened)

152 - Convert various files to README.md MarkDown (opened)

151 - rtc: Convert STATUS and README.* to MarkDown (opened)

150 - bsps/sh/gensh2: Fold README.EVB7045F into README.md (opened)

149 - cpukit: Convert files to README.md MarkDown (opened)

148 - Rename COPYING to LICENSE.md (opened)

147 - testsuites/benchmarks/dhrystone: Convert documents to single README.md (opened)

146 - cpukit: Convert cpukit/*/README to MarkDown (opened)

145 - testsuites: Convert */README to MarkDown (opened)

144 - testsuites: Convert README to MarkDown (opened)

143 - make: Convert README to MarkDown (opened)

142 - Remove ACKNOWLEDGEMENTS file. (opened)

141 - bsps: Convert README to MarkDown (opened)

139 - bsps: Convert bsps/*/README to MarkDown (opened)

138 - cpukit: Convert cpukit/*/README to MarkDown (opened)

124 - bsps/aarch64: Homogenize ZynqMP ECC info structs (opened)

123 - Draft: cpukit/libfs/jffs2: Prevent memory corruption due to corrupted data (opened)

121 - Draft: Simplify termination procedure (opened)

61 - Draft: Resolve “User manual test documentation update” (closed)

60 - Resolve “MicroBlaze BSPs modify carry flag before MSR is saved” (closed)

32 - This is a test MR, do not merge (closed)

19 - testsuites/libtest/dl12: add DL test for incrementally linked objects (closed)

8 - Fix how GitLab picks up our license. (closed)

6 - Resolve “Migrate commits from master to main after gitlab transition” (closed)

3 - Add an additional line for consistency. (closed)


Issues

5080 - Lowercase all directories and files in source.

Id

5080

State

closed

Type

ISSUE

Author

Amar Takhar

Assignee(s)

Amar Takhar

Closed by

Amar Takhar

Created

2024-07-29T20:54:08.309Z

Closed

2024-07-30T04:32:21.715Z

Updated

2024-07-30T04:32:21.729Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5080

Merges

0

Summary

We have always had inconsistent directory and file naming. There is no consistency it would be nice if files sorted correctly and we had a policy going forward that all files must be lower case. With the exception of the file extension .S which does have some meaning and text files which again denotes that it’s text, typically.

I’m proposing this in the spirit of wanting the source code reformatted for %6.1 we should take this opportunity to change the file names as well as cleaning up our in-source documentation with the MarkDown conversion. I consider this a purely documentation change.

We have no especial files in the source that are absolutely required to be upper case or CamelCase that I can see. Below are a list of directories and files:

Directories

./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1052
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1052/drivers
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1052/gcc
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1052/xip
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1166
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1166/drivers
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1166/drivers/cm4
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1166/drivers/cm7
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1166/gcc
./bsps/arm/imxrt/mcux-sdk/devices/MIMXRT1166/xip
./bsps/arm/stm32h7/boards/stm/Components
./bsps/arm/stm32h7/boards/stm/Components/mt25tl01g
./bsps/arm/stm32h7/hal/Legacy
./bsps/arm/stm32h7/include/Legacy
./bsps/bfin/bf537Stamp
./bsps/bfin/bf537Stamp/config
./bsps/bfin/bf537Stamp/console
./bsps/bfin/bf537Stamp/include
./bsps/bfin/bf537Stamp/include/bsp
./bsps/bfin/bf537Stamp/start
./bsps/bfin/eZKit533
./bsps/bfin/eZKit533/config
./bsps/bfin/eZKit533/console
./bsps/bfin/eZKit533/include
./bsps/bfin/eZKit533/include/bsp
./bsps/bfin/eZKit533/start
./bsps/bfin/TLL6527M
./bsps/bfin/TLL6527M/config
./bsps/bfin/TLL6527M/console
./bsps/bfin/TLL6527M/include
./bsps/bfin/TLL6527M/include/bsp
./bsps/bfin/TLL6527M/start
./bsps/include/xil/arm/ARMv8
./bsps/include/xil/arm/ARMv8/32bit
./bsps/include/xil/arm/ARMv8/64bit
./bsps/lm32/milkymist/Documentation
./bsps/m68k/uC5282
./bsps/m68k/uC5282/btimer
./bsps/m68k/uC5282/clock
./bsps/m68k/uC5282/config
./bsps/m68k/uC5282/console
./bsps/m68k/uC5282/include
./bsps/m68k/uC5282/include/bsp
./bsps/m68k/uC5282/start
./bsps/powerpc/mvme5500/GT64260
./bsps/shared/xil/arm/ARMv8
./make/Templates
./spec/build/bsps/bfin/bf537Stamp
./spec/build/bsps/bfin/eZKit533
./spec/build/bsps/bfin/TLL6527M
./spec/build/bsps/m68k/uC5282
./testsuites/libtests/POSIX

Files

_Exit
bf537Stamp
BSP_irq
bspException
bspIo
bspMvme5500
bspVmeDmaList
bspVmeDmaListP
cecRegs
ChangeLog
COBRA5475
consoleIo
COPYING
coreTimerRegs
cpuIdent
cpuModel
displayCpu
dmaRegs
ebiuRegs
errata_SSWF021_45
ethernetRegs
eZKit533
FD_CLR
FD_ISSET
FD_SET
FD_ZERO
flashPgm
flashPgmPvt
fsl-mpc564xL
gpioRegs
GT64260eth
GT64260ethreg
GT64260TWSI
intelFlash
interruptmask_TX49
m5484FireEngine
Makefile
MCD_dma
MCD_dmaApi
MCD_progCheck
MCD_tasks
MCD_tasksInit
mediaLB
memoryRegs
memProbe
MIMXRT1052
MIMXRT1052_features
MIMXRT1166_cm4
MIMXRT1166_cm4_features
MIMXRT1166_cm7
MIMXRT1166_cm7_features
mmuAsm
mmuRegs
MVME5500I2C
ppiRegs
probeMemEnd
ReleaseNotes
rtcRegs
sicRegs
spansionFlash
spiRegs
sportRegs
stackTrace
startAP
startup_MIMXRT1052
startup_MIMXRT1166_cm4
startup_MIMXRT1166_cm7
system_MIMXRT1052
system_MIMXRT1166_cm4
system_MIMXRT1166_cm7
tfsDriver
tftpDriver
timerRegs
twiRegs
uartRegs
uC5282
Unlimited
uuidP
videoAsm
VME
VMEConfig
VMEDMA
vmeTsi148
vmeTsi148DMA
vmeUniverse
vmeUniverseDMA
VPD
wdogRegs

Author: Amar Takhar

2024-07-29T20:54:08.454Z

assigned to @amar

Author: Amar Takhar

2024-07-30T04:32:21.436Z

This change isn’t going to happen anytime soon if at all because the includes also rely on the file case. It’s not worth making a sweeping change like this with too much uncertainty.

At the very least I hope we can get a policy that does not introduce files that does not introduce more files or at least has a justification such as they come from upstream.

5076 - objectgetinfo.c: Potential access past end of array

Id

5076

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Closed by

Amar Takhar

Created

2024-07-27T15:15:54.273Z

Closed

2024-07-27T20:34:23.909Z

Updated

2024-07-27T20:34:24.009Z

Milestone

6.1

Labels

scan::coverity

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5076

Merges

1

Summary

If presented with a specific badly formed that includes an API class field of 4-7, this method will currently access beyond the end of the _Objects_Information_table array. This was spotted by Coverity – CID 1592935

44Objects_Information *_Objects_Get_information_id(
45  Objects_Id  id
46)
47{

CID 1592935: (#1 of 1): Out-of-bounds access (OVERRUN)
1. overrun-call: Overrunning callee's array of size 4 by passing argument _Objects_Get_API(id) (which evaluates to 7) in call to _Objects_Get_information.[show details]
48  return _Objects_Get_information(
49    _Objects_Get_API( id ),
50    _Objects_Get_class( id )
51  );

The fix is to ensure that the api field is validated in _Objects_Get_information().

Author: Joel Sherrill

2024-07-27T15:15:54.458Z

assigned to @joel

Author: Joel Sherrill

2024-07-27T15:31:58.330Z

mentioned in merge request !136

4677 - incorrect handling of “inactive_per_block” from “Objects_Information” structure (cloned)

Id

4677

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-07-13T06:10:51.000Z

Updated

2024-07-27T07:24:35.773Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4677

Merges

0

Original author: avarlan

Cloned from #4676:

The inactive_per_block for block 1 is not handled correctly. For the first object in the second block, the inactive_per_block value is not decremented. As a consequence, the block might be deleted when the second to last object from block 1 is deleted. This is only valid when the application is configured with CONFIGURE_UNLIMITED_OBJECTS.

The reason is the following:

in function _Objects_Activate_unlimited from “objectimpl.h”

block = _Objects_Get_index( the_object->id ) - OBJECTS_INDEX_MINIMUM;
if ( block > objects_per_block ) {
block /= objects_per_block;
information->inactive_per_block[ block ]--;
information->inactive--;
}

in a block with 8 objects per block, when creating the 9th object, _Objects_Get_index( the_object->id ) returns 9. Therefore, “block” will be 8 (9 - 1). The next “if” will not be taken (8 > 8 ? No) and the inactive_per_block will not be decremented to 7 and remains at 8. This means that block 1 is a candidate for “_Objects_Shrink_information” function although object id 9 is still valid.

Steps to reproduce: -assuming 8 objects per allocation block -using semaphores as objects

  1. create 17 RTEMS_SIMPLE_BINARY_SEMAPHORE semaphore objects id’s 1 -> 17.

  2. delete semaphores 11, 12, 13, 14, 15, 16, 17 (order is important)

  3. lock semaphore 9

  4. delete semaphore 10 -> at this point, block 1 is freed although semaphore 9 is still active

  5. unlock semaphore 9 -> this can lead to errors. In my case due to the free the semaphore object was altered and changed from a SEMAPHORE_VARIANT_SIMPLE_BINARY to SEMAPHORE_VARIANT_MUTEX_INHERIT_PRIORITY resulting in a return value of RTEMS_NOT_OWNER_OF_RESOURCE.

Simple fix: the condition for the if should be >= instead of >.

Author: Trac Migrate

2022-07-18T07:27:45.000Z

Original author: avarlan

In [changeset:”e0942613f134ac28c5c6cdae99060989b6db1d08/rtems” e094261/rtems]:

score: Fix _Objects_Active_count()

With unlimited objects the object maximum may be larger than the sum of active
and inactive objects.

Update #4677.

Author: Trac Migrate

2022-07-18T07:27:47.000Z

Original author: avarlan

In [changeset:”3bb79aabca99bb9b97b788b3b873c82908a0d78d/rtems” 3bb79aab/rtems]:

spunlimited01: New test

Update #4677.

Author: Trac Migrate

2022-07-18T07:27:50.000Z

Original author: avarlan

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”12a03bea4f936f6305869b43f9c0a5f1473213e9/rtems” 12a03bea/rtems]:

score: Fix unlimited objects support

Commit 21275b58a5a69c3c838082ffc8a7a3641f32ea9a ("score: Static
Objects_Information initialization") introduced an off-by-one error in the
maintenance of inactive objects.

Close #4677.

Author: Amar Takhar

2024-04-25T20:49:57.213Z

changed the description

Author: Chris Johns

2024-07-27T07:24:35.875Z

changed the description

5063 - Add a call to return open file descriptors

Id

5063

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Closed by

Amar Takhar

Created

2024-07-08T05:42:51.325Z

Closed

2024-07-24T03:23:33.140Z

Updated

2024-07-24T03:23:33.305Z

Milestone

6.1

Labels

cpukit

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5063

Merges

1

EPICS iocStats module reports the number of open file descriptors by directly access the IOPs table. Provide a call to return the number of open.

Add the call rtems_libio_iop_descriptors_open().

Author: Chris Johns

2024-07-08T05:42:51.408Z

assigned to @chris

Author: Chris Johns

2024-07-16T06:15:27.664Z

mentioned in merge request !117

5062 - Return task and idle time with getrusage

Id

5062

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Closed by

Amar Takhar

Created

2024-07-08T05:25:51.011Z

Closed

2024-07-18T00:11:22.688Z

Updated

2024-07-18T04:57:24.697Z

Milestone

6.1

Labels

cpukit

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5062

Merges

1

Return the task and idle execution time via getrusage() call. User can use these times to determine the percentage load of the system and if they record the delta they current load.

Return the total amount of time executed by tasks (not IDLE) in the utime field and IDLE time in stime of struct ruse.

Author: Chris Johns

2024-07-08T05:25:51.125Z

assigned to @chris

Author: Chris Johns

2024-07-08T05:25:51.229Z

marked this issue as related to #5060

Author: Chris Johns

2024-07-16T05:42:17.692Z

mentioned in merge request !116

Author: Chris Johns

2024-07-18T04:57:24.415Z

mentioned in merge request rtems/docs/rtems-docs!31

4941 - Test suite files produced by rtems-syms are not reproducible

Id

4941

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Closed by

Amar Takhar

Created

2023-08-10T09:59:51.000Z

Closed

2024-07-18T00:12:24.899Z

Updated

2024-07-18T00:12:24.992Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4941

Merges

1

Original author: sebastian.huber

The test suite files produced by rtems-syms

  • dl01-sym.o

  • dl02-sym.o

  • dl04-sym.o

  • dl05-sym.o

  • dl06-sym.o

  • dl07-sym.o

  • dl08-sym.o

  • dl09-sym.o

  • dl10-sym.o

  • dl11-sym.o

are not reproducible. They change after each build. Maybe the mtime is added to the archive.

Author: Chris Johns

2023-08-11T00:03:24.000Z

Original author: sebastian.huber

What is the requirement you are attempting to resolve here? I am not aware of any requirement in the current project related to reproducibility?

Would any test that embeds a tar file have the same issue?

Author: Trac Migrate

2023-08-11T05:07:23.000Z

Original author: sebastian.huber

From my point of view reproducible builds are state of the art. Yes, tar files generated by the build need to be reproducible as well.

Author: Chris Johns

2023-08-11T05:29:25.000Z

Original author: sebastian.huber

Does the setting the metadata in the tar file resolve this issue?

Author: Chris Johns

2023-08-11T05:30:14.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

From my point of view reproducible builds are state of the art.

Is this a new requirement for 6 for it to be released?

Author: Trac Migrate

2023-08-11T05:44:52.000Z

Original author: sebastian.huber

After the fix for the tar archives, the only not reproducible build artifacts are:

  • testsuites/libtests/dl01.exe

  • testsuites/libtests/dl01/dl01-sym.o

  • testsuites/libtests/dl02.exe

  • testsuites/libtests/dl02/dl02-sym.o

  • testsuites/libtests/dl04.exe

  • testsuites/libtests/dl04/dl04-sym.o

  • testsuites/libtests/dl05.exe

  • testsuites/libtests/dl05/dl05-sym.o

  • testsuites/libtests/dl06.exe

  • testsuites/libtests/dl06/dl06-sym.o

  • testsuites/libtests/dl07.exe

  • testsuites/libtests/dl07/dl07-sym.o

  • testsuites/libtests/dl08.exe

  • testsuites/libtests/dl08/dl08-sym.o

  • testsuites/libtests/dl09.exe

  • testsuites/libtests/dl09/dl09-sym.o

  • testsuites/libtests/dl10.exe

  • testsuites/libtests/dl10/dl10-sym.o

  • testsuites/libtests/dl11.exe

  • testsuites/libtests/dl11/dl11-sym.o

For me this issue is not important enough to delay the release.

Author: Chris Johns

2023-08-11T05:47:01.000Z

Original author: sebastian.huber

What if the files are stripped?

Do you know why they are different?

Author: Trac Migrate

2023-08-11T05:51:05.000Z

Original author: sebastian.huber

My off hand guess is that a file mtime, ctime, or atime is added to the *-sym.o object by rtems-syms.

Author: Chris Johns

2023-08-11T05:54:01.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

My off hand guess is that a file mtime, ctime, or atime is added to the *-sym.o object by rtems-syms.

This is not a tar file, it is linked into the test executable because the tests run with embedded symbols. This is the reason the link process has 2 phases.

For me this issue is not important enough to delay the release.

Why then set the milestone for 6.1?

Author: Trac Migrate

2023-08-11T07:15:01.000Z

Original author: sebastian.huber

Replying to Chris Johns:

Replying to Sebastian Huber:

My off hand guess is that a file mtime, ctime, or atime is added to the *-sym.o object by rtems-syms.

This is not a tar file, it is linked into the test executable because the tests run with embedded symbols. This is the reason the link process has 2 phases.

The input files are identical except the file metadata.

For me this issue is not important enough to delay the release.

Why then set the milestone for 6.1?

It would be nice to have.

Author: Chris Johns

2023-08-11T22:21:11.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

Replying to Chris Johns:

Replying to Sebastian Huber:

My off hand guess is that a file mtime, ctime, or atime is added to the *-sym.o object by rtems-syms.

This is not a tar file, it is linked into the test executable because the tests run with embedded symbols. This is the reason the link process has 2 phases.

The input files are identical except the file metadata.

I am not sure what metadata you are referring to?

For me this issue is not important enough to delay the release.

Why then set the milestone for 6.1?

It would be nice to have.

Is this ticket the only outstanding issue related to having reproducible builds?

Author: Trac Migrate

2023-08-12T11:05:39.000Z

Original author: sebastian.huber

Replying to Chris Johns:

Replying to Sebastian Huber:

Replying to Chris Johns:

Replying to Sebastian Huber:

My off hand guess is that a file mtime, ctime, or atime is added to the *-sym.o object by rtems-syms.

This is not a tar file, it is linked into the test executable because the tests run with embedded symbols. This is the reason the link process has 2 phases.

The input files are identical except the file metadata.

I am not sure what metadata you are referring to?

The file metadata such as mtime, ctime, atime, uid, gid, etc.

For me this issue is not important enough to delay the release.

Why then set the milestone for 6.1?

It would be nice to have.

Is this ticket the only outstanding issue related to having reproducible builds?

I found another issue with gzip. I am not sure if extra options are required for xz. It seems the rtems-syms is the only missing piece.

Author: Chris Johns

2024-02-16T00:49:01.000Z

Original author: sebastian.huber

  • Milestone changed from %”6.1” to %”Indefinite”

  • Version ~”6” deleted

Author: Sebastian Huber

2024-07-02T07:35:23.442Z

mentioned in commit 8cadc340db25959e7e994520ae0b1b3e4480e284

Author: Sebastian Huber

2024-07-09T08:09:15.242Z

The issue is that rtems-syms directly creates the object file using a temporary source file. The name of this temporary file changes each time the object file is created. This can be fixed by creating the source file and then compile the object using the build system.

Author: Sebastian Huber

2024-07-09T08:09:44.506Z

changed the description

Author: Sebastian Huber

2024-07-09T08:57:27.467Z

mentioned in merge request !111

5049 - Add sys/tree.h from newlib to the score with a different name

Id

5049

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Closed by

Joel Sherrill

Created

2024-06-18T02:22:07.967Z

Closed

2024-07-09T22:55:17.102Z

Updated

2024-07-18T00:09:28.503Z

Milestone

6.1

Labels

network::libbsd, rtems::score, tool::newlib

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5049

Merges

1

Summary

Newlib has an old and out dated copy of sys/tree.h which RTEMS uses in the score via rbtree.h. Move the file from newlib to RTEMS and change the name to bsd-tree.h. Update the include guards.

Newlib does not use or depend on sys/tree.h and having it in newlib offers no advantage however it being there complicates it’s use because newlib, RTEMS and LibBSD all depend on it and different versions:

  1. RTEMS’s internal data structures depends on a critical file external to RTEMS. RTEMS should contain important kernel structures and not be effect by outside files.

  2. LibBSD is confused by this file and assuming LibBSD and newlib share a common version creates compatibility issues. The 6-freebsd-12 and main branches support the version in newlib however any current version of LibBSD does not and updating newlib’s copy would break 6-freebsd-12.

Author: Chris Johns

2024-06-18T02:22:08.059Z

assigned to @chris

Author: Aaron Nyholm

2024-06-18T02:24:51.376Z

mentioned in merge request !77

Author: Sebastian Huber

2024-06-21T05:43:19.485Z

The <sys/tree.h> in Newlib is not out-dated. I continuously synchronized it with FreeBSD. The last update was in 2021. FreeBSD decided to change the implementation from red-black trees to rank-based trees based on a XFS use case. I made a performance evaluation and kept the red-black tree implementation (see Newlib mailing list archive).

I would remove the <sys/tree.h> from libbsd and update the Newlib version if necessary. The red-black tree support provides a critical data structure and there should be only one version of it.

Author: Chris Johns

2024-06-21T05:43:19.485Z

Where is this data structure critical?

Author: Sebastian Huber

2024-06-21T05:43:19.485Z

It is used for the RTEMS thread queues and the watchdogs for example. A red-black tree implementation is not completely trivial and there is always an opportunity for performance tweaks. This is why it is good to use an implementation which is exposed to a large user group.

Author: Chris Johns

2024-06-21T05:43:19.485Z

Thanks, this confirms to me the change is a good idea. We should have data structures we deem critical held in the score sources and not dependent on an outside project where anyone could submit a change that effects us.

Author: Sebastian Huber

2024-06-21T05:43:19.485Z

I have the contrary point of view that things important for us should be shared with as many projects as possible.

Author: Chris Johns

2024-06-21T05:43:19.485Z

The change brings the code into RTEMS and insulates from any external changes. I asked on dsscord what the use case for it in newlib and you said none so this seems to be a style or preference thing. I see the newlib path as a liability on the project.

Being useful, and it is, is not a strong case for being in newlib. Newlib is about standards and libc and not a hold pen for useful code. Why do you need it there as RTEMS will install it?

Author: Sebastian Huber

2024-06-21T05:43:19.485Z

This is not the strategy I used in the past. I am in favour of sharing code with other projects as much as possible.

Author: Chris Johns

2024-06-21T05:43:19.485Z

We should avoid being a clearing house for fragments of code from other projects not directly used. User should be encouraged to use the upstream project and manage fixes, updates and versioning. We should also not clutter other projects such newlib with things not related to that project’s core purpose. Code brought into newlib to fulfill it purpose is acceptable however tree.h is not referenced.

Author: Sebastian Huber

2024-06-21T05:43:19.485Z

You neglect a bit how all this evolved. Newlib already had a <sys/queue.h> so adding a <sys/tree.h> was straight forward. During this period I worked a lot on making Newlib and FreeBSD compatible enough so that we are able to use the network stack from FreeBSD. I maintain the <sys/tree.h> file in Newlib since 2015 and will continue to do so. This resulted also in contributions to FreeBSD.

Author: Chris Johns

2024-06-21T05:43:19.485Z

I have not neglected how it evolved. Newlib has FreeBSD code in it and rightly so but that does then imply any FreeBSD can be added. There is no compelling reason for this file to be in newlib and I feel it is problematic being there. @joel has posted the remove patch as he said he would on discord so I think his view is clear. I support that patch.

I have found only a few references to sys/tree.h in the entire issue database and only one issue from you related to an optimization ( #4522. I have only just learnt from you in this issue about a choice you made related to benchmark testing of the XFS version. There is no mention of XFS in the issue database. In reading #4522 the location of the code for coverage analysis is not clear so I can only assume our testsuite. This means we are coverage testing a key data structure and algorithm located in a different project or a key part of our kernel’s performance can change with no record in our project. We should have this header in our code base where we can control and this is what !77 does.

I appreciate your offer of continued maintenance and that can continue with the file in our repo. Anyone can post a change to tree.h in newlib that breaks our build or more problematically changes its performance. Having to have someone from this project always monitoring and checking newlib and being a gatekeeper of that file is something I find not feasible long term.

Author: Sebastian Huber

2024-06-21T05:43:19.485Z

A performance change can go in two directions. You may also see a performance increase. If you remove this file, you may miss this chance. The rate of change in Newlib is pretty low. If the RTEMS Project is not able to monitor the Newlib changes, then it has a bigger issue. Right now you address an artificial problem.

The more serious issue is, that the RTEMS Project would probably not notice performance changes, because we do not systematically monitor the RTEMS performance at a project level.

Author: Chris Johns

2024-06-21T05:43:19.485Z

@joel has reminded us in his newlib post the score should never depends on libc and this change respects that principle. The principle has exist long before I joined the project. His statement in the post is:

This actually violated a core development principle for RTEMS and we should have spotted this long ago. Everything in the score and “bottom” of RTEMS should not depend on libc. 

Author: Sebastian Huber

2024-06-21T05:43:19.485Z

I am sorry for violating the core development principles of RTEMS, then please go ahead and fix this issue after nine years in service.

Author: Chris Johns

2024-06-21T05:43:19.485Z

Thanks. The header has not been an issue and it is now an issue so we are sorting out.

Author: Sebastian Huber

2024-07-12T05:50:39.414Z

mentioned in merge request !115

Author: Sebastian Huber

2024-07-18T00:09:28.283Z

mentioned in commit 1dd384bb1b317ff409eb11643cfbc3c48d461c12

5060 - Add CPU Usage calls to return the time or ticks accounted for in tasks

Id

5060

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Closed by

Chris Johns

Created

2024-07-04T05:40:04.842Z

Closed

2024-07-08T05:26:32.234Z

Updated

2024-07-08T05:26:32.304Z

Milestone

6.1

Labels

cpukit, cpukit::cpuuse

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5060

Merges

0

Summary

Add two calls to CPU usage in cpukit/libmisc to return the time in nano-seconds or the time as ticks to the caller.

The EPICS iocStats module has code that directly iterates over the object information. This change provides a simple interface to remove the dependence of the IOC module on the internals of RTEMS. The CPU usage code i libmisc has all the pieces in place to make this a simple addition.

Author: Chris Johns

2024-07-04T05:40:04.950Z

assigned to @chris

Author: Sebastian Huber

2024-07-04T06:59:15.940Z

The <rtems/cpuuse.h> header file is generated from specification items. If you want to add new API elements to this header, then please do this in rtems-central, so that the Classic API Guide gets updated as well.

Author: Joel Sherrill

2024-07-04T16:10:27.742Z

Be sure to consider the behavior if the statistics are reset.

But grabbing a single thread’s CPU usage should be ok.

If clock_gettime doesn’t already support CLOCK_THREAD_CPUTIME_ID, please add it. That use case should match youra.

Author: Sebastian Huber

2024-07-04T18:08:00.590Z

Is this about getting timings for a single thread or all threads of the system?

Author: Sebastian Huber

2024-07-05T00:56:39.741Z

There is also a times() system call.

Author: Chris Johns

2024-07-05T00:56:39.692Z

Thanks, I did not know about the times() call. It may work nicely and solve the problem for EPICS iocStats.

Author: Chris Johns

2024-07-05T05:47:16.367Z

The man page on FreeBSD says:

This interface is obsoleted by getrusage(2) and gettimeofday(2).

The issue with getrusage() is:

/*
*  RTEMS only has a single process so there are no children.
*  The single process has been running since the system
*  was booted and since there is no distinction between system
*  and user time, we will just report the uptime.
*/

And EPICS wants the amount of time tasks have used which is this time less IDLE. I am now wondering is IDLE time should be account for as system time and that would leave user time as the time spent running tasks?

Author: Chris Johns

2024-07-05T06:10:51.083Z

In an SMP system would the IDLE time reported as system time be the total of active periods for all the iDLE threads? I think it is.

For example if you have 4 CPUs and 2 are running at 100% and 2 are idle the over all load is 50%, ie user / (user + system) if user is the total time tasks have run for and system is the total idle time.

Author: Chris Johns

2024-07-08T05:25:51.262Z

marked this issue as related to #5062

Author: Chris Johns

2024-07-08T05:26:31.574Z

Update the getrusage call to handle this.

5013 - Generate release notes.

Id

5013

State

closed

Type

ISSUE

Author

Amar Takhar

Assignee(s)

Amar Takhar, Chris Johns

Closed by

Amar Takhar

Created

2024-05-17T03:54:50.137Z

Closed

2024-07-08T04:20:14.906Z

Updated

2024-07-08T04:20:14.916Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5013

Merges

0

Summary

We need to generate release notes from GitLab. The old script relied on trac.

GitLab has internal support for ChangeLog generation:

The glab command supports generating ChangeLogs so we may not even need a script:

It also supports templates here is someone bringing up a caveat:

Author: Amar Takhar

2024-05-17T03:54:50.295Z

assigned to @chris and @amar

Author: Amar Takhar

2024-05-17T04:05:33.579Z

After further investigation the ChangeLog api uses git trailers. So while in the future we should start doing this to automatically generate changelogs it does not help us right now.

Author: Chris Johns

2024-06-13T01:33:50.583Z

mentioned in merge request rtems-release!1

Author: Amar Takhar

2024-07-08T04:20:14.634Z

We’ve decided that we won’t be supporting the internal ChangeLog: trailer tracking method that GitLab uses to generate changelogs internally.

@chris has written a script to do this and for releases we’ll be generating and including it as a tarball we can do this as part of CI in the future.

5058 - dhrystone: Prevent procedure merging

Id

5058

State

closed

Type

ISSUE

Author

Sebastian Huber

Assignee(s)

Sebastian Huber

Closed by

Amar Takhar

Created

2024-07-02T09:48:41.704Z

Closed

2024-07-08T03:41:59.853Z

Updated

2024-07-08T03:41:59.955Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5058

Merges

1

Summary

From the Dhrystone RATIONAL file:

o No procedure merging

Although Dhrystone contains some very short procedures where execution would
benefit  from  procedure  merging (inlining, macro expansion of procedures),
procedure merging is not to be used.  The reason is that the  percentage  of
procedure  and  function  calls  is  part of the "Dhrystone distribution" of
statements contained in [1].  This restriction does not hold for the  string
functions  of  the  C  version  since ANSI C allows an implementation to use
inline code for these functions.

We have to add -fno-inline to the CFLAGS.

Author: Sebastian Huber

2024-07-02T09:48:41.829Z

assigned to @sebhub

Author: Sebastian Huber

2024-07-02T09:52:48.256Z

mentioned in merge request !106

Author: Joel Sherrill

2024-07-02T18:46:48.557Z

changed the description

5050 - Add fatal error for rtems_cache_disable_data()

Id

5050

State

closed

Type

ISSUE

Author

Sebastian Huber

Assignee(s)

Sebastian Huber

Closed by

Amar Takhar

Created

2024-06-20T13:51:38.807Z

Closed

2024-06-25T03:59:05.528Z

Updated

2024-06-27T23:31:57.877Z

Milestone

6.1

Labels

api

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5050

Merges

1

Summary

An user noticed that for example on the Xilinx Zynq 7000 BSP, the rtems_cache_disable_data() doesn’t work.

I had a look at this and managed to disable the L1 and L2 caches, however, afterwards I got not that far. On the Cortex-A cores it seems at least the L1 data cache is required to provide support for atomic operations:

https://stackoverflow.com/questions/76207164/disabled-dcache-will-prevent-atomic-flag-from-being-set

I guess we have this situation on most modern chips with caches since the reservation granule is usually a cache line. How do we want to deal with rtems_cache_disable_data() in this case? From my point of view, this function as no real use case and adding it in the first place was a mistake.

We have a couple of options:

  • Make the rtems_cache_disable_data() directive a no-operation. Afterwards the cache is still enabled, and an user may get confused.

  • Issue a fatal error if someone calls rtems_cache_disable_data().

  • Really disable the cache and let the user figure out that the atomic operations no longer work. Disabling the data cache can be a quite complex thing to do.

  • Add a return status code to rtems_cache_disable_data() and let it return RTEMS_UNSATISFIED for example.

After discussions, the solution to optionally issue a fatal error was selected. If rtems_cache_disable_data() issues a fatal error is BSP-specific.

Author: Sebastian Huber

2024-06-20T13:51:38.977Z

assigned to @sebhub

Author: Sebastian Huber

2024-06-26T10:02:21.541Z

mentioned in merge request !97

Author: Sebastian Huber

2024-06-27T23:31:57.668Z

mentioned in commit c847f4c10161bebddec346ac38cd10c689dcc97b

4522 - Optimize red-black tree insert/extract

Id

4522

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-10-05T14:16:32.000Z

Updated

2024-06-20T07:02:39.266Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, tool::newlib, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4522

Merges

0

Original author: sebastian.huber

Code coverage analysis of the red-black tree insert/extract operations defined in <sys/tree.h> showed that the macros contain dead code. To fix this simplify some expressions and add specialized rotations:

https://sourceware.org/pipermail/newlib/2021/018599.html

Author: Trac Migrate

2021-10-07T19:39:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”889cf95db0122bd1a6b21598569620c40ff2069d/rtems-source-builder” 889cf95/rtems-source-builder]:

Update newlib to fetch <sys/tree.h> optimizations

Close #4522.

Author: Amar Takhar

2024-04-25T20:49:13.299Z

changed the description

Author: Chris Johns

2024-06-20T07:02:39.171Z

mentioned in issue #5049

5038 - CPUKit score uses empty structs

Id

5038

State

closed

Type

ISSUE

Author

Chris Johns

Closed by

Amar Takhar

Created

2024-06-13T04:41:27.382Z

Closed

2024-06-14T02:46:38.420Z

Updated

2024-06-19T23:05:55.293Z

Milestone

6.1

Labels

rtems::score

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5038

Merges

1

Summary

GCC is now generating a warning for empty structures. We are using them and we should address as I do not think it is part of the C standard.

An example warning:

In file included from ../../../cpukit/include/rtems/rtems/intr.h:73,
from ../../../cpukit/include/rtems.h:69,
from ../../../testsuites/sptests/spstdc17/init.c:32:
../../../cpukit/include/rtems/score/isrlock.h:72:9: warning: struct has no members [-Wpedantic]
72 | typedef struct {
|         ^~~~~~

Steps to reproduce

Build using this configuration:

[DEFAULT]
RTEMS_DEBUG = True
RTEMS_POSIX_API = True

[aarch64/xilinx_zynqmp_lp64_zu3eg]
BUILD_TESTS = True

Author: Chris Johns

2024-06-13T04:41:54.853Z

changed the description

Author: Kinsey Moore

2024-06-13T12:35:49.624Z

marked this issue as related to #4957

Author: Kinsey Moore

2024-06-13T22:27:42.388Z

mentioned in merge request !73

Author: Chris Johns

2024-06-19T23:05:55.276Z

mentioned in merge request !79

4957 - spstdc17 warnings building i386/pc686

Id

4957

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Closed by

Amar Takhar

Created

2023-10-04T01:49:08.000Z

Closed

2024-06-14T02:46:38.414Z

Updated

2024-06-19T23:05:55.265Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4957

Merges

1

This test has these warnings:

[4070/4522] Compiling testsuites/sptests/spstdc17/init.c
In file included from ../../../cpukit/include/rtems/rtems/intr.h:73,
from ../../../cpukit/include/rtems.h:69,
from ../../../testsuites/sptests/spstdc17/init.c:32:
../../../cpukit/include/rtems/score/isrlock.h:72:9: warning: struct has no members [-Wpedantic]
72 | typedef struct {
|         ^~~~~~
In file included from ../../../cpukit/include/rtems/scheduler.h:40,
from ../../../cpukit/include/rtems/confdefs/scheduler.h:65,
from ../../../cpukit/include/rtems/confdefs/threads.h:49,
from ../../../cpukit/include/rtems/confdefs/inittask.h:56,
from ../../../cpukit/include/rtems/confdefs.h:68,
from ../../../testsuites/sptests/spstdc17/init.c:57:
../../../cpukit/include/rtems/score/scheduler.h:318:16: warning: struct has no members [-Wpedantic]
318 | typedef struct Scheduler_Context {
|                ^~~~~~~~~~~~~~~~~

Author: Chris Johns

2023-10-04T01:50:08.000Z

  • Status changed from new to assigned

Author: Trac Migrate

2023-10-17T00:30:19.000Z

deleted comment

Author: Trac Migrate

2023-10-18T01:42:13.000Z

Does removing the precompiler defines affect how gcc sees struts? right now i removed the defines to fix this issue

typedef struct { SMP_lock_Control Lock; } ISR_lock_Control;

for example removing the #defines gives me this compiler error? do you have any suggestions?

../../../cpukit/include/rtems/score/isrlock.h:73:3: error: unknown type name ‘SMP_lock_Control’ 73 | SMP_lock_Control Lock; | ^~~~~~~~~~~~~~~~ smplock.h is defined above

Author: Joel Sherrill

2023-10-18T02:44:14.000Z

It has a single field which is smp specific. When built for uniprocessor, the structure ends up with no fields which is the problem. I am guessing that all code that uses this should be smp only and the structure not present.

Author: Trac Migrate

2023-10-18T05:17:50.000Z

Through typedefs this structure is part of the API. We could add a dummy member to the API visible structure for uniprocessor configurations if we really want to fix warnings like this. Internally, we need more #ifdefs to avoid using the lock control.

Author: Kinsey Moore

2024-06-13T12:35:49.656Z

marked this issue as related to #5038

Author: Kinsey Moore

2024-06-13T22:29:34.192Z

mentioned in merge request !73

Author: Chris Johns

2024-06-19T23:05:55.246Z

mentioned in merge request !79

5043 - Remove e500 instructions from PowerPC BSPs that are not E500

Id

5043

State

closed

Type

ISSUE

Author

Chris Johns

Closed by

Amar Takhar

Created

2024-06-15T06:48:20.446Z

Closed

2024-06-18T06:27:01.121Z

Updated

2024-06-18T06:27:01.169Z

Milestone

6.1

Labels

arch:powerpc, tool::gdb

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5043

Merges

1

Summary

The PowerPC BSP libcpu header powerpc-utilities.h has functions that force the machine type to be e500. GDB sees this machine state and selects the architecture to be powerpc:e500 and that causes problems when debugging BSPs that are not e500 based. For example the Beatnik BSP has -mcpu=7400 and GDB should report powerpc:7400 however it reports powerpc:e500.

The functions are https://gitlab.rtems.org/rtems/rtos/rtems/-/blob/main/bsps/powerpc/include/libcpu/powerpc-utility.h?ref_type=heads#L887

Steps to reproduce

  • Build powerpc/mvme2700

  • Start GDB with powerpc-rtems6-gdb build/powerpc/mvme2700/testsuites/samples/hello.exe

  • Enter show architecture

GDB reports the incorrect architecture:

(gdb) show architecture
The target architecture is set to "auto" (currently "powerpc:e500").

Solution

Find a solution. I cannot easily see how to conditionally build for E500 type processors. It would be good if someone with more PowerPC experience could help provide a solution.

Would removing the .machine e500 statements be OK for all PowerPC BSPs?

Author: Chris Johns

2024-06-15T07:31:42.433Z

Checking the architecture and compiler options using the scripts and GDB init commands:

$ ../get-archs                                                                                                                                                                                                                    [59/1887]
EXE: build/powerpc/mpc5643l_evb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/hsc_cm01/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/qoriq_core_1/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mpc8313erdb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mvme3100/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -msoft-float
EXE: build/powerpc/beatnik/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=7400
EXE: build/powerpc/mvme2100/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/qoriq_e6500_32/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=e6500 -m32 -mvrsave
EXE: build/powerpc/mpc8349eamds/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/pm520_ze30/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mpc5668g/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/qoriq_e6500_64/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common64").
| -ftls-model=local-exec -mcpu=e6500 -m64 -mvrsave
EXE: build/powerpc/pghplus/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=860
EXE: build/powerpc/virtex5/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -msoft-float
EXE: build/powerpc/t32mppc/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mtx603e/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mpc8309som/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mvme2307/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=604
EXE: build/powerpc/phycore_mpc5554/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/pm520_cr825/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mvme5500/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec
EXE: build/powerpc/icecube/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mpc5566evb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/gwlcfm/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/br_uid/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/tqm8xx_stk8xx/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=860
EXE: build/powerpc/qoriq_core_0/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mpc5674fevb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mvme2700/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=604
EXE: build/powerpc/qemuppc/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/qoriq_e500/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/qemuprep-altivec/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=7400
EXE: build/powerpc/virtex4/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec
EXE: build/powerpc/qemuprep/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec
EXE: build/powerpc/mpc8260ads/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mcp750/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec
EXE: build/powerpc/psim/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/ss555/testsuites/samples/hello.exe

warning: Section .debug_aranges in /opt/work/chris/rtems/kernel/rtems.git/build/powerpc/ss555/testsuites/samples/hello.exe entry at offset 0 has unsupported version 0, ignoring .debug_aranges.
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=505
EXE: build/powerpc/virtex/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=403

Scripts:

get-archs

show-arch.txt

Author: Chris Johns

2024-06-15T08:03:19.532Z

With the following patch:

diff --git a/bsps/powerpc/include/libcpu/powerpc-utility.h b/bsps/powerpc/include/libcpu/powerpc-utility.h
index bfe0a68154..cf2d4c3f8c 100644
--- a/bsps/powerpc/include/libcpu/powerpc-utility.h
+++ b/bsps/powerpc/include/libcpu/powerpc-utility.h
@@ -888,7 +888,6 @@ static inline void ppc_msync(void)
{
__asm__ volatile (
".machine push\\n"
-    ".machine e500\\n"
"msync\\n"
".machine pop"
:
@@ -901,7 +900,6 @@ static inline void ppc_tlbre(void)
{
__asm__ volatile (
".machine push\\n"
-    ".machine e500\\n"
"tlbre\\n"
".machine pop"
:
@@ -914,7 +912,6 @@ static inline void ppc_tlbwe(void)
{
__asm__ volatile (
".machine push\\n"
-    ".machine e500\\n"
"tlbwe\\n"
".machine pop"
:
@@ -927,7 +924,6 @@ static inline void ppc_tlbsx(void *addr)
{
__asm__ volatile (
".machine push\\n"
-    ".machine e500\\n"
"tlbsx 0, %0\\n"
".machine pop"
:
@@ -940,7 +936,6 @@ static inline void ppc_mtivpr(void *prefix)
{
__asm__ volatile (
".machine push\\n"
-    ".machine e500\\n"
"mtivpr %0\\n"
".machine pop"
:
@@ -950,7 +945,6 @@ static inline void ppc_mtivpr(void *prefix)

#define ppc_mtivor(x, vec) __asm__ volatile ( \\
".machine push\\n" \\
-    ".machine e500\\n" \\
"mtivor" RTEMS_XSTRING(x) " %0\\n" \\
".machine pop" \\
: \\

The GDB and command line arguments are:

$ ../get-archs
EXE: build/powerpc/mpc5643l_evb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/hsc_cm01/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/qoriq_core_1/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mpc8313erdb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mvme3100/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -msoft-float
EXE: build/powerpc/beatnik/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=7400
EXE: build/powerpc/mvme2100/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/qoriq_e6500_32/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=e6500 -m32 -mvrsave
EXE: build/powerpc/mpc8349eamds/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/pm520_ze30/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mpc5668g/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/qoriq_e6500_64/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common64").
| -ftls-model=local-exec -mcpu=e6500 -m64 -mvrsave
EXE: build/powerpc/pghplus/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=860
EXE: build/powerpc/virtex5/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -msoft-float
EXE: build/powerpc/t32mppc/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mtx603e/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mpc8309som/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mvme2307/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=604
EXE: build/powerpc/phycore_mpc5554/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/pm520_cr825/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mvme5500/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec
EXE: build/powerpc/icecube/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mpc5566evb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/gwlcfm/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/br_uid/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/tqm8xx_stk8xx/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=860
EXE: build/powerpc/qoriq_core_0/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mpc5674fevb/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:e500").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/mvme2700/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=604
EXE: build/powerpc/qemuppc/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/qoriq_e500/testsuites/samples/hello.exe
Architecture of file not recognized.
The target architecture is set to "auto" (currently "rs6000:6000").
| -ftls-model=local-exec -mcpu=8540 -msoft-float
EXE: build/powerpc/qemuprep-altivec/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=7400
EXE: build/powerpc/virtex4/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec
EXE: build/powerpc/qemuprep/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec
EXE: build/powerpc/mpc8260ads/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/mcp750/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec
EXE: build/powerpc/psim/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=603e
EXE: build/powerpc/ss555/testsuites/samples/hello.exe

warning: Section .debug_aranges in /opt/work/chris/rtems/kernel/rtems.git/build/powerpc/ss555/testsuites/samples/hello.exe entry at offset 0 has unsupported version 0, ignoring .debug_aranges.
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=505
EXE: build/powerpc/virtex/testsuites/samples/hello.exe
The target architecture is set to "auto" (currently "powerpc:common").
| -ftls-model=local-exec -mcpu=403

Author: Amar Takhar

2024-06-17T03:37:13.547Z

Just as a note this was added by @sebhub not too long ago:

Author: Chris Johns

2024-06-17T03:37:13.506Z

It looks like GDB is detecting E500 through sections like .gnu.attribute and other sections. An example is https://github.com/RTEMS/sourceware-mirror-binutils-gdb/blob/master/gdb/rs6000-tdep.c#L7655.

Author: Sebastian Huber

2024-06-17T05:55:49.764Z

There should be no code for the inline assembly functions if they are not used. I guess that the e500 stuff slips in through the shared exception support.

Author: Chris Johns

2024-06-17T05:55:49.734Z

Yeah I suspect it does and I agree there is a lot of sharing in a common exe of code that should never run. My guess is ld collects up the .gnu.atrribute sections and so this machine type bubbles to the surface?

Is the .machine e500 needed for some BSPs? Do you if those calls can be made conditional somehow?

Author: Sebastian Huber

2024-06-17T06:00:13.404Z

The idea of the shared exception support was to have the support for all targets in one binary and use a run-time detection to select the right one. This code existed before I started working with RTEMS.

Author: Chris Johns

2024-06-17T06:02:17.303Z

Yes and I have only recently started to use the older PowerPCs boards. I see no value in touching the code to change this so your help in finding a solution would be welcome. If the .machine e500 lines can be removed that would work for me but I have no idea why they are there?

Author: Sebastian Huber

2024-06-17T06:10:21.145Z

This was a change for GCC 10, which no longer passes -many to the assembler. You can try to remove it and see if all powerpc BSPs still build.

Author: Chris Johns

2024-06-17T06:12:27.466Z

I have and they do. I used rtems-bsps to list the BSPs and created the attached INI file. Is this all that is needed?

powerpc-all.ini

Author: Sebastian Huber

2024-06-17T06:30:12.807Z

As far as I remember at that time this resulted in assembly-time errors. So, if everything builds now without the .machine push and pop, it should be all right.

Author: Chris Johns

2024-06-18T04:10:50.952Z

mentioned in merge request !78

4997 - GMP not building when not installed

Id

4997

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Closed by

Joel Sherrill

Created

2024-02-28T05:22:44.000Z

Closed

2024-06-13T15:36:06.692Z

Updated

2024-06-13T15:36:06.777Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4997

Merges

0

Email from Joel to devel:

rtems 6.1rc2 has a lot of tool build failures because I didn’t have gmp-devel installed.

Checking for gmp.h... no
configure: error: gmp.h header not found

This is reported as part of building gcc-newlib. Should the RSB account for this by building gmp at the same time?

For now, I installed a host gmp-devel and restarted the build sweep.

Author: Chris Johns

2024-02-28T05:24:16.000Z

Joel,

Can you please detail the operating system?

Can you please remove the installed gmp-devel package and then check if the GMP is built? Please add --trace to the RSB command line.

Thanks Chris

Author: Joel Sherrill

2024-02-28T23:47:38.000Z

The build of gdb now depends on gmp-devel. I don’t know if we want to include gmp in the rsb bset or not. But once I loaded that package, it built.

This is on CentOS 7 with the software collection to have gcc 8 and Python 3. CentOS 7 default is a gcc 4.8 and Python 2 which is insufficient. Should we update the CentOS 7 recommendations in the Users Guide?

Author: Chris Johns

2024-03-01T05:14:38.000Z

Replying to Joel Sherrill:

The build of gdb now depends on gmp-devel.

Yes, it has for a while and we have building gmp for a while as a result.

I don’t know if we want to include gmp in the rsb bset or not. But once I loaded that package, it built.

Please remove the package and retest. It is included in the build setsfor the RTEMS tools. Please have a look in the defaults build sets for the 6 release.

This is on CentOS 7 with the software collection to have gcc 8 and Python 3.

Python 3 is now required because GDB requires it. The RTEMS tools commands are still python 2 compatible however pushing to a more recent GDB means we all need python 3.

CentOS 7 default is a gcc 4.8 and Python 2 which is insufficient.

I do not use Linux and I do not know what this means?

Should we update the CentOS 7 recommendations in the Users Guide?

To say what? The issue is not needing the package but why it was not built when it should be. Can you please debug this?

Author: Chris Johns

2024-06-13T15:36:01.749Z

@joel is this fixed?

Author: Joel Sherrill

2024-06-13T15:36:01.718Z

This is fixed but the hash changed for rtems-tools without the sha512 checksum getting updated. I will have a MR for that shortly.

Author: Joel Sherrill

2024-06-13T15:36:06.825Z

changed the description

4870 - Add features for QSPI Flash on Xilinx Versal

Id

4870

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Aaron Nyholm

Closed by

Gedare Bloom

Created

2023-03-06T02:35:37.000Z

Closed

2024-06-10T17:58:28.781Z

Updated

2024-06-13T04:26:44.735Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4870

Merges

1

Original author: Eagleirony

Adds bug fixes for code ported from Xilinx, adds ReadId function for QSPI flash, adds wrapper to Xilinx driver to allow use of QSPI flash device API and ports JFFS2 driver from ZynqMP.

Author: Trac Migrate

2023-03-06T02:36:01.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-06T02:36:35.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-06T02:38:28.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-06T02:38:42.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-09T00:31:59.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-09T00:32:51.000Z

Original author: Eagleirony

Updated patch 4 to reflect changes to spiflash API begin renamed

Author: Trac Migrate

2023-03-15T23:27:33.000Z

Original author: Eagleirony

Author: Chris Johns

2024-05-02T23:03:47.819Z

@eagleirony can you please make a merge request for these changes? Thanks

Author: Chris Johns

2024-05-02T23:04:06.007Z

changed the description

Author: Chris Johns

2024-05-02T23:04:06.044Z

assigned to @eagleirony

Author: Chris Johns

2024-05-02T23:04:16.233Z

unassigned @tracmigrate

Author: Aaron Nyholm

2024-05-07T05:55:32.508Z

mentioned in merge request !21

Author: Sebastian Huber

2024-06-11T11:37:16.310Z

mentioned in merge request !67

Author: Sebastian Huber

2024-06-13T04:26:44.547Z

mentioned in commit 1d997f33386485971e3ea30b7645a3e579155b74

550 - fcntl() fails to put a non-blocking socket into blocking mode

Id

550

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2004-01-16T11:47:00.000Z

Updated

2024-06-13T01:26:19.534Z

Milestone

6.1

Labels

network::legacy, priority::normal, resolution::wontfix, tickettype::defect, version::4.5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/550

Merges

0

Original author: trauscher

A socket cannot be put into blocking mode using fcntl() once it has been put into non-blocking mode.

ioctl() is working fine, so the problem is not in the IP stack.

The problem occurs in real life with the GoAhead webserver on high-latency connections as its non-blocking write socket remains non-blocking and a web page can be truncated when websDone() is called.

In newlib (1.10, 1.11) there are several non-blocking flags. The following is defined in sys/fcntl.h

#define _FNBIO          0x1000  /* non blocking I/O (sys5 style) */
#define _FNONBLOCK      0x4000  /* non blocking I/O (POSIX style) */
...
#define _FNDELAY        _FNONBLOCK      /* non blocking I/O (4.2 style) */
/*      O_NDELAY        _FNDELAY        set in include/fcntl.h */
/*      O_NDELAY        _FNBIO          set in 5include/fcntl.h */
#define O_NONBLOCK      _FNONBLOCK

So O_NDELAY is never defined. sys/fcntl.h is not patched by the rtems-newlib patch.

In RTEMS, libio.c and libio_.h both contain the following code

#if ! defined(O_NDELAY)
# if defined(solaris2)
#  define O_NDELAY O_NONBLOCK
# elif defined(RTEMS_NEWLIB)
#  define O_NDELAY _FNBIO
# endif
#endif

As O_NDELAY is undefined and RTEMS_NEWLIB is defined, O_NDELAY is defined to 0x1000.

Thus, using O_NONBLOCK in fcntl() (this was suggested in the mailing list some time ago) doesn’t seem to work.

Release: RTEMS-4.5

Environment: rtems-4.5.0, newlib-1.10 or newlib-1.11

  • socketblock.c

Author: Joel Sherrill

2004-01-16T18:01:54.000Z

Original author: trauscher

  • Status changed from assigned to waiting

State-Changed-From-To: open->feedback State-Changed-Why: Thomas .. does this happen in 4.6 or the currect source? I don’t see this problem in the current code. At this point, no further releases from the 4.5 branch are planned so I am prone to close any bug report against it.

Author: Trac Migrate

2006-12-03T13:31:12.000Z

Original author: trauscher

socketblock.c

Author: Gedare Bloom

2014-11-22T14:23:02.000Z

Original author: trauscher

  • Description changed

A socket cannot be put into blocking mode using fcntl()
once it has been put into non-blocking mode.

ioctl() is working fine, so the problem is not in the IP stack.

The problem occurs in real life with the GoAhead webserver on high-latency connections as its non-blocking write socket remains non-blocking and a web page can be truncated when websDone() is called.

In newlib (1.10, 1.11) there are several non-blocking flags.
The following is defined in sys/fcntl.h

#define _FNBIO          0x1000  /* non blocking I/O (sys5 style) */
#define _FNONBLOCK      0x4000  /* non blocking I/O (POSIX style) */
...
#define _FNDELAY        _FNONBLOCK      /* non blocking I/O (4.2 style) */
/*      O_NDELAY        _FNDELAY        set in include/fcntl.h */
/*      O_NDELAY        _FNBIO          set in 5include/fcntl.h */
#define O_NONBLOCK      _FNONBLOCK

So O_NDELAY is never defined. sys/fcntl.h is not patched by
the rtems-newlib patch.

In RTEMS, libio.c and libio_.h both contain the following
code

#if ! defined(O_NDELAY)
# if defined(solaris2)
#  define O_NDELAY O_NONBLOCK
# elif defined(RTEMS_NEWLIB)
#  define O_NDELAY _FNBIO
# endif
#endif

As O_NDELAY is undefined and RTEMS_NEWLIB is defined,
O_NDELAY is defined to 0x1000.

Thus, using O_NONBLOCK in fcntl() (this was suggested
in the mailing list some time ago) doesn't seem to work.

Release:
RTEMS-4.5

Environment:
rtems-4.5.0, newlib-1.10 or newlib-1.11
  • Milestone changed from %”2” to %”4.9.5”

Author: Gedare Bloom

2014-11-22T14:24:39.000Z

Original author: trauscher

  • Owner set to @joel

Author: Joel Sherrill

2014-11-23T18:52:45.000Z

Original author: trauscher

I am hacking together a test but I believe this does happen in the current source. It looks like so_ioctl(fd, FIONBIO, [O_NONBLOCK|~O_NONBLOCK]) needs to be called. We have the ioctl_h handler but should we make the call if networking is enabled?

Author: Joel Sherrill

2014-11-23T18:56:06.000Z

Original author: trauscher

NOTE that FIONBIO is not defined in newlib – only in the network stack so that makes for some trouble. I suppose we could modify rtems_syscalls.c to handle F_SETFD.

Author: Joel Sherrill

2015-02-12T17:46:49.000Z

Original author: trauscher

  • Description changed

A socket cannot be put into blocking mode using fcntl()
once it has been put into non-blocking mode.

ioctl() is working fine, so the problem is not in the IP stack.

The problem occurs in real life with the GoAhead webserver on high-latency connections as its non-blocking write socket remains non-blocking and a web page can be truncated when websDone() is called.

In newlib (1.10, 1.11) there are several non-blocking flags.
The following is defined in sys/fcntl.h

#define _FNBIO          0x1000  /* non blocking I/O (sys5 style) */
#define _FNONBLOCK      0x4000  /* non blocking I/O (POSIX style) */
...
#define _FNDELAY        _FNONBLOCK      /* non blocking I/O (4.2 style) */
/*      O_NDELAY        _FNDELAY        set in include/fcntl.h */
/*      O_NDELAY        _FNBIO          set in 5include/fcntl.h */
#define O_NONBLOCK      _FNONBLOCK

So O_NDELAY is never defined. sys/fcntl.h is not patched by
the rtems-newlib patch.

In RTEMS, libio.c and libio_.h both contain the following
code

#if ! defined(O_NDELAY)
# if defined(solaris2)
#  define O_NDELAY O_NONBLOCK
# elif defined(RTEMS_NEWLIB)
#  define O_NDELAY _FNBIO
# endif
#endif

As O_NDELAY is undefined and RTEMS_NEWLIB is defined,
O_NDELAY is defined to 0x1000.

Thus, using O_NONBLOCK in fcntl() (this was suggested
in the mailing list some time ago) doesn't seem to work.

Release:
RTEMS-4.5

Environment:
rtems-4.5.0, newlib-1.10 or newlib-1.11
  • Milestone changed from %”4.9.5” to %”5.0”

This is a known issue with many RTOS’. The FACE (http://www.opengroup.org/face) standard has specifically had to add requirements so this behavior is required of RTOSes conforming to the FACE POSIX Profiles. The ioctl() interface is not in POSIX and fcntl() is the only way to set non-blocking in a pure POSIX environment.

I pushed this milestone to 5.0 because:

  • this is a long-standing issue.

  • it is technically beyond the POSIX standard itself.

  • it will need to be addressed with the current IPV4 stack, the new IPV4/IPV6 stack and LWIP if we are to support that.

  • this needs test code.

  • this needs a design that can work with multiple network stacks.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: trauscher

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

Author: Chris Johns

2022-11-29T21:47:15.000Z

Original author: trauscher

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

The fd handling has evolved and now we have libbsd. If this is still a problem please reopen.

Author: Chris Johns

2024-06-13T01:26:19.602Z

changed the description

4960 - User manual test documentation update

Id

4960

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Closed by

Kinsey Moore

Created

2023-10-07T04:04:07.000Z

Closed

2024-06-11T21:07:51.015Z

Updated

2024-06-11T21:07:51.026Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4960

Merges

1

The Testing chapter of the User Manual needs to be update for RTEMS 6.

Author: Chris Johns

2024-05-02T23:16:50.567Z

changed the description

Author: Kinsey Moore

2024-06-07T01:39:49.020Z

created branch 4960-user-manual-test-documentation-update to address this issue

Author: Kinsey Moore

2024-06-07T01:40:19.900Z

mentioned in merge request !61

Author: Kinsey Moore

2024-06-07T02:57:06.215Z

mentioned in merge request rtems/docs/rtems-docs!16

4962 - MicroBlaze BSPs modify carry flag before MSR is saved

Id

4962

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Alex White

Closed by

Amar Takhar

Created

2023-10-23T14:09:39.000Z

Closed

2024-06-11T21:04:13.433Z

Updated

2024-06-11T21:04:13.494Z

Milestone

6.1

Labels

bsp, priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4962

Merges

2

Original author: Alex

The interrupt handler for the MicroBlaze BSPs defined in bsps/microblaze/microblaze_fpga/start/_interrupt_handler.S saves one register to the stack, R5, before jumping to the architecture _ISR_Handler. This is because R5 is used to pass the interrupt source if it is known. To indicate an unknown interrupt source, it uses the following instruction:

addi r5, r0, 0xFF

The addi instruction modifies the carry flag in MSR. This is a problem because MSR has not been saved to the stack yet. It is saved in _ISR_Handler.

This went unnoticed because it manifests itself in subtle ways. It requires that an interrupt happen somewhere between an instruction that modifies the carry flag and an instruction that uses the modified carry flag.

To resolve this issue, the entire interrupt frame should be saved as the first step of _interrupt_handler rather than in _ISR_Handler. It should also be made very clear that saving the stack frame is handled by the BSP rather than the architecture-specific _ISR_Handler.

Author: Trac Migrate

2023-10-23T18:49:22.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to assigned

Author: Chris Johns

2024-05-02T23:14:34.815Z

@alex what is the status of this issue?

Author: Chris Johns

2024-05-02T23:14:57.815Z

changed the description

Author: Chris Johns

2024-05-02T23:14:57.850Z

assigned to @alex and unassigned @tracmigrate

Author: Kinsey Moore

2024-05-23T20:07:20.759Z

There was a patch posted on October 24, 2023, but it was never committed: https://lists.rtems.org/pipermail/devel/2023-October/076601.html

Author: Kinsey Moore

2024-05-23T20:08:01.995Z

@alex Would you mind opening a MR for this issue and adding that patch?

Author: Kinsey Moore

2024-06-06T23:33:32.352Z

created branch 4962-microblaze-bsps-modify-carry-flag-before-msr-is-saved to address this issue

Author: Kinsey Moore

2024-06-06T23:34:27.007Z

mentioned in merge request !60

Author: Kinsey Moore

2024-06-06T23:38:07.457Z

mentioned in commit 87ee0df97e3aed5220d8dfde404b2bcb134b5544

Author: Kinsey Moore

2024-06-10T19:18:58.920Z

mentioned in commit 4492fc1d66863846867e010619dda167e04bd6d2

Author: Kinsey Moore

2024-06-11T14:48:38.744Z

mentioned in merge request !69

5017 - Creation of an helper method for rtems_aio_handle()

Id

5017

State

closed

Type

ISSUE

Author

Alessandro Nardin

Closed by

Chris Johns

Created

2024-05-21T17:03:08.191Z

Closed

2024-05-29T22:12:57.103Z

Updated

2024-05-29T22:12:57.211Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5017

Merges

1

Summary

The rtems_aio_handle() method in aio_misc.c is currently long and difficult to read. To improve readability and facilitate future support for listio, a helper method should be created to handle the different types of requests.

Author: Alessandro Nardin

2024-05-21T17:06:49.269Z

mentioned in merge request !42

4923 - FPU context init/switch not working well on more than 2 tasks on Cortex-Mx/ARMv7-M platform

Id

4923

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Cedric Berger

Closed by

Kinsey Moore

Created

2023-07-07T09:47:34.000Z

Closed

2024-05-22T01:52:07.903Z

Updated

2024-05-22T01:52:07.980Z

Milestone

6.1

Labels

arch:arm, priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4923

Merges

1

Original author: kgardas

While working on stm32h7 I’ve noted strange results from fpu calculations when several tasks are involved. I’ve minimized that to attach testcase. The testcase runs well on Xilinx/A9/Qemu and BeagleBone White platforms (ARMv7-A), but fails by providing wrong output on ARMv7-M (STM32H757i-eval).

The core of the testcase is a comparison of power of two done on integer by shifting and by calling C pow function with using double. When there is discrepancy in comparison of those, error is signaled and counted. The output then prints number of test run/number of failures and this all for Init and 4 other tasks created. The first error in comparison is also signaled for every task where it happen by clear ‘ERROR’ message. The output from H7 looks like:

initializing...
main task infinite loop.
ERROR, computation failed in fpu_task_pow2
ERROR, computation failed in fpu_task_pow3
ERROR, computation failed in fpu_task_pow4
ERROR, computation failed in Init
INIT: 1000/1000, T1: 38985/0, T2: 39802/39802, T3: 39735/39735, T4: 39804/39804
INIT: 2000/1000, T1: 78030/0, T2: 79663/79663, T3: 79508/79508, T4: 79650/79650
INIT: 3000/1000, T1: 117100/0, T2: 119517/119517, T3: 119281/119281, T4: 119513/119513
INIT: 4000/2000, T1: 156138/0, T2: 159385/159385, T3: 159054/159054, T4: 159355/159355
INIT: 5000/2000, T1: 195198/0, T2: 199242/199242, T3: 198827/198827, T4: 199195/199195
INIT: 6000/2000, T1: 234238/0, T2: 239111/239111, T3: 238599/238599, T4: 239054/239054
INIT: 7000/2000, T1: 273278/0, T2: 278961/278961, T3: 278372/278372, T4: 278903/278903
INIT: 8000/2000, T1: 312315/0, T2: 318807/318807, T3: 318145/318145, T4: 318740/318740
INIT: 9000/2000, T1: 351353/0, T2: 358628/358628, T3: 357918/357918, T4: 358600/358600
INIT: 10000/2000, T1: 390393/0, T2: 398463/398463, T3: 397691/397691, T4: 398444/398444
INIT: 11000/2000, T1: 429431/0, T2: 438302/438302, T3: 437464/437464, T4: 438279/438279
INIT: 12000/2000, T1: 468470/0, T2: 478152/478152, T3: 477236/477236, T4: 478123/478123
INIT: 13000/2000, T1: 507506/0, T2: 518006/518006, T3: 517009/517009, T4: 517961/517961
...

as you can see computation is always good (0 error) on T1 task while it is always bad on T2, T3, T4 tasks. Sometimes it is even bad on Init task.

Expected output from BeagleBone looks:

initializing...
main task infinite loop.
INIT: 1000/0, T1: 8028/0, T2: 8042/0, T3: 8043/0, T4: 8043/0
INIT: 2000/0, T1: 16053/0, T2: 16084/0, T3: 16084/0, T4: 16085/0
INIT: 3000/0, T1: 24076/0, T2: 24125/0, T3: 24125/0, T4: 24126/0
INIT: 4000/0, T1: 32097/0, T2: 32163/0, T3: 32165/0, T4: 32167/0
INIT: 5000/0, T1: 40120/0, T2: 40204/0, T3: 40207/0, T4: 40208/0
...

The idea here is that task context initialization or switch is not working well on v7-M platform.

Author: Trac Migrate

2023-07-07T09:48:03.000Z

Original author: kgardas

testcase code

Author: Trac Migrate

2023-07-07T10:19:26.000Z

Original author: kgardas

test case code with referenced output

Author: Trac Migrate

2023-07-07T10:23:37.000Z

Original author: kgardas

Testing on nucleo-h743zi (most close to original platform of stm32h743-eval I have here) reveals same results as from stm32h757i-eval: (although to get failure on Init takes more time)

initializing...
main task infinite loop.
ERROR, computation failed in fpu_task_pow2
ERROR, computation failed in fpu_task_pow3
ERROR, computation failed in fpu_task_pow4
INIT: 1000/0, T1: 15085/0, T2: 15336/15336, T3: 15351/15351, T4: 15356/15356
INIT: 2000/0, T1: 30162/0, T2: 30685/30685, T3: 30716/30716, T4: 30727/30727
INIT: 3000/0, T1: 45239/0, T2: 46035/46035, T3: 46080/46080, T4: 46098/46098
INIT: 4000/0, T1: 60318/0, T2: 61384/61384, T3: 61429/61429, T4: 61468/61468
INIT: 5000/0, T1: 75419/0, T2: 76733/76733, T3: 76794/76794, T4: 76839/76839
INIT: 6000/0, T1: 90496/0, T2: 92082/92082, T3: 92159/92159, T4: 92210/92210
INIT: 7000/0, T1: 105575/0, T2: 107432/107432, T3: 107524/107524, T4: 107581/107581
INIT: 8000/0, T1: 120650/0, T2: 122799/122799, T3: 122888/122888, T4: 122952/122952
INIT: 9000/0, T1: 135725/0, T2: 138167/138167, T3: 138252/138252, T4: 138322/138322
INIT: 10000/0, T1: 150799/0, T2: 153535/153535, T3: 153617/153617, T4: 153693/153693
INIT: 11000/0, T1: 165874/0, T2: 168903/168903, T3: 168981/168981, T4: 169064/169064
INIT: 12000/0, T1: 180947/0, T2: 184253/184253, T3: 184346/184346, T4: 184435/184435
INIT: 13000/0, T1: 196021/0, T2: 199621/199621, T3: 199711/199711, T4: 199805/199805
INIT: 14000/0, T1: 211114/0, T2: 214989/214989, T3: 215075/215075, T4: 215176/215176
INIT: 15000/0, T1: 226187/0, T2: 230357/230357, T3: 230440/230440, T4: 230547/230547
INIT: 16000/0, T1: 241261/0, T2: 245726/245726, T3: 245805/245805, T4: 245918/245918
INIT: 17000/0, T1: 256335/0, T2: 261094/261094, T3: 261169/261169, T4: 261289/261289
INIT: 18000/0, T1: 271409/0, T2: 276463/276463, T3: 276534/276534, T4: 276659/276659
ERROR, computation failed in Init
INIT: 19000/1000, T1: 286484/0, T2: 291832/291832, T3: 291899/291899, T4: 292030/292030
INIT: 20000/1000, T1: 301565/0, T2: 307199/307199, T3: 307264/307264, T4: 307398/307398
INIT: 21000/1000, T1: 316637/0, T2: 322550/322550, T3: 322628/322628, T4: 322765/322765

Author: Trac Migrate

2023-07-07T13:15:38.000Z

Original author: kgardas

Does the spcontext01 check the floating-point registers on this BSP and what is the outcome of this test?

Author: Trac Migrate

2023-07-07T13:25:38.000Z

Original author: kgardas

Here is the output of spcontext01 on nucleo-h743zi:

*** BEGIN OF TEST SPCONTEXT 1 ***
*** TEST VERSION: 6.0.0.6264b14804bbe21f13d4691160b45e208286abaa
*** TEST STATE: EXPECTED_PASS
*** TEST BUILD:
*** TEST TOOLS: 12.2.1 20230224 (RTEMS 6, RSB 7153c2f1dcfb83b154b976298699c26e793a33dd, Newlib 17ac400)
Test configuration N N N... done
Test configuration N N F... done
Test configuration N F N... done
Test configuration N F F... done
Test configuration F N N... done
Test configuration F N F... done
Test configuration F F N... done
Test configuration F F F... done

*** END OF TEST SPCONTEXT 1 ***


[ RTEMS shutdown ]
RTEMS version: 6.0.0.6264b14804bbe21f13d4691160b45e208286abaa
RTEMS tools: 12.2.1 20230224 (RTEMS 6, RSB 7153c2f1dcfb83b154b976298699c26e793a33dd, Newlib 17ac400)
executing thread ID: 0x0a010001
executing thread name: UI1

Let me know if there is anything I should test here. I have some spare time at my disposal, but I’d need to be kicked into the right direction. Currently studding Cortex-M lazy stacking and context switching and RTEMS book is ordered as a backup and will be here probably next week. I’ll also provide few registers dumps for your information…

Author: Trac Migrate

2023-07-07T14:05:26.000Z

Original author: kgardas

Maybe we don’t save a status register related to the FPU.

Author: Joel Sherrill

2023-07-07T14:19:47.000Z

Original author: kgardas

Maybe the FPU context isn’t properly initialized for this CPU variant. The first context switch restore is handled special in _Thread_Handler. Easy enough to break there and see what is actually being restored. If it’s wrong, then that’s the culprit.

Author: Trac Migrate

2023-07-07T14:48:04.000Z

Original author: kgardas

Ad _Thread_Handler breakpoint:

(gdb) b _Thread_Handler
Breakpoint 1 at 0x8003748: file ../../../cpukit/include/rtems/score/percpu.h, line 719.
Note: automatically using hardware breakpoints for read-only addresses.
(gdb) c
Continuing.

Breakpoint 1, _Thread_Handler ()
at ../../../cpukit/include/rtems/score/percpu.h:719
719       return cpu->executing;
(gdb) where
#0  _Thread_Handler () at ../../../cpukit/include/rtems/score/percpu.h:719
#1  0x08003748 in _Thread_Get (id=<optimized out>, lock_context=0x0)
at ../../../cpukit/score/src/threadget.c:63
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) c
Continuing.

Breakpoint 1, _Thread_Handler ()
at ../../../cpukit/include/rtems/score/percpu.h:719
719       return cpu->executing;
(gdb) c
Continuing.

Breakpoint 1, _Thread_Handler ()
at ../../../cpukit/include/rtems/score/percpu.h:719
719       return cpu->executing;
(gdb) c
Continuing.

Breakpoint 1, _Thread_Handler ()
at ../../../cpukit/include/rtems/score/percpu.h:719
719       return cpu->executing;

this looks like some macro executing:

static inline struct _Thread_Control *_Per_CPU_Get_executing(
const Per_CPU_Control *cpu
)
{
return cpu->executing;
}

Author: Trac Migrate

2023-07-13T12:32:33.000Z

Original author: kgardas

We were able to reproduce the issue. It is a problem in the FPU context save/restore during interrupt processing. Under certain conditions, the FPU context is restored from an uninitialized frame which could enable the flush-to-zero configuration. I am currently quite busy. I will add it to my TODO list, but it could be September/October.

Author: Trac Migrate

2023-07-13T12:43:11.000Z

Original author: kgardas

Sebastian, thanks a lot for the information. Could you give me as much information as possible with regarding to the issue as there is a high chance I find some time to deal it again before your available timeframe. For example I’m curious is it related to FPU lazy stack saving which is used and enforced by the RTEMS code? Knowing all information about it from you, will certainly help with possible fixing of the issue on our side. Thanks a lot!

Author: Trac Migrate

2023-07-13T13:23:33.000Z

Original author: kgardas

The FPU context corruption happens in _ARMV7M_Pendable_service_call(). Somehow the FPU context is not restored from the right frame position in certain cases. It is not clear, why this error doesn’t show up in the spcontext01 test.

Author: Trac Migrate

2023-07-27T18:45:22.000Z

Original author: kgardas

I consider this issue to be release critical as it affects one of major platforms (ARMv7-M) and makes FPU computation unreliable/unpredictable there. Hence switching milestone to 6.1. Please discuss if you do not think so.

Author: Trac Migrate

2023-07-27T18:45:55.000Z

Original author: kgardas

  • Milestone set to %”6.1”

Author: Trac Migrate

2024-01-31T18:28:00.000Z

Original author: kgardas

  • Cc added @cedric@precidata.com

Author: Trac Migrate

2024-01-31T18:30:49.000Z

Original author: kgardas

  • Owner set to cedric

  • Status changed from new to accepted

  • Version set to ~”6”

I will try to work on that in February.

Author: Trac Migrate

2024-02-06T15:04:10.000Z

Original author: kgardas

VFP: make paranoia test fail

Author: Trac Migrate

2024-02-06T15:04:50.000Z

Original author: kgardas

VFP: save and restore FPSCR register during context switch

Author: Trac Migrate

2024-02-06T15:05:30.000Z

Original author: kgardas

VFP: starts thread frames in a clean state

Author: Cedric Berger

2024-05-01T20:34:48.027Z

mentioned in merge request !10

Author: Amar Takhar

2024-05-01T20:45:34.520Z

changed the description

Author: Amar Takhar

2024-05-01T20:45:34.559Z

assigned to @cedric

Author: Amar Takhar

2024-05-01T20:45:40.907Z

unassigned @tracmigrate

Author: Sebastian Huber

2024-05-02T11:59:28.406Z

mentioned in merge request !12

4783 - Fix issues when compiling dtc with Cygwin

Id

4783

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Closed by

Joel Sherrill

Created

2023-01-16T21:23:55.000Z

Closed

2024-05-17T13:44:13.755Z

Updated

2024-05-17T13:44:13.768Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4783

Merges

0

Original author: rlong

Currently, DTC is failing to build due to this check in checks.c. For some reason the argument into isxdigit is coming in as a char. I’ve brought it up to the maintainer, but he sees no reason to change it. Therefore, a patch is needed to get it to build.

1183 if (unitname[0] == ‘0’ && isxdigit(unitname[1])) 1184 FAIL(c, dti, node, “unit name should not have leading 0s”); 1185 }

Author: Trac Migrate

2023-01-16T21:28:54.000Z

Original author: rlong

Author: Trac Migrate

2023-01-17T07:30:41.000Z

Original author: rlong

I can’t find the associated thread on the DTC mailing list. Could you please provide a link?

Author: Joel Sherrill

2023-01-20T15:02:48.000Z

Original author: rlong

See https://github.com/dgibson/dtc/issues/71 and I just posted. If you want to pile on, it would be appreciated. I don’t think he sees the underlying issue.

Per https://en.cppreference.com/w/c/string/byte/isxdigit, the argument is an integer. GCC and LLVM warn for using a character as an array index and this is from the GCC manual.

-Wchar-subscripts
Warn if an array subscript has type char. This is a common cause of error, as programmers often forget that this type is signed on some machines. This warning is enabled by -Wall.

Author: Kinsey Moore

2023-01-30T17:11:39.000Z

Original author: rlong

Make sure patch compiles within the build system.

Author: Trac Migrate

2023-01-30T17:21:10.000Z

Original author: rlong

In [changeset:”afaeda7681e5e7ef54a2dd040a60a89210a44e51/rtems-source-builder” afaeda7/rtems-source-builder]:

dtc: Add patch to build for ticket 4783

This patch resolves a build error with dtc on cygwin until upstream
adopts a fix.

Author: Trac Migrate

2023-07-25T05:27:50.000Z

Original author: rlong

The patch makes no sense. You need an (unsigned char) cast. I added a comment to the dtc issue.

Author: Trac Migrate

2023-07-27T11:09:59.000Z

Original author: rlong

See:

https://github.com/dgibson/dtc/pull/105

Author: Trac Migrate

2023-07-28T13:51:08.000Z

Original author: rlong

Pull request was merged. The next release will fix the issue.

Author: Trac Migrate

2023-07-28T13:51:26.000Z

Original author: rlong

  • Milestone changed from %”Indefinite” to %”6.1”

Author: Chris Johns

2024-05-02T23:11:08.349Z

changed the description

Author: Chris Johns

2024-05-02T23:11:08.386Z

assigned to @joel and unassigned @tracmigrate

Author: Amar Takhar

2024-05-17T02:07:25.904Z

@joel is this issue resolved? Seems like it is. rlong is not on GitLab

Author: Joel Sherrill

2024-05-17T13:44:13.507Z

This issue appears to be resolved based on build mailing list results. Failures appear to be in gdb now.

4702 - Fix warnings for indexing past array bounds (primarily validation tests)

Id

4702

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Closed by

Amar Takhar

Created

2022-08-15T19:39:21.000Z

Closed

2024-05-17T00:44:01.374Z

Updated

2024-05-17T00:44:01.464Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4702

Merges

0

Original author: rlong

Building for AArch64 <BSP> it looks like most of the warnings are for indexing past the end of an array. Most are from the validation tests, but a few aren’t. Hopefully they all have the same fix.

I attached the log file of the warnings.

Author: Trac Migrate

2022-08-15T19:40:54.000Z

Original author: rlong

Author: Joel Sherrill

2022-08-15T20:08:18.000Z

Original author: rlong

Per https://bugzilla.redhat.com/show_bug.cgi?id=2047439, do [0] arrays need to change to [1]?

Author: Trac Migrate

2022-08-16T16:46:06.000Z

Original author: rlong

Replying to Ryan Long:

Building for AArch64 <BSP> it looks like most of the warnings are for indexing past the end of an array. Most are from the validation tests, but a few aren’t. Hopefully they all have the same fix. I forgot to add the BSP when I submitted this. I’ve been building RTEMS for xilinx_zynqmp_lp64_qemu on AArch64.

Author: Trac Migrate

2022-08-31T11:13:02.000Z

Original author: rlong

In [changeset:”b1072f5ae2225b4ca45845c3a5d224507d87d2c8/rtems” b1072f5/rtems]:

validation: Ignore array bounds warnings

Update #4702.

Author: Trac Migrate

2022-09-05T06:47:06.000Z

Original author: rlong

In [changeset:”654b3ee0ce45239235e7e3afac72c3eca477f291/rtems-central” 654b3ee/rtems-central]:

spec: Ignore array bounds warnings

Update #4702.

Author: Trac Migrate

2022-09-05T06:48:23.000Z

Original author: rlong

In [changeset:”9e9ce43dcb48ecdb73d7ec1016725dd8a71141f8/rtems” 9e9ce43d/rtems]:

validation: Regenerate

Update #4702.

Author: Trac Migrate

2022-09-12T07:27:54.000Z

Original author: rlong

In [changeset:”4fdf79cca5d76d3985a79a89a38709141130a801/rtems” 4fdf79c/rtems]:

score: Prevent an out of bounds warning

Update #4702.

Author: Chris Johns

2022-11-29T22:53:27.000Z

Original author: rlong

Can this be closed?

Author: Joel Sherrill

2023-06-22T22:20:58.000Z

Original author: rlong

This will be closed before 6. If you wish to continue this before 7, clone.

Author: Amar Takhar

2024-05-17T00:44:01.085Z

Closing as per Joel 10 months ago.

Author: Amar Takhar

2024-05-17T00:44:01.512Z

changed the description

5007 - typo in CODEOWNERS

Id

5007

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Amar Takhar

Closed by

Amar Takhar

Created

2024-05-02T04:17:47.284Z

Closed

2024-05-17T00:38:49.038Z

Updated

2024-05-17T00:38:49.049Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5007

Merges

0

Summary

The group name for @approvers/arch/aarch64 is missing the 64 at the [Arch AArch64] section definition.

Steps to reproduce

Author: Gedare Bloom

2024-05-02T05:22:58.150Z

assigned to @amar

Author: Gedare Bloom

2024-05-02T05:22:01.118Z

assigned to @amar

Author: Gedare Bloom

2024-05-02T04:17:47.369Z

assigned to @amar

Author: Amar Takhar

2024-05-02T04:19:40.513Z

Please open this issue in @administration/gitlab All these tickets must go there if you want to create one here and link it to one there that’s fine but open the @administration/gitlab issue first thanks.

Author: Amar Takhar

2024-05-02T05:21:25.771Z

That’s cool when you mentioned the group it made all of the people in that group participants….that’s scary if you choose the approvers/general group

Author: Gedare Bloom

2024-05-02T05:21:25.705Z

oof, good to remember that.

Author: Gedare Bloom

2024-05-02T05:22:01.467Z

moved from rtems/rtos/rtems#5006

Author: Gedare Bloom

2024-05-02T05:22:44.648Z

ok that was not the right thing. I guess an Issue can’t be moved across the top-level groups. Moving it back…

Author: Gedare Bloom

2024-05-02T05:22:58.593Z

moved from rtems/gitlab-config#1

Author: Gedare Bloom

2024-05-02T05:25:50.320Z

mentioned in issue administration/gitlab#50

Author: Amar Takhar

2024-05-17T00:38:48.773Z

This issue was moved closing.

4844 - Score Unchecked boundaries

Id

4844

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Closed by

Chris Johns

Created

2023-02-09T14:52:06.000Z

Closed

2024-05-16T23:15:21.647Z

Updated

2024-05-16T23:15:37.575Z

Milestone

6.1

Labels

priority::normal, qualification, rtems::score, tickettype::defect, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4844

Merges

0

Original author: dppinto

Consider checking for overflow situations and taking necessary actions in the three files designated below.

Memory copy function accesses out-of-bound array element in file cpukitincludertemsscorecoremsgimpl.h (line 469)

Additional Information: The pointer to the structure that contains the buffer and the size is tested against NULL, but this finding refers to the fact that the argument size of is not validated against the maximum size of the destination and/or source buffer.

This function can be traced up to rtems_message_queue_send and rtems_message_queue_receive functions where the buffer, its size and maximum size for queue messages are provided by the user. In the RTEMS library at the moment of sending a message in the _CORE_message_queue_Submit function it is validated if the given size of the buffer is not above the user previously provided/configured maximum size, and returns an error if so. But it is up to the user to supply correct values. If the user tries to pass a buffer with 16 bytes, but indicates 32 bytes in the size there is no possible library validation that will detect an overflow situation. These cases must be detected by user code inspection/review.

Out of bound memory access (access exceeds upper limit of memory block) in file cpukit\\include\\rtems\\score\\mrspimpl.h (lines 120, 312, 315)

Additional Information: There is a Global variable const size_t _Scheduler_Count = _CONFIGURE_SCHEDULER_COUNT; corresponding to the value configured statically depending of RTEMS_ARRAY_SIZE( _Scheduler_Table ), which is the number of scheduler. Relevant source code for lines 312 and 315, which are OK:

scheduler_count = _Scheduler_Count;
for ( i = 0 ; i < scheduler_count ; ++i ) {
(...)
scheduler_of_index = &_Scheduler_Table[ i ];
(...)
mrsp->ceiling_priorities[ i ] =

Relevant source code for lines 120 and others, do not seem OK, because is not clear that the scheduler is always valid:

scheduler_index = _Scheduler_Get_index( scheduler ); // Note: translates to "return (uint32_t) (scheduler - &_Scheduler_Table[ 0 ]);"
return mrsp->ceiling_priorities[ scheduler_index ];

Returned pointer value points outside the original object (potential buffer overflow) for file cpukitscoresrcthreadqops.c (line 294)

Consider checking for overflow situations and acting accordingly.

Additional Information: The line 294 (the referred line is for version 3 of the QDP), from function _Thread_queue_Priority_queue_by_index:

return &heads->Priority[ scheduler_index ];

The priority field is declared as Thread_queue_Priority_queue Priority[ RTEMS_ZERO_LENGTH_ARRAY ]; which is a zero-length array…

Then in threads.h file a Struct is defined as

struct Thread_queue_Configured_heads {
Thread_queue_Heads Heads;
Thread_queue_Priority_queue Priority[ _CONFIGURE_SCHEDULER_COUNT ];
};

Which permits to access the zero-length array beyond the initial configuration of zero length (C99 permits it): C99 6.7.2.1, §16: As a special case, the last element of a structure with more than one named member may have an incomplete array type; this is called a flexible array member.

But still, scheduler_index value is obtained by calling several other functions which extract information from a thread object in order to obtain and use the scheduler_index value in the _Thread_queue_Priority_queue_by_index function. It is not clear that that value is below _CONFIGURE_SCHEDULER_COUNT value.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-CODE-VER-036.

Author: Trac Migrate

2023-02-10T07:16:22.000Z

Original author: dppinto

These should have been three tickets and not just one.

  1. The message send directives use the size as an output only parameter. If you change this to an input and output parameter, then you may break existing applications which do not set the size parameter to a proper value.

  2. The Semaphore Control Block size is defined by the application configuration:

#if CONFIGURE_MAXIMUM_SEMAPHORES > 0
SEMAPHORE_INFORMATION_DEFINE(
CONFIGURE_MAXIMUM_SEMAPHORES,
_CONFIGURE_SCHEDULER_COUNT
);
#endif
  1. There are lots of other values in the Thread Control Block which have to be correct. Why should we add a check here specifically? We could add an _Assert().

Author: Trac Migrate

2023-03-23T16:25:34.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2023-06-16T14:28:50.000Z

Original author: dppinto

1 >>> We agree that changing the function prototype for rtems_message_queue_send, rtems_message_queue_receive, _CORE_message_queue_Insert_message and other functions in-between could break existing applications and may not be acceptable to do so. So, one suggests dismissing this point of the ticket.

2 >>> This point can be dismissed as it is now confirmed that necessary protections are already in place on the API entry point for _MRSP_Get_priority and _MRSP_Get_priority, which is the rtems_semaphore_set_priority (one can refer to the protections implemented by this function within code and/or ICD).

3 >>> Yes, appending the _Assert( scheduler_index < _Scheduler_Count); just before the concerned line will solve it. Thanks

Author: Joel Sherrill

2023-06-22T21:11:21.000Z

Original author: dppinto

If there is an _Assert() implemented somewhere, please merge it and close if the rest of these are non-issues.

Author: Joel Sherrill

2023-06-22T22:31:03.000Z

Original author: dppinto

This will be closed before 6. Please clone for 7 if continued.

Author: Trac Migrate

2023-07-28T14:50:34.000Z

Original author: dppinto

In [changeset:”6293fc4fd52553bfccf91c64583ee811170187f7/rtems” 6293fc4f/rtems]:

score: Assert scheduler index validity

Update #4844.

Author: Trac Migrate

2023-07-28T14:51:27.000Z

Original author: dppinto

Daniel, please review the changes and close the ticket if everything is all right.

Author: Amar Takhar

2024-04-25T20:50:32.801Z

changed the description

Author: Chris Johns

2024-05-16T23:10:39.794Z

changed the description

Author: Chris Johns

2024-05-16T23:11:09.526Z

changed the description

Author: Chris Johns

2024-05-16T23:12:01.473Z

changed the description

Author: Chris Johns

2024-05-16T23:15:37.649Z

changed title from Unchecked boundaries to {+Score +}Unchecked boundaries

4952 - rtems-ld created wrong RAP file on arm

Id

4952

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

xiaojun zheng

Closed by

Chris Johns

Created

2023-09-11T02:47:17.000Z

Closed

2024-05-09T01:21:16.286Z

Updated

2024-05-09T01:22:50.159Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4952

Merges

1

Original author: jameszxj

I use the latest rtems-tools to generate RAP file, I found the object file become too small(elf,2184bytes==>rap,736bytes) and the file loaded failed, error message like this:

load app.out error:offset past end of file: offset=736 size=736 error.

I reverted the rtl-rap.cpp commit (rtems/tools/rtems-tools@0ad4aaafc20afcb5aacb7a82b0b3a8150b638975).

At Chris’s suggestion, I founded get_relocations(s) return all the count of relocation and write to rap file, but actual count is less, because ignore the reloc with section=0.

I tried to make the length fit the relocs write to rap file, the file can not be loaded, it crashed. So the relocs(reloc.symsect == 0) can not be ignored, at least on arm.

The command line I used to create RAP file is like this:

rtems-ld -n -e appmain -s -O rap --base rtems.elf app.elf -o app.out

Author: xiaojun zheng

2024-05-03T12:06:06.253Z

mentioned in merge request rtems/tools/rtems-tools!1

Author: Chris Johns

2024-05-06T05:16:24.159Z

changed the description

Author: Chris Johns

2024-05-06T05:17:15.675Z

Could you please attach the app source that causes the issue?

Author: xiaojun zheng

2024-05-09T01:13:09.973Z

Just a printf in app.

#include <stdio.h>
#include <stdlib.h>

int appmain()
{
printf("app start\\n");

return 0;
}

Author: Chris Johns

2024-05-09T01:13:09.945Z

Thanks. Do you have a script to build this code and then run the RTEMS linker?

Author: Amar Takhar

2024-05-09T01:11:23.405Z

assigned to @zhengxiaojun and unassigned @tracmigrate

Author: Chris Johns

2024-05-09T01:21:16.422Z

moved to rtems/tools/rtems-tools#1

Author: Chris Johns

2024-05-09T01:22:50.128Z

marked this issue as related to rtems/tools/rtems-tools#1

5003 - Make GCC ARM Cortex-A53 errata workarounds available

Id

5003

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Closed by

Kinsey Moore

Created

2024-03-25T06:17:43.000Z

Closed

2024-05-08T22:09:44.882Z

Updated

2024-05-08T22:09:44.963Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5003

Merges

1

Original author: sebastian.huber

The ARM Cortex-A53 processor has several chip errata. For two of them compiler workarounds are available. Make these errata workarounds available for RTEMS through a specialized A53 multilib:

-mcpu=cortex-a53 -mfix-cortex-a53-835769 -mfix-cortex-a53-843419

Author: Sebastian Huber

2024-05-08T09:24:42.150Z

mentioned in merge request !27

4961 - Document and test CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY

Id

4961

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Kinsey Moore

Closed by

Chris Johns

Created

2023-10-11T05:18:58.000Z

Closed

2024-05-02T23:16:27.041Z

Updated

2024-05-02T23:16:27.052Z

Milestone

6.1

Labels

filesystem::jffs2, priority::normal, qualification, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4961

Merges

0

Original author: sebastian.huber

The CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY application configuration option should be documented according to:

https://docs.rtems.org/branches/master/eng/req/howto.html#application-configuration-options

There should be a test program for this option.

Author: Trac Migrate

2023-12-19T07:01:26.000Z

Original author: sebastian.huber

In [changeset:”a901ca3989db8ba4f4f6d3ef224dccf12e22280f/rtems” a901ca3/rtems]:

doxygen: CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY

Document CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY.

Update #4961.

Author: Trac Migrate

2023-12-19T07:27:49.000Z

Original author: sebastian.huber

In [changeset:”ddf2b038382df028973a40c18cc030021a03b578/rtems-docs” ddf2b03/rtems-docs]:

c-user: CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY

Document CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY.

Update #4961.

Author: Trac Migrate

2023-12-19T07:28:57.000Z

Original author: sebastian.huber

In [changeset:”8bfd9ce8c87f16a97b50820690ec98bd88828aec/rtems-central” 8bfd9ce/rtems-central]:

spec: Add JFFS2 delayed write task priority

This adds the configuration option used to select the JFFS2 delayed
write task priority to be used when operating on NAND flash.

Updates #4961

Author: Kinsey Moore

2024-02-16T00:35:28.000Z

Original author: sebastian.huber

  • Owner set to @kinsey

  • Status changed from new to assigned

Author: Amar Takhar

2024-04-25T20:50:55.917Z

changed the description

Author: Kinsey Moore

2024-05-02T23:15:02.100Z

Documentation for this has been added to rtems-docs and rtems-central.

Author: Chris Johns

2024-05-02T23:16:26.682Z

This looks like it is done. Please reopen if there is more to do.

4910 - RSB options for python selection

Id

4910

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Closed by

Chris Johns

Created

2023-05-23T02:49:31.000Z

Closed

2024-05-02T22:59:33.936Z

Updated

2024-05-02T22:59:34.022Z

Milestone

6.1

Labels

priority::normal, tickettype::enhancement, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4910

Merges

0

A recent change to the version of GDB means we need python3 development libraries installed as GDB will only build with Python3.

To aid compatibility for older operating systems provide options to aid the selection of a suitable python. Add support for:

--with-python2 : command for Python2

--with-python3 : command for Python3

--with-python-version : command for a version of Python

For example:

--with-python-version=python3.6

Author: Chris Johns

2023-06-30T00:14:15.000Z

Joel, what do you think?

Author: Chris Johns

2024-05-02T22:59:33.572Z

We have to python3 because GDB needs it to build. There is no point in supporting python2.

Author: Chris Johns

2024-05-02T22:59:34.069Z

changed the description

4968 - Python 3.12 fix escape sequences and remove SafeConfigParser

Id

4968

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Closed by

Chris Johns

Created

2023-11-20T22:12:42.000Z

Closed

2024-05-02T22:57:59.891Z

Updated

2024-05-02T22:57:59.975Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4968

Merges

0

This breaks version.py in: * rtems-tools * rtems-docs * rtems_waf

Also update any escape sequences that are not correctly escaped or are a regx expressions (prefix with r).

Author: Trac Migrate

2023-11-21T20:47:51.000Z

In [changeset:”63396e2ed62be9b58c460ca6b10e434717c580b6/rtems-source-builder” 63396e2/rtems-source-builder]:

sb: Fix Python 3.12 safeConfigParser and invalid escape sequences

Updates #4968

Author: Trac Migrate

2023-11-21T21:29:36.000Z

In [changeset:”75ffa6781a88d0837b07979b5358ea7882aca488/rtems-tools” 75ffa67/rtems-tools]:

python: Updates for Python 3.12

- Change SafeConfigParser to ConfigParser

- Fix escape sequences in strings

Updates #4968

Author: Chris Johns

2023-11-22T02:52:25.000Z

  • Summary changed from Python 3.12 does not have SafeConfigParser to Python 3.12 fix escape sequences and remove SafeConfigParser

Author: Trac Migrate

2023-11-22T20:59:58.000Z

In [changeset:”72c11fa91ab99e23252000797fcfd0d4aa0de1cf/rtems” 72c11fa/rtems]:

waf: Fix Python 3.12 escape sequences

Updates #4968

Author: Chris Johns

2024-05-02T22:57:59.532Z

Fixed and merged

Author: Chris Johns

2024-05-02T22:58:00.021Z

changed the description

4993 - Increase FD_SETSIZE to 256

Id

4993

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Joel Sherrill

Closed by

Chris Johns

Created

2024-02-19T22:38:06.000Z

Closed

2024-05-02T22:57:19.470Z

Updated

2024-05-02T22:57:19.551Z

Milestone

6.1

Labels

priority::highest, tickettype::defect, tool::newlib, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4993

Merges

0

The default for FD_SETSIZE in newlib is 64. This is proving to be too small for EPICS applications. EPICS limits the number of descriptors here for RTEMS 6 builds. The comment in EPICS base is:

/* Note: The select() system call can only be used with the first FD_SETSIZE
*       File Descriptors (newlib default is 64).  Beginning RTEMS 5.1, FDs are
*       allocated sequentially.  So changing this CONFIGURE parameter such
*       that CONFIGURE_MAXIMUM_FILE_DESCRIPTORS >= FD_SETSIZE will likely
*       cause applications making select() calls to fault at some point.
*
*       IOC core components (libca and RSRV) do not make select() calls.
*
*       Applications and driver code using poll() or other socket
*       multiplexers do not share this limitation.
*
*       cf. https://github.com/epics-base/epics-base/issues/300
*/

Increasing FD_SETSIZE to 256 will increase the set but 64 is too small for RTEMS and we do not need 1024 that systems like FreeBSD have.

Author: Chris Johns

2024-02-19T22:38:17.000Z

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Chris Johns

2024-02-20T23:23:53.000Z

Newlib patch to increase the FD_SETSIZE from 64 to 256 bits per set

Author: Chris Johns

2024-02-20T23:24:12.000Z

  • Summary changed from Increase FD_SIZE to 256 to Increase FD_SETSIZE to 256

Author: Chris Johns

2024-02-20T23:24:35.000Z

  • Description changed

- The default for `FD_SIZE` in newlib is 64. This is proving to be too small for EPICS applications. EPICS limits the number of descriptors [here](https://github.com/epics-base/epics-base/blob/7.0/modules/libcom/RTEMS/posix/rtems_config.c#L63) for RTEMS 6 builds. The comment in EPICS base is:
+ The default for `FD_SETSIZE` in newlib is 64. This is proving to be too small for EPICS applications. EPICS limits the number of descriptors [here](https://github.com/epics-base/epics-base/blob/7.0/modules/libcom/RTEMS/posix/rtems_config.c#L63) for RTEMS 6 builds. The comment in EPICS base is:
?                      +++

{{{
/* Note: The select() system call can only be used with the first FD_SETSIZE
*       File Descriptors (newlib default is 64).  Beginning RTEMS 5.1, FDs are
*       allocated sequentially.  So changing this CONFIGURE parameter such
*       that CONFIGURE_MAXIMUM_FILE_DESCRIPTORS >= FD_SETSIZE will likely
*       cause applications making select() calls to fault at some point.
*
*       IOC core components (libca and RSRV) do not make select() calls.
*
*       Applications and driver code using poll() or other socket
*       multiplexers do not share this limitation.
*
*       cf. https://github.com/epics-base/epics-base/issues/300
*/
}}}
- Increasing `FD_SIZE` to 256 will increase the set but 64 is too small for RTEMS and we do not need 1024 that systems like FreeBSD have.
+ Increasing `FD_SETSIZE` to 256 will increase the set but 64 is too small for RTEMS and we do not need 1024 that systems like FreeBSD have.
?                 +++

Author: Chris Johns

2024-02-20T23:36:43.000Z

RSB patch to apply the newlib patch. Please use for testing.

Author: Chris Johns

2024-02-20T23:43:41.000Z

LibBSD select() call is https://git.rtems.org/rtems-libbsd/tree/freebsd/sys/kern/sys_generic.c?h=6-freebsd-12#n998 and it says:

/*
* The magic 2048 here is chosen to be just enough for FD_SETSIZE
* infds with the new FD_SETSIZE of 1024, and more than enough for
* FD_SETSIZE infds, outfds and exceptfds with the old FD_SETSIZE
* of 256.
*/

Author: Chris Johns

2024-02-28T22:56:01.000Z

  • Owner set to @joel

Author: Joel Sherrill

2024-02-28T23:03:31.000Z

Patch submitted to newlib. When I get acked to push it, I will let you know so you can bump the newlib hash to pick the change to 256 up.

Author: Chris Johns

2024-05-02T22:57:19.115Z

Merged and in the RSB

Author: Chris Johns

2024-05-02T22:57:19.605Z

changed the description

4991 - RSB source and patch checksum updates

Id

4991

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Closed by

Chris Johns

Created

2024-02-16T06:51:10.000Z

Closed

2024-05-02T22:54:06.069Z

Updated

2024-05-02T22:54:06.160Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4991

Merges

0

Downloaded files in the RSB are reporting checksum errors. This ticket is to cover the updates to correct this for the RTEMS 6 release.

Author: Trac Migrate

2024-02-18T23:44:09.000Z

In [changeset:”ee02d32288a2e871a271d8e6da9adb6e686a8c25/rtems-source-builder” ee02d32/rtems-source-builder]:

gcc: gcc-4.9-1.cfg Make-lang patch checksum error

Updates #4991

Author: Trac Migrate

2024-02-20T00:58:30.000Z

In [changeset:”07ba8d5f8f514b70ed6908c73d2dc5562f4723e1/rtems-source-builder” 07ba8d5/rtems-source-builder]:

rtems: Checksum fixes

Updates #4991

Author: Chris Johns

2024-05-02T22:54:05.719Z

Fixed and merged.

Author: Chris Johns

2024-05-02T22:54:06.200Z

changed the description

4718 - Coverity issues in cpukit/libfs/src/ftpfs/tftpDriver.c

Id

4718

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-09-16T16:47:28.000Z

Updated

2024-05-02T21:24:35.809Z

Milestone

6.1

Labels

filesystem, priority::lowest, resolution::fixed, scan::coverity, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4718

Merges

0

Original author: frank_k

Coverity indicates the following issues in cpukit/libfs/src/ftpfs/tftpDriver.c:

CID 1506523 (1 of 1):

Unchecked return value from library (CHECKED_RETURN) 11. check_return: Calling sendto(tp->socket, send_buf, plen, 0, (struct sockaddr *)&tp->farAddress, 16U) without checking return value. This library function may fail and return an error code.

727        sendto (
728            tp->socket,
729            send_buf,
730            plen,
731            0,
732            (struct sockaddr *) &tp->farAddress,
733            sizeof (tp->farAddress)
734        );

CID 1506522 (1 of 1): Unchecked return value from library (CHECKED_RETURN) 2. check_return: Calling sendto(tp->socket, (char *)&msg, len, 0, (struct sockaddr *)to, 16U) without checking return value. This library function may fail and return an error code.

529    sendto (tp->socket, (char *)&msg, len, 0, (struct sockaddr *)to, sizeof *to);

CID 1437618 (1 of 3): Unchecked return value from library (CHECKED_RETURN) 11. check_return: Calling setsockopt(tp->socket, 65535, 4102, &tv, 16U) without checking return value. This library function may fail and return an error code.

594        setsockopt (tp->socket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv);

CID 1437618 (2 of 3): Unchecked return value from library (CHECKED_RETURN) 3. check_return: Calling setsockopt(tp->socket, 65535, 4102, &tv, 16U) without checking return value. This library function may fail and return an error code.

555        setsockopt (tp->socket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv);

CID 1437618 (3 of 3): Unchecked return value from library (CHECKED_RETURN) 3. check_return: Calling setsockopt(tp->socket, 65535, 4102, &tv, 16U) without checking return value. This library function may fail and return an error code.

559        setsockopt (tp->socket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv);

Author: Trac Migrate

2022-12-02T15:18:54.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”997ba1d905d91d62f23fee1fe43c7faa2c44a44b/rtems” 997ba1d9/rtems]:

tftpDriver.c: Fix Coverity issues

CID 1506523: Unchecked return value from library (CHECKED_RETURN)
CID 1506522: Unchecked return value from library (CHECKED_RETURN)
CID 1437618: Unchecked return value from library (CHECKED_RETURN)

Close #4718

Author: Amar Takhar

2024-04-25T20:50:01.455Z

changed the description

Author: Joel Sherrill

2024-05-02T21:24:35.939Z

changed the description

5006 - typo in CODEOWNERS

Id

5006

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Amar Takhar

Closed by

Gedare Bloom

Created

2024-05-02T04:17:47.284Z

Closed

2024-05-02T05:22:01.387Z

Updated

2024-05-02T05:22:01.452Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5006

Merges

0

Summary

The group name for @approvers/arch/aarch64 is missing the 64 at the [Arch AArch64] section definition.

Steps to reproduce

Author: Gedare Bloom

2024-05-02T04:17:47.369Z

assigned to @amar

Author: Amar Takhar

2024-05-02T04:19:40.513Z

Please open this issue in @administration/gitlab All these tickets must go there if you want to create one here and link it to one there that’s fine but open the @administration/gitlab issue first thanks.

Author: Amar Takhar

2024-05-02T05:21:25.771Z

That’s cool when you mentioned the group it made all of the people in that group participants….that’s scary if you choose the approvers/general group

Author: Gedare Bloom

2024-05-02T05:21:25.705Z

oof, good to remember that.

Author: Amar Takhar

2024-05-02T05:22:42.993Z

I feel like half the things I learn while using it are this way.. and yes, on the GitLab project you can see 150+ participants on some issues or epics so it doesn’t care.

Author: Gedare Bloom

2024-05-02T05:22:01.505Z

moved to rtems/gitlab-config#1

5005 - Migrate commits from master to main after gitlab transition

Id

5005

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Gedare Bloom

Closed by

Gedare Bloom

Created

2024-04-29T15:47:34.269Z

Closed

2024-05-02T04:20:18.630Z

Updated

2024-05-02T04:20:18.642Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5005

Merges

1

Summary

The transition to gitlab did not catch all commits to master before adding new commits to main. Pick those up here.

Steps to reproduce

Author: Gedare Bloom

2024-04-29T15:47:34.344Z

assigned to @gedare

Author: Gedare Bloom

2024-04-29T15:47:42.176Z

created branch 5005-migrate-commits-from-master-to-main-after-gitlab-transition to address this issue

Author: Gedare Bloom

2024-04-29T15:48:24.754Z

mentioned in merge request !6

4955 - sparc: Potential stack corruption in uniprocessor configurations during start multitasking

Id

4955

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-09-20T06:54:57.000Z

Updated

2024-04-29T15:49:30.640Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4955

Merges

0

Original author: sebastian.huber

The system initialization uses the interrupt stack. A first level interrupt shall never interrupt a context which uses the interrupt stack. Such a use would lead to stack corruption and undefined system behaviour. Unfortunately, in uniprocessor configurations this is the case right now. Multiprocessing is started using _CPU_Context_restore(). The caller of this function (_Thread_Start_multitasking()) uses the interrupt stack. Later we have in cpukit/score/cpu/sparc/cpu_asm.S:

mov     %g1, %psr                     ! restore status register and
! **** ENABLE TRAPS ****

ld      [%o1 + G5_OFFSET], %g5        ! restore the global registers
ld      [%o1 + G7_OFFSET], %g7

! Load thread specific ISR dispatch prevention flag
ld      [%o1 + ISR_DISPATCH_DISABLE_STACK_OFFSET], %o2
! Store it to memory later to use the cycles

ldd     [%o1 + L0_OFFSET], %l0        ! restore the local registers
ldd     [%o1 + L2_OFFSET], %l2
ldd     [%o1 + L4_OFFSET], %l4
ldd     [%o1 + L6_OFFSET], %l6

! Now restore thread specific ISR dispatch prevention flag
st      %o2, [%g6 + PER_CPU_ISR_DISPATCH_DISABLE]

ldd     [%o1 + I0_OFFSET], %i0        ! restore the input registers
ldd     [%o1 + I2_OFFSET], %i2
ldd     [%o1 + I4_OFFSET], %i4
ldd     [%o1 + I6_FP_OFFSET], %i6

ldd     [%o1 + O6_SP_OFFSET], %o6     ! restore the output registers

Between the ENABLE TRAPS and the restore of the output registers, we still use the stack of the caller and interrupts may be enabled. If an interrupt happens in this code block, the interrupt stack is concurrently used which may lead to a crash.

Author: Trac Migrate

2023-09-26T05:50:21.000Z

Original author: sebastian.huber

In [changeset:”a986262380b0b651b232140470f40cf5c2c4d147/rtems” a9862623/rtems]:

validation: Check stack of interrupted context

Check the stack of the interrupted context during the multitasking
start.

Update #4955.

Author: Trac Migrate

2023-10-12T11:53:39.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”1c36971d9245fe0c212890d61cb43a8d7fa14e1c/rtems” 1c36971d/rtems]:

sparc: Fix stack corruption

Fix a potential stack corruption in uniprocessor configurations during
start multitasking.

The system initialization uses the interrupt stack.  A first level
interrupt shall never interrupt a context which uses the interrupt
stack.  Such a use would lead to stack corruption and undefined system
behaviour.  Unfortunately, in uniprocessor configurations this was the
case.  Multiprocessing is started using _CPU_Context_restore().  The
caller of this function (_Thread_Start_multitasking()) uses the
interrupt stack.  Later we have in cpukit/score/cpu/sparc/cpu_asm.S:

mov     %g1, %psr                     ! restore status register and
! **** ENABLE TRAPS ****

ld      [%o1 + G5_OFFSET], %g5        ! restore the global registers
ld      [%o1 + G7_OFFSET], %g7

! Load thread specific ISR dispatch prevention flag
ld      [%o1 + ISR_DISPATCH_DISABLE_STACK_OFFSET], %o2
! Store it to memory later to use the cycles

ldd     [%o1 + L0_OFFSET], %l0        ! restore the local registers
ldd     [%o1 + L2_OFFSET], %l2
ldd     [%o1 + L4_OFFSET], %l4
ldd     [%o1 + L6_OFFSET], %l6

! Now restore thread specific ISR dispatch prevention flag
st      %o2, [%g6 + PER_CPU_ISR_DISPATCH_DISABLE]

ldd     [%o1 + I0_OFFSET], %i0        ! restore the input registers
ldd     [%o1 + I2_OFFSET], %i2
ldd     [%o1 + I4_OFFSET], %i4
ldd     [%o1 + I6_FP_OFFSET], %i6

ldd     [%o1 + O6_SP_OFFSET], %o6     ! restore the output registers

Between the ENABLE TRAPS and the restore of the output registers, we
still use the stack of the caller and interrupts may be enabled.  If an
interrupt happens in this code block, the interrupt stack is
concurrently used which may lead to a crash.

Fix this by adding a new function _SPARC_Start_multiprocessing() for
uniprocessor configurations.  This function first sets the stack pointer
to use the stack of the heir thread.

Close #4955.

Author: Trac Migrate

2023-10-12T14:07:59.000Z

Original author: sebastian.huber

In [changeset:”43b74b142e928b7be8118a10e963c465ce1ff625/rtems” 43b74b14/rtems]:

validation: Support powerpc in test case

Update #4955.

Author: Amar Takhar

2024-04-25T20:50:55.476Z

changed the description

Author: Gedare Bloom

2024-04-29T15:49:30.455Z

mentioned in commit faed58f9065da271217e54c218d6be08ad9b71d7

4986 - Improve CONFIGURE_TICKS_PER_TIMESLICE configuration and documentation

Id

4986

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2024-01-31T07:13:03.000Z

Updated

2024-04-29T15:49:30.595Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::config, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4986

Merges

0

Original author: sebastian.huber

The documentation allows a value of zero for CONFIGURE_TICKS_PER_TIMESLICE. This should be changed to make zero an invalid value and it should be rejected by an #error configuration error.

Author: Trac Migrate

2024-03-21T07:07:18.000Z

Original author: sebastian.huber

In [changeset:”d62f299b3452329efc121bd546e1bc9cf2bf8af9/rtems” d62f299/rtems]:

Do not define CONFIGURE_TICKS_PER_TIMESLICE to 0

Unconditionally make a CONFIGURE_TICKS_PER_TIMESLICE value less than or equal
to zero an error.

Update #4986.

Author: Trac Migrate

2024-03-21T07:08:40.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”150c2e8b551e1cff3bcc914c02c6faea4cfbf395/rtems-docs” 150c2e8/rtems-docs]:

c-user: Clarify CONFIGURE_TICKS_PER_TIMESLICE

Close #4986.

Author: Trac Migrate

2024-03-21T10:56:07.000Z

Original author: sebastian.huber

In [changeset:”f5e42e5d9fae95e50f41a2ed71ee94e9908612c0/rtems-central” f5e42e5/rtems-central]:

spec: Fix CONFIGURE_TICKS_PER_TIMESLICE constraint

Update #4986.

Author: Gedare Bloom

2024-04-29T15:49:30.437Z

mentioned in commit ff3b11c1f67172f150c9891a96a43ad5281e0fe5

4971 - Report that nested validation test cases did run

Id

4971

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-11-22T13:50:41.000Z

Updated

2024-04-25T20:50:56.803Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4971

Merges

0

Original author: sebastian.huber

Some validation test cases use parameterized nested test cases. For example, the rtems_semaphore_obtain() test uses a parameterized test case to seize a mutex. The nested mutex seize test case uses a parameterized thread queue enqueue test case. Currently, there is no indication that these nested test cases did actually run. Some of these nested test cases run in a tight loop, so printing a hint on every run could lead to a massive amount of test output.

Add test case remarks to the RTEMS Test Framework which may be used to give such an indication.

Author: Trac Migrate

2023-11-28T13:03:37.000Z

Original author: sebastian.huber

In [changeset:”d586b3c01484640b7b0243b172672f47fd8c0c74/rtems” d586b3c/rtems]:

libtest: Add T_add_remark()

This can be used to report that nested test cases did run in a test
case.

Update #4971.

Author: Trac Migrate

2023-11-28T13:03:40.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”528f0e1947876ef584681860c4c8b0615c548baf/rtems” 528f0e1/rtems]:

validation: Add nested test case remarks

Close #4971.

Author: Amar Takhar

2024-04-25T20:50:56.843Z

changed the description

4954 - sparc: Simplify the clock driver and CPU counter support

Id

4954

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-09-15T08:39:53.000Z

Updated

2024-04-25T20:50:54.966Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4954

Merges

0

Original author: sebastian.huber

Unfortunately, most SPARC SoCs supported by RTEMS lack a proper free-running counter. The only exception are the GR712RC and the GR740. For the pre-qualified GR712RC BSP, the current implementation is too complicated. Make the fall back to a free-running GPTIMER mandatory for the leon3 BSP family to simplify things. For the GR712RC use the DSU time tag counter.

Author: Trac Migrate

2023-09-15T16:02:59.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- Unfortunately, most SPARC SoCs supported by RTEMS lack a proper free-running counter. The only exception is the GR740. For the pre-qualified GR712RC BSP, the current implementation is too complicated. Make the fall back to a free-running GPTIMER mandatory for the leon3 BSP family to simplify things.
?                                                                                                          ^^^^^^

+ Unfortunately, most SPARC SoCs supported by RTEMS lack a proper free-running counter. The only exception are the GR712RC and the GR740. For the pre-qualified GR712RC BSP, the current implementation is too complicated. Make the fall back to a free-running GPTIMER mandatory for the leon3 BSP family to simplify things. For the GR712RC use the DSU time tag counter.
?                                                                                                          ^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                                                                             ++++++++++++++++++++++++++++++++++++++++++++++

Author: Trac Migrate

2023-10-20T08:56:45.000Z

Original author: sebastian.huber

In [changeset:”8fe0fc47213a7f217294c94634ca90a37f0a4535/rtems” 8fe0fc4/rtems]:

bsps/leon3: Optional IRQ(A)MP timestamp support

This is necessary to run the tests on SIS with profiling enabled.

Update #4954.

Author: Trac Migrate

2023-10-20T08:56:47.000Z

Original author: sebastian.huber

In [changeset:”b6dc4b47077803cde93648016d15ce3992573d03/rtems” b6dc4b4/rtems]:

sparc: Move CPU counter implementation

Enable a BSP-specific CPU counter implementation.

Update #4954.

Author: Trac Migrate

2023-10-20T08:56:49.000Z

Original author: sebastian.huber

In [changeset:”3f03a6d2ef787d8b0a6ebf4549eb992c0aced513/rtems” 3f03a6d/rtems]:

bsps/leon3: Make GPTIMER fall back mandatory

Using the auto reload counter which generates the clock ticks for the
timecounter or CPU counter is quite difficult and only works in
uniprocessor configurations.

Update #4954.

Author: Trac Migrate

2023-10-20T08:56:51.000Z

Original author: sebastian.huber

In [changeset:”ff533cec9dc4f5c10972f0f6d8a2f90064765462/rtems” ff533cec/rtems]:

bsps/leon3: Simplify clock and CPU counter

Share the timecounter instance between the clock and the CPU counter.
This greatly simplifies the clock driver since we have to do the device
selection only in one place, the CPU counter support.

Update #4954.

Author: Trac Migrate

2023-10-20T08:56:53.000Z

Original author: sebastian.huber

In [changeset:”abb2f8bd6635457fcac4ddbd0cb284b623b5c602/rtems” abb2f8b/rtems]:

bsps/leon3: Use custom CPU counter implementation

Merge the timecounter and CPU counter support for the leon3 BSP family.
Remove now unused functions from the CPU counter support of the erc32
and leon3 BSPs.

Update #4954.

Author: Trac Migrate

2023-10-20T08:56:55.000Z

Original author: sebastian.huber

In [changeset:”8266a8a33539dec10ec258a5196fd4d331f8bb16/rtems” 8266a8a3/rtems]:

bsps/leon3: Move code blocks

Move code blocks to simplify C preprocessor usage.

Update #4954.

Author: Trac Migrate

2023-10-20T08:56:57.000Z

Original author: sebastian.huber

In [changeset:”ffa29bac30cd5009cd94f39de6a52619b412a48f/rtems” ffa29bac/rtems]:

bsps/leon3: Statically initialize get timecount

Update #4954.

Author: Trac Migrate

2023-10-20T08:56:59.000Z

Original author: sebastian.huber

In [changeset:”601b84c7583e3e80e1deeeee1ec27fb1c7319712/rtems” 601b84c7/rtems]:

bsps/leon3: leon3_counter_use_irqamp_timestamp()

Simplify leon3_counter_use_irqamp_timestamp().

Update #4954.

Author: Trac Migrate

2023-10-20T08:57:01.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”958d517215025851fd728abdc1f246c9ad808dab/rtems” 958d517/rtems]:

bsps/leon3: Use DSU time tag for GR712RC

Close #4954.

Author: Trac Migrate

2023-10-20T12:50:44.000Z

Original author: sebastian.huber

In [changeset:”36b935f1c383bee71bbb620260e834d3004d4719/rtems” 36b935f1/rtems]:

sparc: Fix move of CPU counter implementation

This fixes a build error with RTEMS_PROFILING enabled.

Update #4954.

Author: Amar Takhar

2024-04-25T20:50:55.006Z

changed the description

4953 - Use of symbol addresses for arbitrary values may not work for some code models

Id

4953

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-09-12T13:48:38.000Z

Updated

2024-04-25T20:50:54.507Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4953

Merges

0

Original author: sebastian.huber

The _ISR_Stack_size is defined by the application configuration like this:

/**
* @ingroup RTEMSAPIBaseDefs
*
* @brief Defines a global symbol with the name and value.
*
* @param _name is the user defined name of the symbol.  The name shall be a
*   valid designator.  On the name a macro expansion is performed and
*   afterwards it is stringified.
*
* @param _value is the value of the symbol.  On the value a macro expansion is
*   performed and afterwards it is stringified.  It shall expand to an integer
*   expression understood by the assembler.
*
* This macro shall be placed at file scope.
*/
#if defined(__USER_LABEL_PREFIX__)
#define RTEMS_DEFINE_GLOBAL_SYMBOL( _name, _value ) \\
__asm__( \\
"\\t.globl " RTEMS_XSTRING( RTEMS_SYMBOL_NAME( _name ) ) \\
"\\n\\t.set " RTEMS_XSTRING( RTEMS_SYMBOL_NAME( _name ) ) \\
", " RTEMS_STRING( _value ) "\\n" \\
)
#else
#define RTEMS_DEFINE_GLOBAL_SYMBOL( _name, _value )
#endif

RTEMS_DEFINE_GLOBAL_SYMBOL(
_ISR_Stack_size,
CONFIGURE_INTERRUPT_STACK_SIZE
);

Firstly, the RTEMS_DEFINE_GLOBAL_SYMBOL() is broken. It should depend on __GNUC__ and not __USER_LABEL_PREFIX__.

Secondly, setting a symbol to an arbitrary absolute address may not work with all code models, see:

https://sourceware.org/pipermail/binutils/2023-September/129448.html

The _ISR_Stack_size should be changed to point to the end of the ISR stack of processor 0:

RTEMS_DEFINE_GLOBAL_SYMBOL(
_ISR_Stack_0_end,
RTEMS_SYMBOL_NAME( _ISR_Stack_area_begin )
+ CONFIGURE_INTERRUPT_STACK_SIZE
);

The tests for RTEMS_DEFINE_GLOBAL_SYMBOL() should be changed to use values relative to another symbol.

Author: Trac Migrate

2023-09-13T05:28:52.000Z

Original author: sebastian.huber

In [changeset:”0add2d2edcbcc9cd3d5aa24fb900fbe295fc1ef5/rtems” 0add2d2/rtems]:

score: Fix RTEMS_DEFINE_GLOBAL_SYMBOL()

The availability of a proper RTEMS_DEFINE_GLOBAL_SYMBOL() implementation
depends on __asm__() and thus __GNUC__.

Clarify documentation.

Update #4953.

Author: Trac Migrate

2023-09-13T05:28:54.000Z

Original author: sebastian.huber

In [changeset:”d7a6e803984e5508c30aa9e3625c76460beb807b/rtems” d7a6e80/rtems]:

tests: Improve RTEMS_DEFINE_GLOBAL_SYMBOL() tests

Use a symbol value relative to an existing symbol address to make the
test work on more code models.

Update #4953.

Author: Trac Migrate

2023-09-13T05:44:16.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Since the start files are written in assembly, they can use the right instructions to load an arbitrary absolute address. A review of the uses of _ISR_Stack_size showed that there is actually no issue right now. Adjusting the tests for RTEMS_DEFINE_GLOBAL_SYMBOL() should be enough.

Author: Trac Migrate

2023-09-13T08:52:29.000Z

Original author: sebastian.huber

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

The spconfig01 test fails on aarch64 with:

testsuites/sptests/spconfig01/init.c: 89 rtems_configuration_get_interrupt_stack_size() == CPU_STACK_MINIMUM_SIZE

The rtems_configuration_get_interrupt_stack_size() needs to be fixed.

Author: Trac Migrate

2023-09-13T08:57:43.000Z

Original author: sebastian.huber

  • Summary changed from Definition of _ISR_Stack_size may not work for some code models to Use of symbol addresses for arbitrary values may not work for some code models

The use of _TLS_BSS_size and _TLS_Data_begin may also not work on some code models. I really wonder why the TLS related tests pass on aarch64.

Author: Trac Migrate

2023-09-13T09:02:33.000Z

Original author: sebastian.huber

There are also issues with _TLS_Size and _TLS_Alignment.

Author: Trac Migrate

2023-09-14T12:01:15.000Z

Original author: sebastian.huber

In [changeset:”5f8415b92e2787e5f11fd0808af341b40ae2d17c/rtems” 5f8415b/rtems]:

validation: Add RTEMS_DEFINE_GLOBAL_SYMBOL() test

Update #4953.

Author: Trac Migrate

2023-09-18T05:24:10.000Z

Original author: sebastian.huber

In [changeset:”206bbeb31b72f4c9ce066e878f94a6914de5dd9e/rtems” 206bbeb/rtems]:

score: Fix TLS support for some code models

Store symbols with an arbitrary absolute address such as _TLS_Size,
_TLS_Alignment, _TLS_Data_size, and _TLS_BSS_size in an object to avoid issues
with some code models.

Update #4953.

Author: Trac Migrate

2023-09-18T05:24:12.000Z

Original author: sebastian.huber

In [changeset:”2111497c0f9ad5dda154ef533ab2c842435a8e09/rtems” 2111497/rtems]:

rtems: rtems_configuration_get_interrupt_stack_size()

Fix rtems_configuration_get_interrupt_stack_size() for some code models.

The _ISR_Stack_size symbol has an arbitrary absolute address and may not
be representable in the code model used by the compiler.

Update #4953.

Author: Trac Migrate

2023-11-24T07:15:12.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

Author: Amar Takhar

2024-04-25T20:50:54.558Z

changed the description

4915 - Building sphinx 7.0.1 fails

Id

4915

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-06-07T10:27:01.000Z

Updated

2024-04-25T20:50:46.164Z

Milestone

6.1

Labels

doc::sphinx, priority::high, priority::normal, qualification, resolution::fixed, resolution::wontfix, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4915

Merges

0

Original author: abutterfield

I am trying to install sphinx on an Apple Silicon OSX machine. I’ve already done this successfully in the past on a similar machine.

This time, after following steps in the rtems-docs README.txt, I do ./waf , it does some stuff and then:

[ 7/10] Compiling common/_static/favicon.ico
[ 8/10] Compiling common/_static/my-styles.css
[ 9/10] Compiling common/_static/logo.png
[10/10] Compiling common/_static/style.css

Theme error:
An error happened in rendering the page bld/index.
Reason: UndefinedError("'style' is undefined")

I’m using pip 22.2.1, Python 3.10.6 and pip3 installs sphinx 7.0.1

(sphinx) ab-rtems-docs% pip3 install sphinx
Requirement already satisfied: sphinx in ./sphinx/lib/python3.10/site-packages (7.0.1)

Author: Trac Migrate

2023-06-14T05:25:08.000Z

Original author: abutterfield

  • Owner set to Utkarsh Verma <utkarsh@bitbanged.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”4c87f9b594217786cabc84ba4d734383234e6d14/rtems-docs” 4c87f9b/rtems-docs]:

eng: Fix builds for newer Sphinx versions (>=7)

The current Sphinx theme depends on the `style` parameter which got
deprecated in v5.1 and finally got removed in v7. Now, the `styles` key
should be preferred which is a list of stylesheets. This commit
implements this change.

Closes #4915

Author: Trac Migrate

2023-07-26T18:38:09.000Z

Original author: abutterfield

In [changeset:”13237ab34b8430760a930d456cc18ddf8e7ed55c/rtems-docs” 13237ab/rtems-docs]:

layout.html: Revert patch forcing Spinx to >= 6.0

Unfortunately, updating past Sphinx 5.x results in unordered bullet
lists not formatting correctly as show in a screen capture attached
to #4928. Revert this patch until the issue is resolved and output
is reviewed for other potential issues.

From: Utkarsh Verma <utkarsh@bitbanged.com>
Date: Wed, 14 Jun 2023 05:36:26 +0000
Subject: [PATCH] eng: Fix builds for newer Sphinx versions (>=7)

The current Sphinx theme depends on the `style` parameter which got
deprecated in v5.1 and finally got removed in v7. Now, the `styles` key
should be preferred which is a list of stylesheets. This commit
implements this change.

Updates #4915.
Updates #4928.

Author: Joel Sherrill

2023-07-26T18:59:53.000Z

Original author: abutterfield

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

My patch set was a work-around to not use >= 6. This needs a permanent fix.

Author: Trac Migrate

2023-08-01T07:20:53.000Z

Original author: abutterfield

  • Milestone changed from %”Indefinite” to %”6.1”

  • Priority changed from ~”high” to ~”normal”

  • Resolution set to ~”wontfix”

  • Status changed from reopened to closed

Author: Trac Migrate

2023-11-21T13:35:58.000Z

Original author: abutterfield

In [changeset:”027ed522a4088020a998d309a70a631253808e88/rtems-central” 027ed52/rtems-central]:

requirements.txt: Set maximum Sphinx version

Update #4915.
Update #4928.

Author: Amar Takhar

2024-04-25T20:50:46.208Z

changed the description

Author: Amar Takhar

2024-04-25T20:50:50.665Z

mentioned in issue #4936

4909 - Multiple Protected Heap Functions are Ununused

Id

4909

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2023-05-21T11:54:39.000Z

Updated

2024-04-25T20:50:45.699Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4909

Merges

0

The following functions are unused and should be removed:

  • _Protected_heap_Get_block_size

  • _Protected_heap_Iterate

  • _Protected_heap_Resize_block

Author: Joel Sherrill

2023-05-21T11:54:45.000Z

  • Owner set to @joel

  • Status changed from new to assigned

Author: Trac Migrate

2023-05-26T14:52:35.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”63415655e342dbcb9da76aae312ab135901bd2e1/rtems” 63415655/rtems]:

score/src/pheap*: Remove unreferenced methods

* _Protected_heap_Get_block_size
* _Protected_heap_Iterate
* _Protected_heap_Resize_block

Closes #4909.

Author: Amar Takhar

2024-04-25T20:50:45.742Z

changed the description

4900 - PowerPC score warnings in score headers

Id

4900

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-04-23T22:48:53.000Z

Updated

2024-04-25T20:50:45.245Z

Milestone

6.1

Labels

priority::highest, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4900

Merges

0

Building a few of the PowerPC BSPs with RTEMS_DEBUG = True generates these warnings:

[ 319/1483] Compiling cpukit/score/cpu/powerpc/cpu.c
In file included from ../../../cpukit/score/cpu/powerpc/include/rtems/score/cpu.h:59,
from ../../../cpukit/score/cpu/powerpc/include/rtems/score/cpuimpl.h:42,
from ../../../cpukit/score/cpu/powerpc/cpu.c:43:
../../../cpukit/score/cpu/powerpc/cpu.c: In function '_CPU_Fatal_halt':
../../../cpukit/include/rtems/score/basedefs.h:436:33: warning: implicit declaration of function '_Assert' [-Wimplicit-function-declaration]
436 |   #define _Assert_Unreachable() _Assert( 0 )
|                                 ^~~~~~~
../../../cpukit/include/rtems/score/basedefs.h:865:7: note: in expansion of macro '_Assert_Unreachable'
865 |       _Assert_Unreachable(); \\
|       ^~~~~~~~~~~~~~~~~~~
../../../cpukit/score/cpu/powerpc/cpu.c:361:3: note: in expansion of macro 'RTEMS_UNREACHABLE'
361 |   RTEMS_UNREACHABLE();
|   ^~~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/score/basedefs.h:436:33: warning: nested extern declaration of '_Assert' [-Wnested-externs]
436 |   #define _Assert_Unreachable() _Assert( 0 )
|                                 ^~~~~~~
../../../cpukit/include/rtems/score/basedefs.h:865:7: note: in expansion of macro '_Assert_Unreachable'
865 |       _Assert_Unreachable(); \\
|       ^~~~~~~~~~~~~~~~~~~
../../../cpukit/score/cpu/powerpc/cpu.c:361:3: note: in expansion of macro 'RTEMS_UNREACHABLE'
361 |   RTEMS_UNREACHABLE();
|   ^~~~~~~~~~~~~~~~~

The score headers basedefs.h header depends on assert.h and assert.h includes basedefs.h at it’s top.

I think this ticket should be set to blocker for the 6.1 release. We should resolve this and the warnings before we make a release.

Author: Trac Migrate

2023-04-24T08:15:52.000Z

Yes, there is a cyclic dependency. For RTEMS_STATIC_ANALYSIS we need basedefs.h. For RTEMS_UNREACHABLE() we need _Assert().

I am not sure if the RTEMS_STATIC_ANALYSIS was really a good idea. It is currently just used in assert.h. Maybe we should remove it.

Author: Chris Johns

2023-04-24T08:27:17.000Z

You are the best judge of this. Breaking the dependency would be good to see done.

Author: Trac Migrate

2023-04-25T06:02:19.000Z

In [changeset:”9eb5dd34018a42767942d8d525540b5c08d27e3a/rtems-central” 9eb5dd3/rtems-central]:

spec: Avoid cyclic header file dependencies

There was a cyclic dependency: For RTEMS_STATIC_ANALYSIS we needed
basedefs.h in assert.h. For RTEMS_UNREACHABLE() we needed _Assert() from
assert.h in basedefs.h.

Fix this by introducing _Debug_Unreachable() in basedefs.h.

Add RTEMS_FUNCTION_NAME to basedefs.h and use it in basedefs.h and
assert.h.

Update #4900.

Author: Trac Migrate

2023-04-25T06:06:50.000Z

In [changeset:”863b26ee3a5ab938c2003bcdbc5b82957f917997/rtems” 863b26ee/rtems]:

score: Avoid cyclic header file dependencies

There was a cyclic dependency: For RTEMS_STATIC_ANALYSIS we needed
basedefs.h in assert.h. For RTEMS_UNREACHABLE() we needed _Assert() from
assert.h in basedefs.h.

Fix this by introducing _Debug_Unreachable() in basedefs.h.

Add RTEMS_FUNCTION_NAME to basedefs.h and use it in basedefs.h and
assert.h.

Close #4900.

Author: Amar Takhar

2024-04-25T20:50:45.294Z

changed the description

4874 - Undefined behaviour

Id

4874

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-03-09T12:37:19.000Z

Updated

2024-04-25T20:50:39.682Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::wontfix, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4874

Merges

0

Original author: dppinto

If one searches within SRSs or ICDs for ‘undefined behaviour’ one will find specifications/functions on which descriptions mention conditions that will lead to ‘undefined behaviour’, e.g.:

spec:/rtems/clock/if/get-boot-time

boot_time is the pointer to a struct timespec object. The time elapsed since the Unix epoch at some time point during system initialization call will be stored in this object. Calling the directive with a pointer equal to NULL is undefined behaviour.”.

One created specific tests to further access the eventual impacts, for instance in the clock-related functions below:

spec:/rtems/clock/if/get-boot-time

spec:/rtems/clock/if/get-boot-time-bintime

spec:/rtems/clock/if/get-boot-time-timeval

spec:/rtems/clock/if/get-monotonic

spec:/rtems/clock/if/get-monotonic-bintime

spec:/rtems/clock/if/get-monotonic-coarse

spec:/rtems/clock/if/get-monotonic-coarse-bintime

spec:/rtems/clock/if/get-monotonic-coarse-timeval

spec:/rtems/clock/if/get-monotonic-timeval

spec:/rtems/clock/if/get-realtime

spec:/rtems/clock/if/get-realtime-bintime

spec:/rtems/clock/if/get-realtime-coarse

spec:/rtems/clock/if/get-realtime-coarse-bintime

spec:/rtems/clock/if/get-realtime-coarse-timeval

spec:/rtems/clock/if/get-realtime-timeval

The outcome was:

There is no internal check for a NULL pointer in these functions, so when called with a null pointer argument there is unwanted behaviour for both the GR712rc and GR740; an attempt to access memory location 0.

For the GR712rc board this memory position is not mapped and causes a trap to be raised (this trap handler leads to unpredictable results, the workflow of the program is not recoverable). For the GR740 board the actual memory position is either read or written (the previous value being overridden with unpredictable results).

So, even if somehow this shall also be a user responsibility, shouldn’t one adopt a safe approach to this and add input checking for these functions?

Additional Notes:

This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-REQ-VER-008 and RTEMS-SMP-VAL-005.

Author: Trac Migrate

2023-03-09T12:54:46.000Z

Original author: dppinto

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

This was discussed on the RTEMS mailing list some time ago:

https://lists.rtems.org/pipermail/devel/2021-November/069991.html

Quite frankly, someone passing a NULL pointer to functions like void rtems_clock_get_monotonic_bintime(struct bintime *time_point) will also use the NULL pointer later. The next release of the pre-qualified RTEMS will probably contain the clock_get() function which performs these NULL pointer checks.

Author: Trac Migrate

2023-03-09T12:55:23.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Version set to ~”6”

Author: Amar Takhar

2024-04-25T20:50:39.748Z

changed the description

4863 - Operations evaluation order.

Id

4863

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-23T12:37:47.000Z

Updated

2024-04-25T20:50:38.313Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4863

Merges

0

Original author: dppinto

Within cpukitincludertemsscoreobjectimpl.h line 545 one has: if ( !the_api || the_api > OBJECTS_APIS_LAST )

This shall be equivalent to “if ( (!the_api) || (the_api > OBJECTS_APIS_LAST ))”, but at first glance, this is not always obvious to everyone and one might need to read further documentation to be fully sure of it.

We would suggest the parenthesis be added so that the code logic is straightforward. In this case, one would not call it an ‘excess’ as stated within the RTEMS SW Eng. Manual (“Avoid excess parentheses. Learn the operator precedence. rules.”).

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-CODE-VER-076.

Author: Trac Migrate

2023-02-23T14:30:55.000Z

Original author: dppinto

The operators were interpreted as new lines. This is the correct description (with a white space between the operators):

Within cpukitincludertemsscoreobjectimpl.h line 545 one has:

if ( !the_api | | the_api > OBJECTS_APIS_LAST ) This shall be equivalent to “if ( (!the_api) | | (the_api > OBJECTS_APIS_LAST ))”, but at first glance, this is not always obvious to everyone and one might need to read further documentation to be fully sure of it.

Author: Joel Sherrill

2023-02-23T15:17:54.000Z

Original author: dppinto

The code would be better written avoiding the use of compound expressions which will ease the testing when moving to higher design assurance levels which require MCDC style analysis. I would recommend trying to rewrite code to avoid compound expressions. This effectively can reduce testing to simpler decision/branch coverage. Here’s my recommendation which also adds the braces which I am surprised didn’t get flagged:

if ( !the_api ) {
return false;
}

if ( the_api > OBJECTS_APIS_LAST )
return false;
}

return true;
}

FWIW I don’t think the code as written was hard to read or confusing. I wouldn’t have changed based solely on that report. The rules of evaluation in C are clear enough that anyone confused by this shouldn’t be touching this code anyway.

Author: Trac Migrate

2023-03-23T15:22:20.000Z

Original author: dppinto

  • Milestone set to %”6.1”

Author: Trac Migrate

2023-04-26T08:22:47.000Z

Original author: dppinto

In [changeset:”6979b03b0c9c72c786f06f3f3bb7680668d60983/rtems” 6979b03/rtems]:

score: Simplify _Objects_Is_api_valid()

Close #4863.

Author: Amar Takhar

2024-04-25T20:50:38.357Z

changed the description

4862 - score/ & bsps/: Unused input parameters

Id

4862

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-23T12:36:23.000Z

Updated

2024-04-25T20:50:37.831Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4862

Merges

0

Original author: dppinto

The following functions list input parameters on their signature that seem not to be used:

File

Function

Line

Resolution

bsps\shared\cache\cacheimpl.h

smp_cache_inst_inv_all

293

Unused due to API constraints

bsps\shared\dev\clock\clockimpl.h

void Clock_isr

130

Fixed: parameter can be used

bsps\shared\dev\clock\clockimpl.h

rtems_isr Clock_isr

134

Fixed: parameter can be used

bsps\shared\irq\irq-generic.c

bsp_interrupt_allocate_handler_index

62

Fixed: parameter removed

bsps\sparc\leon3\start\bspclean.c

bsp_fatal_extension

70

API backward compatibility

cpukit\score\src\threadchangepriority.c

static void _Thread_Priority_action_change( );

92

Unused due to API constraints

cpukit\score\src\threadq.c

_Thread_queue_MP_callout_do_nothing

157

Unused due to API constraints

cpukit\score\src\threadqenqueue.c

_Thread_queue_Deadlock_fatal

382

Unused due to API constraints

cpukit\score\src\threadqops.c

_Thread_queue_FIFO_do_initialize

137

Unused due to API constraints

cpukit\score\src\threadqtimeout.c

_Thread_queue_Add_timeout_ticks

28

Unused due to API constraints

cpukit\score\src\threadrestart.c

_Thread_Join_flush_filter

84

Unused due to API constraints

cpukit\score\src\userextiterate.c

_User_extensions_Thread_begin_visitor

102

Unused due to API constraints

Could one please double-check if in each case the unused parameters can be safely removed from the function’s signature? PS: The first functions are also implemented within .h files and perhaps could be moved to .c files.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-CODE-VER-028.

Author: Trac Migrate

2023-03-23T16:25:03.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2023-04-05T12:00:12.000Z

Original author: dppinto

In [changeset:”32fe5724a8d2c943f7354013e2e3556129fc2b51/rtems” 32fe5724/rtems]:

bsps: Mark argument as unused

Update #4862.

Author: Joel Sherrill

2023-06-22T21:28:32.000Z

Original author: dppinto

Could the actual parameter that isn’t referenced be provided? This looks easy to resolve if there were complete information.

Author: Joel Sherrill

2023-06-22T21:29:22.000Z

Original author: dppinto

  • Summary changed from Unused input parameters to score/ & bsps/: Unused input parameters

Author: Trac Migrate

2023-06-23T14:14:00.000Z

Original author: dppinto

Most of the functions listed on the initial ticket description only have a single parameter.

Regarding the others, the information is included hereafter:

Author: Trac Migrate

2023-07-18T19:55:24.000Z

Original author: dppinto

There are two obvious reasons, why some of these functions have unused parameters:

  1. When functions are used through function pointers, then they may have unused parameters since other functions may need the parameter. Only if the parameter is unused in all functions associated with a function pointer, the parameter is really superfluous.

  2. API backwards compatibility.

Could you please remove these false positives from the list.

Author: Trac Migrate

2023-07-28T14:55:19.000Z

Original author: dppinto

In [changeset:”a41611ab4a092dc1a103cc5ea78336333a601be6/rtems” a41611a/rtems]:

bsps/irq: Remove unused parameter

Update #4862.

Author: Trac Migrate

2024-03-20T15:25:54.000Z

Original author: dppinto

Original author: sebastian.huber

  • Description changed

The following functions list input parameters on their signature that seem not to be used:

- ||=**File** =||= **Function** =||= **Line** =||
+ ||=**File** =||= **Function** =||= **Line** =||= **Resolution** ||
?                                                +++++++++++++++++++

- ||bsps\\shared\\cache\\cacheimpl.h||smp_cache_inst_inv_all    ||293||
+ ||bsps\\shared\\cache\\cacheimpl.h||smp_cache_inst_inv_all    ||293||Unused due to API constraints||
?                                                                      +++++++++++++++++++++++++++++++

- ||bsps\\shared\\dev\\clock\\clockimpl.h||void Clock_isr||130||
+ ||bsps\\shared\\dev\\clock\\clockimpl.h||void Clock_isr||130||Fixed: parameter can be used||
?                                                           ++++++++++++++++++++++++++++++

- ||bsps\\shared\\dev\\clock\\clockimpl.h||rtems_isr Clock_isr||134||
+ ||bsps\\shared\\dev\\clock\\clockimpl.h||rtems_isr Clock_isr||134||Fixed: parameter can be used||
?                                                                ++++++++++++++++++++++++++++++

- ||bsps\\shared\\irq\\irq-generic.c||bsp_interrupt_allocate_handler_index||62||
+ ||bsps\\shared\\irq\\irq-generic.c||bsp_interrupt_allocate_handler_index||62||Fixed: parameter removed||
?                                                                            ++++++++++++++++++++++++++

- ||bsps\\sparc\\leon3\\start\\bspclean.c||bsp_fatal_extension||70||
+ ||bsps\\sparc\\leon3\\start\\bspclean.c||bsp_fatal_extension||70||API backward compatibility||
?                                                               ++++++++++++++++++++++++++++

- ||cpukit\\score\\src\\threadchangepriority.c||static void _Thread_Priority_action_change( ); ||92||
+ ||cpukit\\score\\src\\threadchangepriority.c||static void _Thread_Priority_action_change( ); ||92||Unused due to API constraints||
?                                                                                                 +++++++++++++++++++++++++++++++

- ||cpukit\\score\\src\\threadq.c||_Thread_queue_MP_callout_do_nothing||157||
+ ||cpukit\\score\\src\\threadq.c||_Thread_queue_MP_callout_do_nothing||157||Unused due to API constraints||
?                                                                         +++++++++++++++++++++++++++++++

- ||cpukit\\score\\src\\threadqenqueue.c||_Thread_queue_Deadlock_fatal||382||
+ ||cpukit\\score\\src\\threadqenqueue.c||_Thread_queue_Deadlock_fatal||382||Unused due to API constraints||
?                                                                         +++++++++++++++++++++++++++++++

- ||cpukit\\score\\src\\threadqops.c||_Thread_queue_FIFO_do_initialize||137||
+ ||cpukit\\score\\src\\threadqops.c||_Thread_queue_FIFO_do_initialize||137||Unused due to API constraints||
?                                                                         +++++++++++++++++++++++++++++++

- ||cpukit\\score\\src\\threadqtimeout.c||_Thread_queue_Add_timeout_ticks||28||
+ ||cpukit\\score\\src\\threadqtimeout.c||_Thread_queue_Add_timeout_ticks||28||Unused due to API constraints||
?                                                                           +++++++++++++++++++++++++++++++

- ||cpukit\\score\\src\\threadrestart.c||_Thread_Join_flush_filter||84||
+ ||cpukit\\score\\src\\threadrestart.c||_Thread_Join_flush_filter||84||Unused due to API constraints||
?                                                                    +++++++++++++++++++++++++++++++

- ||cpukit\\score\\src\\userextiterate.c||_User_extensions_Thread_begin_visitor||102||
+ ||cpukit\\score\\src\\userextiterate.c||_User_extensions_Thread_begin_visitor||102||Unused due to API constraints||
?                                                                                  +++++++++++++++++++++++++++++++



Could one please double-check if in each case the unused parameters can be safely removed from the function\ |md_0_8217|\ s signature? PS: The first functions are also implemented within .h files and perhaps could be moved to .c files.

**Additional Notes:**
This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-CODE-VER-028.

Author: Trac Migrate

2024-03-22T06:54:19.000Z

Original author: dppinto

In [changeset:”1eed6f8bfca86b77174412292ff7807708f4ab3a/rtems” 1eed6f8/rtems]:

bsps: Avoid unused argument in clock interrupt

Pass the parameter of the clock interrupt handler to
Clock_driver_support_at_tick() and Clock_driver_timecounter_tick().  This makes
it possible to use the interrupt handler argument in clock drivers.

Use the interrupt handler provided by Clock_driver_support_install_isr() to
avoid local delarations of Clock_isr().

Update #4862.

Author: Trac Migrate

2024-03-22T07:12:47.000Z

Original author: dppinto

In [changeset:”1df822a922dce3fd42399692a50c626609cbf2dd/rtems” 1df822a/rtems]:

Mark parameters as intentionally unused

The parameters are unused due to API constraints.  The functions are
used through function pointers.  Alternative implementations may use the
parameters.

Update #4862.

Author: Trac Migrate

2024-03-23T09:49:41.000Z

Original author: dppinto

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7fafbede33ebea18c4e3fa9886905f436a5bc455/rtems-docs” 7fafbed/rtems-docs]:

bsp-howto: Document clock driver arg parameter

Close #4862.

Author: Amar Takhar

2024-04-25T20:50:37.906Z

changed the description

4860 - Waf Failure on CentOS 8 Stream

Id

4860

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2023-02-17T15:37:03.000Z

Updated

2024-04-25T20:50:37.292Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, tool::waf

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4860

Merges

0

Jeff Mayes reported (https://lists.rtems.org/pipermail/devel/2023-February/074424.html) that builds on the CentOS 8 Stream test host are failing with this:

Using rtems for RTEMS source
Testing: sparc erc32-sis
BSP to Build: erc32
Traceback (most recent call last):
File "./waf", line 167, in <module>
from waflib import Scripting
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Scripting.py", line 7, in <module>
from waflib import Utils,Configure,Logs,Options,ConfigSet,Context,Errors,Build,Node
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Configure.py", line 6, in <module>
from waflib import ConfigSet,Utils,Options,Logs,Context,Build,Errors
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Options.py", line 6, in <module>
from waflib import Logs,Utils,Context,Errors
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Context.py", line 183
raise Errors.WafError('Execution failure: %s'%str(e),ex=e),None,sys.exc_info()[2],None,sys.exc_info()[2]
^
SyntaxError: invalid syntax
FAILED:  Unable to waf distclean rtems

In follow up emails, Chris Johns suggested updating waf which Jeff reported fixed the issue.

The action for this ticket is to update waf in the following repositories:

  • rtems

  • rtems-examples

  • rtems-docs

  • rtems-libbsd

  • rtems-lwip

  • rtems-net-legacy (OK – already on latest waf)

  • rtems-tools

Author: Joel Sherrill

2023-02-17T20:32:35.000Z

  • Description changed

Jeff Mayes reported (https://lists.rtems.org/pipermail/devel/2023-February/074424.html) that builds on the CentOS 8 Stream test host are failing with this:

{{{
Using rtems for RTEMS source
Testing: sparc erc32-sis
BSP to Build: erc32
Traceback (most recent call last):
File "./waf", line 167, in <module>
from waflib import Scripting
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Scripting.py", line 7, in <module>
from waflib import Utils,Configure,Logs,Options,ConfigSet,Context,Errors,Build,Node
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Configure.py", line 6, in <module>
from waflib import ConfigSet,Utils,Options,Logs,Context,Build,Errors
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Options.py", line 6, in <module>
from waflib import Logs,Utils,Context,Errors
File "/home/tester/rtems-cron-6/rtems/.waf-2.0.20-36f5354d605298f6a89c09e0c7ef6c1d/waflib/Context.py", line 183
raise Errors.WafError('Execution failure: %s'%str(e),ex=e),None,sys.exc_info()[2],None,sys.exc_info()[2]
^
SyntaxError: invalid syntax
FAILED:  Unable to waf distclean rtems
}}}

In follow up emails, Chris Johns suggested updating waf which Jeff reported fixed the issue.

The action for this ticket is to update waf in the following repositories:

* rtems
* rtems-examples
* rtems-docs
* rtems-libbsd
* rtems-lwip
- * rtems-net-legacy
+ * rtems-net-legacy (OK -- already on latest waf)
* rtems-tools

Author: Trac Migrate

2023-02-20T15:45:34.000Z

In [changeset:”9b4aed1fd1ddc1235138ab9f06eb1daaa39bc3e4/rtems” 9b4aed1/rtems]:

waf: Update to waf 2.0.25

Updates #4860

Author: Trac Migrate

2023-02-20T15:47:20.000Z

In [changeset:”b0fc22cdf819218ce28d2d595795d99670691111/rtems-libbsd” b0fc22c/rtems-libbsd]:

waf: Update to waf 2.0.25

Updates #4860

Author: Trac Migrate

2023-02-20T15:47:50.000Z

In [changeset:”1aa4cb8568594aa54238c9fbf2cc0f3ea4edec7f/rtems-libbsd” 1aa4cb8/rtems-libbsd]:

waf: Update to waf 2.0.25

Updates #4860

Author: Trac Migrate

2023-02-20T15:49:11.000Z

In [changeset:”0b9bb40e766228cf957adea417be5870bfe18980/rtems-tools” 0b9bb40/rtems-tools]:

waf: Update to waf 2..0.25

Updates #4860

Author: Trac Migrate

2023-02-20T17:43:45.000Z

In [changeset:”2f7ebf719d1aa8e1c2f21a61cef7256cf3f9e044/rtems-docs” 2f7ebf7/rtems-docs]:

waf: Update to waf 2.0.25

Updates #4860

Author: Joel Sherrill

2023-02-20T22:50:33.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

All repos should be updated to the latest waf. Closing.

Author: Amar Takhar

2024-04-25T20:50:37.415Z

changed the description

4855 - Input validity unchecked

Id

4855

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-13T14:21:44.000Z

Updated

2024-04-25T20:50:36.737Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::wontfix, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4855

Merges

0

Original author: dppinto

In a generic way, function inputs shall be checked for validity before being used.

When successive calls are done to different functions, one might argue that inputs are to be checked only once and then considered valid in other calls. Yet this has some pitfalls like: * function inputs are not checked in a consistent way throughout all functions: * Each one has to constantly double-check in comments and/or callers if inputs are instead checked elsewhere in the call tree. * Even if for the moment no call tree leads to invalid input issues, future maintenance operations may add new calls without validity checks.

One can assume some exceptions can occur (e.g., when there is a considerable performance impact), but as long such cases are justified within the function’s comments one can easily sort out those exceptions.

Bellow, there is a list of cases where input validity could be added:

  • bspsincludebspirq-generic.h: bsp_interrupt_entry_load_first function is called by bsp_interrupt_handler_dispatch_unchecked where the argument was already checked.

  • bspsincludebspirq-generic.h: bsp_interrupt_handler_index function is called by bsp_interrupt_entry_load_first, bsp_interrupt_entry_remove, bsp_interrupt_spurious, bsp_interrupt_entry_find, bsp_interrupt_entry_install, rtems_interrupt_handler_iterate functions. It was possible to trace in all of them a validation of the argument used in bsp_interrupt_handler_index before being called.

  • bspssharedirqirq-default-handler.c: bsp_interrupt_handler_default is only called by bsp_interrupt_spurious and bsp_interrupt_handler_dispatch_unchecked functions and It was possible to trace in all ot them a validation of the argument used in bsp_interrupt_handler_index before being called.

  • bspssharedirqirq-entry-remove.c: the *entry argument of bsp_interrupt_entry_do_remove is actually tested and validated inside of that function. That function is also the only place where bsp_interrupt_entry_remove is called. The arguments vector, *entry and **previous_next are all validated by a call to the bsp_interrupt_entry_find and subsequent code that is run prior to call bsp_interrupt_entry_remove function.

  • bspssharedirqirq-generic.c: the bsp_interrupt_spurious function argument vector is tested before being called in bsp_interrupt_handler_dispatch_unchecked function.

  • bspssharedirqirq-generic.c: bsp_interrupt_entry_install_first function is called once by bsp_interrupt_entry_install function. The validation of the argument vector can be traceback to rtems_interrupt_entry_install function. The argument *entry is also passed by bsp_interrupt_entry_install function and explained in the previous paragraph.

  • bspsshareddevclockclockimpl.h: in both functions (void Clock_isr and rtems_isr Clock_isr) declaration/definition (they are the same function, just declared differently depending of #if def’s), both arguments are not used. Due to the evaluation of the internal #if, this functions are reduced to Clock_driver_ticks += 1; _Timecounter_Tick();

  • bspssparcleon3startbspsmp.c: the bsp_start_on_secondary_processor function calls _SMP_Start_multitasking_on_secondary_processor with the same argument as it was called. This argument in that sub-function is used to get a value cpu_index_self, which itself is validated and checked if it is a proper value or not. Indirect validation.

  • bspssparcleon3startbspsmp.c: the _CPU_SMP_Send_interrupt function is called in 3 different places: in one place (_SMP_Request_shutdown function in smp.c file) it is inside a for loop that is limited by _SMP_Processor_configured_maximum. This is OK. For the other 2 places ( from _SMP_Send_message function in smp.c file and _Thread_Dispatch_request function in threaddispatch.h file it is not clear that the argument of _CPU_SMP_Send_interrupt cannot be limited (when it should be limited at least to _SMP_Processor_configured_maximum).

  • bspssparcleon3starteirq.c: bsp_interrupt_get_attributes function actually tests vector argument. But also there is only one call to this function which is from rtems_interrupt_get_attributes function in irq-enable-disable.c file where both arguments are tested prior call to bsp_interrupt_get_attributes function.

  • bspssparcsharedstartbspgetworkarea.c: _SPARC_Memory_initialize function receives its *end_of_usable_ram argument from the main function in start.S file. No validation is performed there. The argument is used to initialize a struct, which later on may be used for dynamically allocated memory. The referred pointer argument is never dereferenced, it is used as the end limit of the allocated memory position. It may make sense to test in this initialisation function if it is value is above &_Memory_Areas[ 0 ].

  • cpukitlibcstringmemset.c: memset function is part of space qualification profile context, and the void *<[dst]> pointer is not tested against NULL.

  • cpukitlibcstringmemcpy.c: memcpy function is part of space qualification profile context, and the void *dst and void *src pointers is not tested against NULL.

  • cpukitposixsrcclocknanosleep.c: in function clock_nanosleep the *rmtp argument can be NULL if the user does not want to get the remain time, so there is no need to validated it. For the *rqtp (request) argument this should be validated if different than NULL and the tv_nsec field must be validated if between 0 and 999999999.

  • cpukitrtemssrcclocktodtoseconds.c: the _TOD_To_seconds function is called by _Timer_Fire_when function from timercreate.c file, by rtems_task_wake_when function from taskwakewhen.c file and by rtems_clock_set function from clockset.c file. In all three cases the argument with which the _TOD_To_seconds function is called is validated with a call to _TOD_Validate function prior to the call.

  • cpukitrtemssrceventsend.c: the _Event_Seize function is called by two similar functions the rtems_event_receive from eventreceive.c file and rtems_event_system_receive from systemeventreceive.c file. The *event_out argument is validated prior the call; all other arguments are declared and defined in the caller functions prior to call the Event_Seize function.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-VAL-029.

Author: Trac Migrate

2023-02-13T14:25:16.000Z

Original author: dppinto

Correction: The original ISVV reference for this issue is RTEMS-SMP-VER-029.

Author: Trac Migrate

2023-03-23T16:21:24.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

For internal functions it is responsibility of the caller to ensure that arguments are valid.

The C library functions memset() and memcpy() are not required to check for NULL.

clocknanosleep() checks the mentioned error conditions. There are also test cases for them.

The end_of_usable_ram is provided by the boot loader. How can the BSP validate this?

Author: Amar Takhar

2024-04-25T20:50:36.881Z

changed the description

4850 - LEON3 - Variable not initialized in any file / missing #ifdefs

Id

4850

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-13T12:59:06.000Z

Updated

2024-04-25T20:50:34.989Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4850

Merges

0

Original author: dppinto

Within bspssparcleon3includebspleon3.h (lines 207, 309)

The *LEON3_IrqCtrl_Adev and *LEON3_Timer_Adev are declared but not initialized in any file of the QDP.:

Please consider having these declared within the |md_0_8220|else|md_0_8221| blocks of the |md_0_8220|#if defined(LEON3_IRQAMP_BASE)|md_0_8221| where *LEON3_IrqCtrl_Regs and *LEON3_Timer_Regs are declared.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-041.

Author: Trac Migrate

2023-03-23T16:22:58.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Joel Sherrill

2023-06-22T21:11:55.000Z

Original author: dppinto

  • Summary changed from Variable not initialized in any file / missing #ifdefs to LEON3 - Variable not initialized in any file / missing #ifdefs

Author: Trac Migrate

2023-07-28T05:27:56.000Z

Original author: dppinto

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”c173f0581a2a3672cb2f6024c7d9f35665849ec8/rtems” c173f05/rtems]:

bsp/leon3: Make declarations conditional

The LEON3_IrqCtrl_Adev object is only defined if LEON3_IRQAMP_BASE is
not defined.

The LEON3_Timer_Adev object is only defined if LEON3_GPTIMER_BASE is not
defined.

Close #4850.

Author: Amar Takhar

2024-04-25T20:50:35.033Z

changed the description

4847 - Goto statements

Id

4847

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-09T14:56:10.000Z

Updated

2024-04-25T20:50:34.109Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4847

Merges

0

Original author: dppinto

The use of “goto” statements is strongly discouraged as it results in convoluted program logic, making it challenging to analyse and verify program correctness, particularly in loops. Instead, the “break” and “continue” statements provide alternatives to “goto” and should be utilized to simplify the code.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-074.

File list: cpukit/score/src/threaddispatch.c (line 290)

Author: Joel Sherrill

2023-02-09T15:05:11.000Z

Original author: dppinto

Although cpukit/score/src/threaddispatch.c (line 290) is not right per the current source, on first examination, I think this goto can be a break. Leaving the label post_switch is probably good for understanding purposes. And adding a comment at that point would probably be a good idea also.

FWIW this goto was not present in versions <= 4.10 but shows up in 4.11 and I think that it could have been a break back then also. The code looks similar.

Author: Trac Migrate

2023-02-09T18:44:59.000Z

Original author: dppinto

Yes, it can be a break. I am not sure if the break improves the code clarity.

Author: Joel Sherrill

2023-02-09T18:59:30.000Z

Original author: dppinto

Looking at the older versions, there was not a loop around the dispatching activities. This was added because with SMP, the other cores could request a dispatch on a core while one was in process.

I’m fine with changing it to a break. I just think anytime you look at code, you should consider if more comments are necessary. I think the post_switch label is acting as a minimal comment and the scenarios for looping more than once or exercising the break could be documented in the comments.

Author: Trac Migrate

2023-02-10T14:58:10.000Z

Original author: dppinto

In [changeset:”22d845d5b752870282678b78845c8d6052019b36/rtems” 22d845d5/rtems]:

score: Replace goto with a break

The goto label was directly after the loop, so we can replace the goto
with a break.

Close #4847.

Author: Trac Migrate

2023-02-10T14:58:45.000Z

Original author: dppinto

  • Milestone set to %”6.1”

Author: Chris Johns

2023-02-14T00:58:54.000Z

Original author: dppinto

Has this ticket and review taken into account the discussion here?

https://lists.rtems.org/pipermail/devel/2014-May/006723.html

I have not seen a similar discussion?

Author: Amar Takhar

2024-04-25T20:50:34.152Z

changed the description

4845 - Global variable declared/defined in the wrong file

Id

4845

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-09T14:53:20.000Z

Updated

2024-04-25T20:50:33.221Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4845

Merges

0

Original author: dppinto

This source file contains both declaration and definition of the variable. It is recommended to declare global variables in a header file and define them in separate source files. Please consider this best practice and move the declarations to a header file and corresponding definitions to respective source files.

Additional Notes: LEON3_Boot_Cpu is a global variable and only used by start.S file. And as such cannot be declared as static. Because is used in an assembly file there was no need to declare it as external. But the global variable is in fact declared and defined in same file.

This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-043.

File list: bspssparcleon3startbspstart.c (line 54)

Author: Trac Migrate

2023-02-10T15:01:13.000Z

Original author: dppinto

In [changeset:”b993111594a2e49273a056bafd14a28dc04f5e19/rtems” b993111/rtems]:

bsp/leon3: Move SMP data to start.S

The LEON3_Boot_Cpu global object is only used by start.S.  Move the definition
of this object to start.S and use a local symbol .Lbootcpuindex for it.

Use a compare-and-swap instruction to assign the boot CPU.  This allows a
concurrent initialization.

Close #4845.

Author: Trac Migrate

2023-02-10T15:01:47.000Z

Original author: dppinto

  • Milestone set to %”6.1”

Author: Amar Takhar

2024-04-25T20:50:33.263Z

changed the description

4843 - Output value not assigned

Id

4843

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-09T14:44:48.000Z

Updated

2024-04-25T20:50:32.251Z

Milestone

6.1

Labels

bsp, priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4843

Merges

0

Original author: dppinto

The Software Document Design (starting on page 181) specifies that there should be two outputs, but the RTEMS_UNSATISFIED is not returned by the function. The only failure detected may be due to the assert function, but the rtems_status_code isn’t the returned value. Ensure all output values specified in the SDD are returned.

Additional Notes: From code analysis and from objdumping the librtemsbsp.a library it can be observed that the asserts() currently do nothing: they are translated to #define _Assert( _e ) ( ( void ) 0 ) unless RTEMS_DEBUG or RTEMS_STATIC_ANALYSIS are defined, which in a release environment target are not defined. Since in the documentation it says that it can return RTEMS_UNSATISFIED or RTEMS_SUCCESSFUL either the documentation is wrong, or the code is not correctly implemented.

This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-CODE-VER-032.

File list: bspssparcleon3starteirq.c bsp_interrupt_is_pending (line 106) bsp_interrupt_raise (line 127) bsp_interrupt_clear (line 185) bsp_interrupt_vector_enable (line 270) bsp_interrupt_vector_disable (line 299)

Author: Trac Migrate

2023-02-10T14:58:12.000Z

Original author: dppinto

In [changeset:”519e288a9615ccea12f528c9b49e633baab24c1e/rtems” 519e288/rtems]:

bsps/irq: Clarify interrupt vector operations

Clarify that the presence of error conditions is
implementation-defined.

Close #4843.

Author: Trac Migrate

2023-02-10T14:59:09.000Z

Original author: dppinto

  • Milestone set to %”6.1”

Author: Amar Takhar

2024-04-25T20:50:32.296Z

changed the description

4842 - SPARC/grlib - Registers definitions wrongly defined when there are reserved bits

Id

4842

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-02-09T14:43:19.000Z

Updated

2024-04-25T20:50:31.771Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4842

Merges

0

Original author: dppinto

With respect to RTEMS 6 (ESA-promoted RTEMS SMP Qualification Data Pack release 3), the following issues are observed:

File

Lines

Discrepancy

bsps\include\grlib\ftmctrl-regs.h

84; 86; 88; 91; 96;98; 101; 106; 109; 115; 120; 123

According to table 365 of page 294 of the GR740 User Manual (v.2.50), the register addresses are incorrectly defined.

bsps\include\grlib\grgpio-regs.h

225

According to table 406 of page 319 of the GR740 User Manual (v.2,50), the register address is incorrect;

bsps\include\grlib\dsu4-regs.h

435

According to table 538 of page 403 of the GR740 User Manual (v.2.5), the register address is incorrect according to the table but it is correct according to the table description.

bsps\include\grlib\gr1553b-regs.h

609

According to table 327 of page 259 of the GR740 User Manual (v.2.50), the register address is incorrect according to the table but it is correct according to the table description.

bsps\include\grlib\spwpnp-regs.h

151

According to table 213 of page 200 of the GR740 User Manual (v.2.5), the register address is incorrect according to the table but it is correct according to the table description.

bsps\include\grlib\spwrmap-regs.h

575; 591; 715; 787; 809

According to tables 191, 192, 199, 201, 202, respectively (to each identified line) starting on page 192 of the GR740 User Manual (v.2.5), the register addresses are incorrect according to the table but are correct according to the table description.

It seems that the generation of these registers definitions leads to incorrect bit definitions whenever there are reserved bits specified in the Gaisler User Manual. Can you please double-check these cases?

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-CODE-VER-014.

Author: Trac Migrate

2023-02-14T16:27:14.000Z

Original author: dppinto

The DSU4[ITCB0] ITPOINTER field seems to be correct in the description. See also the GRIP manual.

Author: Trac Migrate

2023-02-14T16:27:36.000Z

Original author: dppinto

  • Milestone set to %”6.1”

Author: Trac Migrate

2023-02-14T17:50:59.000Z

Original author: dppinto

The RTELM - GR1553B RT Event Log mask register should be clarified by Gaisler.

Author: Trac Migrate

2023-02-14T19:16:08.000Z

Original author: dppinto

With respect to the

  • Space Wire Plug-and-Play - Active Links

  • Interrupt port mask (IPMASK)

  • Port interrupt pending (PIP)

  • Link running status (LRUNSTAT)

the register block definitions are actually from the GRIP manual. In the latest version, up to 31 links are supported.

Author: Trac Migrate

2023-02-14T19:28:41.000Z

Original author: dppinto

To be check by Gaisler:

  • Space Wire Plug-and-Play - Device Vendor and Product ID

  • Space Wire Plug-and-Play - Unit Vendor and Product ID

Author: Trac Migrate

2023-02-16T08:06:11.000Z

Original author: dppinto

In [changeset:”a7c2836a78cd97686e937d584df5210cdb07e90a/rtems-central” a7c2836/rtems-central]:

spec: Fix FTMCTRL - MCFG1 bit fields

There was an off by one error in all bit fields.  Add the R flag.

Update #4842.

Author: Trac Migrate

2023-02-16T08:06:12.000Z

Original author: dppinto

In [changeset:”239d25459fb9769f8345a0671206e3651d104a11/rtems-central” 239d254/rtems-central]:

spec: Fix GRGPIO - IRQMAP bit fields

Update #4842.

Author: Trac Migrate

2023-02-16T08:06:13.000Z

Original author: dppinto

In [changeset:”dd6f100cf3e650ac1fa020ed8441e31c1e96a45d/rtems-central” dd6f100/rtems-central]:

spec: Fix SpaceWire RMAP - Product ID

Update #4842.

Author: Trac Migrate

2023-02-16T08:06:14.000Z

Original author: dppinto

In [changeset:”4fdeb568448d83251d7cab1e542bca5172567856/rtems-central” 4fdeb56/rtems-central]:

spec: Expand SpaceWire port bit fields

Use the maximum width supported by the SpaceWire standard even if this
exceeds the configuration limits of a particular IP instance.

Update #4842.

Author: Joel Sherrill

2023-06-22T21:05:31.000Z

Original author: dppinto

  • Owner set to sebastian.huber

  • Status changed from new to assigned

  • Summary changed from Registers definitions wrongly defined when there are reserved bits to SPARC/grlib - Registers definitions wrongly defined when there are reserved bits

Author: Joel Sherrill

2023-06-22T22:30:42.000Z

Original author: dppinto

This will be closed before 6. Please clone for 7 if continued.

Author: Trac Migrate

2023-07-14T09:58:53.000Z

Original author: dppinto

In [changeset:”d4c13016a96108e3d5b094f6ba42abce1247d018/rtems-central” d4c1301/rtems-central]:

spec: Add GRCAN - CanTxIRQ

Update #4842.

Author: Trac Migrate

2023-07-14T09:58:54.000Z

Original author: dppinto

In [changeset:”b46ff7e51ce611d87e0519128382612890689c39/rtems-central” b46ff7e/rtems-central]:

spec: Expand GRCLKGATE register bit fields

Use the maximum width supported by the GRLIB even if this exceeds the
configuration limits of a particular IP instance.

Update #4842.

Author: Trac Migrate

2023-07-14T09:58:55.000Z

Original author: dppinto

In [changeset:”89b89fe97d1cd2aa3a522964bae817c369c3d229/rtems-central” 89b89fe/rtems-central]:

spec: Move GR740-specific register blocks

Update #4842.

Author: Trac Migrate

2023-07-14T09:58:57.000Z

Original author: dppinto

In [changeset:”d6c4baf4fc352ae974b771f94a596de76ac6a2bc/rtems-central” d6c4baf/rtems-central]:

spec: Use GRLIB definition of GRSPW2

Update #4842.

Author: Trac Migrate

2023-07-14T09:58:58.000Z

Original author: dppinto

In [changeset:”d0771617464d6a9e5af6576a3933207b7ba50355/rtems-central” d077161/rtems-central]:

spec: Remove obsolete register block

This register block was an incomplete duplicate of
spec:/dev/grlib/if/grspw2.

Update #4842.

Author: Trac Migrate

2023-07-14T09:58:59.000Z

Original author: dppinto

In [changeset:”57715603d93b7fc61ca797b50730f087b6f06ebf/rtems-central” 5771560/rtems-central]:

spec: Use GRLIB definition of GRSPWROUTER

Rename item to match with GRLIB naming.

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:08.000Z

Original author: dppinto

In [changeset:”e56cecf50181b4c8ca781448cba7f4f754cde8d3/rtems” e56cecf5/rtems]:

bsps/grlib: Fix FTMCTRL - MCFG1 bit fields

There was an off by one error in all bit fields.  Add the R flag.

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:10.000Z

Original author: dppinto

In [changeset:”b7eb7d1f59ac6681a547c6ef60f58eed5adc60f3/rtems” b7eb7d1f/rtems]:

bsps/grlib: Fix GRGPIO - IRQMAP bit fields

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:12.000Z

Original author: dppinto

In [changeset:”75758902009a5272aca8474aca75fa76608b18b1/rtems” 7575890/rtems]:

bsps/grlib: Fix SpaceWire RMAP - Product ID

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:14.000Z

Original author: dppinto

In [changeset:”fe23259633518b8cfa9d4e7206b6e3bac7938e12/rtems” fe232596/rtems]:

bsps/grlib: Expand SpaceWire port bit fields

Use the maximum width supported by the SpaceWire standard even if this
exceeds the configuration limits of a particular IP instance.

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:16.000Z

Original author: dppinto

In [changeset:”845422b859378a3e06f7a5f77873d622e871e88f/rtems” 845422b/rtems]:

bsps/grlib: Fix SPWTDP register name

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:18.000Z

Original author: dppinto

In [changeset:”e6427f1ea9bce657de4ae02118bfb24ac1732fd6/rtems” e6427f1e/rtems]:

bsps/grlib: Add GRCAN - CanTxIRQ

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:20.000Z

Original author: dppinto

In [changeset:”584be21c3d97e34c96d9e5ad407c776ed3d94472/rtems” 584be21/rtems]:

bsps/grlib: Expand GRCLKGATE register bit fields

Use the maximum width supported by the GRLIB even if this exceeds the
configuration limits of a particular IP instance.

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:22.000Z

Original author: dppinto

In [changeset:”cba956b5d0700194161586d7bf21b95bd0fae541/rtems” cba956b/rtems]:

bsps/grlib: Move GR740-specific registers

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:24.000Z

Original author: dppinto

In [changeset:”181d989530ae413216a8a0a64ecff98eea511124/rtems” 181d989/rtems]:

bsps/grlib: Use GRLIB definition of GRSPW2

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:26.000Z

Original author: dppinto

In [changeset:”06f631546f878956625a8a95fa545589c668206d/rtems” 06f63154/rtems]:

bsps/grlib: Remove obsolete header file

This header file was an incomplete duplicate of <grlib/grspw2-regs.h>.

Update #4842.

Author: Trac Migrate

2023-07-14T10:01:28.000Z

Original author: dppinto

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”49ad450d707a5edc1dd28e8883cc2e518bf54201/rtems” 49ad450/rtems]:

bsps/grlib: Use GRLIB definition of GRSPWROUTER

Rename parts to match with GRLIB naming.

Close #4842.

Author: Amar Takhar

2024-04-25T20:50:31.833Z

changed the description

4832 - CLANG flagged error

Id

4832

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-01-27T16:13:18.000Z

Updated

2024-04-25T20:50:27.369Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::wontfix, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4832

Merges

0

Original author: dppinto

Description: SPAMR/CLANG point out to a possible deference to a null pointer. However, this issue has already been checked by the RTEMS team and flagged as false positive (see rtems-6-sparc-gr740-smp-3/doc/paf/spamr/spamr.pdf page 29).

Yet, the justification sentence ends with “Why CLANG complains about a possible null pointer at this place in code and not everywhere or nowhere remains a mystery” which sounds awkward and lead us to think that a complete analysis as not been done on the error.

Looking at it now, “_Chain_Initialize_one” is declared as static inline in a .h. That makes it public and so not all calls are controlled. Within the function, there is already an assert operation for one of the inputs. Now, one needs to add it also to the other one. Note that this assert is only active when compiler options RTEMS_DEBUG or RTEMS_STATIC_ANALYSIS are used which shall remove the CLANG error and not influence the flight executable.

(Missions might do an early compilation with RTEMS_DEGUG to spot any problem on this).

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-062.

File list: cpukitincludertemsscorechainimpl.h (line 525)

Author: Trac Migrate

2023-01-27T19:27:51.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

  • Version set to ~”6”

Functions starting with an underscore are reserved for the RTEMS implementation and not a part of the API.

Adding an _Assert(x != NULL) to pointer parameters of internal functions in general makes no sense.

I reviewed the related clang analysis. The problem is that clang doesn’t know that _Scheduler_Count is greater than zero.

Author: Trac Migrate

2023-01-28T16:43:22.000Z

Original author: dppinto

In [changeset:”453939753b7fd758b49631c6a8cba10d8fdddaf7/rtems” 45393975/rtems]:

score: Help static analysis in thread init

Add an assert to _Thread_Initialize_scheduler_and_wait_nodes() which may
help a static analyzer.  Use a do/while loop since we have at least one
scheduler.

Update #4832.

Author: Amar Takhar

2024-04-25T20:50:27.417Z

changed the description

4828 - Macro defined but magic number used instead

Id

4828

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-01-27T16:09:22.000Z

Updated

2024-04-25T20:50:25.611Z

Milestone

6.1

Labels

bsp, priority::normal, qualification, resolution::fixed, tickettype::defect, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4828

Merges

0

Original author: dppinto

Description: Each register has a dedicated SHIFT macro, however, it is not utilized in subsequent macro definitions where the shift operation is performed. To improve consistency and maintainability, consider incorporating the defined shift macro in the subsequent macro definitions instead of using hardcoded shift values.

Additional Notes: These findings are related to the fact that a bunch of macros like AHBSTAT_AHBS_HMASTER_SHIFT are defined and then are not used right in the next few lines.

define AHBSTAT_AHBS_HMASTER_SHIFT 3

define AHBSTAT_AHBS_HMASTER_MASK 0x78U

define AHBSTAT_AHBS_HMASTER_GET( _reg ) \

( ( ( _reg ) >> 3 ) & 0xfU )

define AHBSTAT_AHBS_HMASTER( _val ) ( ( _val ) << 3 )

As stated, in every one of these files, “This file is part of the RTEMS quality process and was automatically generated”. There are YAML files where these registers are defined and the Waf build system generates the header files automatically with the current configuration.

This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-013.

File list: bspsincludegrlibahbstat-regs.h bspsincludegrlibahbtrace-regs.h bspsincludegrlibapbuart-regs.h bspsincludegrlibdsu4-regs.h bspsincludegrlibftmctrl-regs.h bspsincludegrlibgptimer-regs.h bspsincludegrlibgr1553b-regs.h bspsincludegrlibgr740thsens-regs.h bspsincludegrlibgrcan-regs.h bspsincludegrlibgrclkgate-regs.h bspsincludegrlibgrethgbit-regs.h bspsincludegrlibgrgpio-regs.h bspsincludegrlibgrgprbank-regs.h bspsincludegrlibgrgpreg-regs.h bspsincludegrlibgriommu-regs.h bspsincludegrlibgrpci2-regs.h bspsincludegrlibgrspw2-regs.h bspsincludegrlibgrspwrouter-regs.h bspsincludegrlibirqamp-regs.h bspsincludegrlibl4stat-regs.h bspsincludegrlibmemscrub-regs.h bspsincludegrlibl2cache-regs.h bspsincludegrlibmmctrl-regs.h bspsincludegrlibspictrl-regs.h bspsincludegrlibspwpnp-regs.h bspsincludegrlibspwrmap-regs.h

Author: Trac Migrate

2023-01-28T17:24:25.000Z

Original author: dppinto

  • Milestone set to %”7.1”

  • Owner set to Needs Funding

  • Status changed from new to assigned

  • Version set to ~”6”

Author: Trac Migrate

2023-01-31T17:50:55.000Z

Original author: dppinto

The files are generated, so changing the format would be easy. Is this the desired format?

#define AHBSTAT_AHBS_HMASTER_SHIFT 3
#define AHBSTAT_AHBS_HMASTER_MASK 0x78U
#define AHBSTAT_AHBS_HMASTER_GET( _reg ) \\
( ( ( _reg ) & AHBSTAT_AHBS_HMASTER_MASK ) >> AHBSTAT_AHBS_HMASTER_SHIFT )
#define AHBSTAT_AHBS_HMASTER( _val ) ( ( _val ) << AHBSTAT_AHBS_HMASTER_SHIFT )

It makes the lines longer and the files larger.

Author: Trac Migrate

2023-02-08T10:33:48.000Z

Original author: dppinto

Hello! Yes, we think this format is better, despite being longer and more extensive; this way, the logic is clearer and unambiguous.

Author: Trac Migrate

2023-03-15T07:30:30.000Z

Original author: dppinto

In [changeset:”ea3eadfc56e29cba361615ca61c15e0796c6a846/rtems-central” ea3eadf/rtems-central]:

interface: Improve register bit field macros

Update #4828.

Author: Trac Migrate

2023-07-14T09:52:16.000Z

Original author: dppinto

  • Milestone changed from %”7.1” to %”6.1”

  • Owner set to sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2023-07-14T10:01:06.000Z

Original author: dppinto

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”2d71cba033bcd11d9bf469a5c51b6fb79b26ade8/rtems” 2d71cba0/rtems]:

bsps/grlib: Add generated headers

Close #4828.

Author: Amar Takhar

2024-04-25T20:50:25.661Z

changed the description

4822 - Function returning unchanged function input

Id

4822

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-01-24T11:35:33.000Z

Updated

2024-04-25T20:50:24.332Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4822

Merges

0

Original author: dppinto

Description: These functions appear to be returning their input without making any changes. To improve their functionality, it is recommended to re-write them to return void.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-057.

File: cpukitscoresrcsmp.c Function: _SMP_Process_message Line: 284

Author: Trac Migrate

2023-01-24T15:41:24.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Owner set to sebastian.huber

  • Status changed from new to assigned

  • Version set to ~”6”

Author: Trac Migrate

2023-01-24T18:24:52.000Z

Original author: dppinto

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”48f693a97e3ab7698d3ce3a9eb8b22cb37b5104a/rtems” 48f693a9/rtems]:

score: Remove unused return value

Several SMP message processing functions returned a value.  This value
was always unused.

Close #4822.

Author: Amar Takhar

2024-04-25T20:50:24.377Z

changed the description

4820 - Hazardous cast

Id

4820

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-01-23T11:45:27.000Z

Updated

2024-04-25T20:50:23.888Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4820

Merges

0

Original author: dppinto

Description: Converting a function pointer to a different type of pointer can lead to unpredictable and undefined behavior. It is important to note that attempting to convert a pointer to a function to a pointer of a different type of function is particularly dangerous and should be avoided.

The attached excel lists in a systematic way the sources where this issue applies.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-079.

File list (please check the attached excel for more information): bspssharedirqirq-handler-iterate.c bspssparcleon3includetm27.h

Author: Trac Migrate

2023-01-23T11:45:39.000Z

Original author: dppinto

Author: Trac Migrate

2023-01-24T10:26:27.000Z

Original author: dppinto

In [changeset:”10ee41a8a37ac5e8d3537cb1c7d98b647903b97c/rtems” 10ee41a8/rtems]:

tm27: Avoid function pointer casts

Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by
the <tm27.h> implementation.

Close #4820.

Author: Trac Migrate

2023-01-24T10:27:54.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Version set to ~”6”

Author: Amar Takhar

2024-04-25T20:50:23.931Z

changed the description

4818 - Incomplete Statement in “cpu->heir”

Id

4818

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-01-23T11:42:22.000Z

Updated

2024-04-25T20:50:22.996Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4818

Merges

0

Original author: dppinto

Description: The assignment statement “cpu->heir = “ is incomplete and missing a value and semicolon at the end. It is recommended to revise this statement to ensure the code is not broken by the missing semicolon.

The attached excel lists in a systematic way the sources where this issue applies.

Additional Notes: This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). Original ISVV reference for this issue is RTEMS-SMP-CODE-VER-058.

File list (please check the attached excel for more information): cpukitscoresrcthreadcreateidle.c

Author: Trac Migrate

2023-01-23T11:42:43.000Z

Original author: dppinto

Author: Trac Migrate

2023-01-24T10:26:25.000Z

Original author: dppinto

In [changeset:”9ecb73f368fa21bd943afb30809e8fe2b5dca2b3/rtems” 9ecb73f/rtems]:

score: Clarify code block

Do not use a chained assignment for code clarity.

Close #4818.

Author: Trac Migrate

2023-01-24T10:28:10.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Version set to ~”6”

Author: Amar Takhar

2024-04-25T20:50:23.042Z

changed the description

4741 - Fix GCC PR 107248

Id

4741

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-10-14T13:04:19.000Z

Updated

2024-04-25T20:50:01.964Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4741

Merges

0

Original author: sebastian.huber

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107248

Author: Trac Migrate

2022-10-15T08:19:57.000Z

Original author: sebastian.huber

In [changeset:”36a3d88044ad7df506536223d2beaa69757f9e64/rtems-source-builder” 36a3d88/rtems-source-builder]:

6: Update GCC 10 and 12

Update #4741.

Author: Trac Migrate

2022-10-15T08:19:58.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e24641bda7412277c3e6490b663a12aceb093dec/rtems-source-builder” e24641b/rtems-source-builder]:

7: Update Binutils, GDB, and GCC

Close #4741.

Author: Amar Takhar

2024-04-25T20:50:02.005Z

changed the description

4706 - Installed header break C++

Id

4706

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-08-19T04:49:52.000Z

Updated

2024-04-25T20:50:00.878Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4706

Merges

0

Some headers generate C++ errors and so cannot be included.

Author: Chris Johns

2022-08-19T04:54:06.000Z

To test create a C++ source file with all the installed headers and compile. The exact source to build needs some defines and some include ti show the real issues:

#define _DEFAULT_SOURCE 1
#define CONFIGURE_SCHEDULER_CBS 1
#define BSP_GPIO_PIN_COUNT 128
#define BSP_GPIO_PINS_PER_BANK 8
#include <sys/time.h>
#include <bsp.h>
#include <libfdt_env.h>

Only the beagle defines the GPIO pins.

Author: Chris Johns

2022-08-19T06:31:52.000Z

Adding RTEMS_SMP generates the following:

In file included from ../cxx-headers.cc:28:
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp/irq-generic.h: In function 'void bsp_interrupt_entry_store_release(rtems_interrupt_entry**, rtems_interrupt_entry*)':
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp/irq-generic.h:405:71: error: invalid conversion from 'rtems_interrupt_entry*' to 'std::atomic<long unsigned int>::__integral_type' {aka 'long unsigned int'} [-fpermissive]
405 |   _Atomic_Store_uintptr(
|                                                                       ^
|                                                                       |
|                                                                       rtems_interrupt_entry*
In file included from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/cpustdatomic.h:63,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/cpuatomic.h:40,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/atomic.h:40,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/smplockticket.h:44,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/smplock.h:67,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/isrlock.h:41,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/rtems/intr.h:70,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems.h:69,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp/default-initial-extension.h:40,
from /opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp.h:49,
from ../cxx-headers.cc:12:
/opt/work/rtems/6/lib/gcc/aarch64-rtems6/12.1.1/include/c++/atomic:904:40: note:   initializing argument 1 of 'constexpr std::atomic<long unsigned int>::atomic(__integral_type)'
904 |       constexpr atomic(__integral_type __i) noexcept : __base_type(__i) { }
|                        ~~~~~~~~~~~~~~~~^~~

It looks like the <Atomic_Uintptr*> cast is not working.

I will ignore SMP builds but I think this should be fixed for RTEMS 6.

Author: Trac Migrate

2022-08-21T23:30:18.000Z

In [changeset:”f5233fe51c24d7806badd8fc72aa86899e0afafa/rtems” f5233fe/rtems]:

cpukit/include: Fixes for C++

Updates #4706

Author: Trac Migrate

2022-08-21T23:30:20.000Z

In [changeset:”a329579ed5ef8e7d75e41b43e62b040007835b75/rtems” a329579/rtems]:

cpukit/include: Fix including in C++

UPdates #4706

Author: Trac Migrate

2022-08-29T07:05:55.000Z

In [changeset:”23b42f79f9197f66e90aa09016420fe17303bd4a/rtems” 23b42f7/rtems]:

score: Fix format

Update #4706.

Author: Trac Migrate

2022-08-29T07:10:17.000Z

In [changeset:”9b16f24d9c6a2591be4ce2e4e9e629bd81a2806b/rtems” 9b16f24/rtems]:

score: Fix format

Update #4706.

Author: Chris Johns

2022-11-29T22:53:46.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Author: Amar Takhar

2024-04-25T20:50:00.912Z

changed the description

4697 - Documentation for libbsd Configure options

Id

4697

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2022-08-04T20:43:26.000Z

Updated

2024-04-25T20:50:00.044Z

Milestone

6.1

Labels

doc, library::libbsd, network::libbsd, priority::normal, resolution::invalid, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4697

Merges

0

libbsd appears to have some options to configure it similar to confdefs.h. We need user facing documentation on those options.

Author: Chris Johns

2022-11-29T23:59:46.000Z

  • Resolution set to ~”invalid”

  • Status changed from new to closed

There are options in the README in LibBSD.

Author: Amar Takhar

2024-04-25T20:50:00.078Z

changed the description

4691 - Add support for FACE Technical Standard Restriction on POSIX Absolute Timers

Id

4691

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2022-08-01T15:13:58.000Z

Updated

2024-04-25T20:49:59.493Z

Milestone

6.1

Labels

api::posix, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4691

Merges

0

Overview

Most of the time, the FACE Technical Standard (https://opengroup.org/face) defines a subset (e.g. profile) of a standard. It currently includes four profiles of the POSIX 1003.1-2008 standard with a few optional features like multiple processes and IPV6. However, in one case, it defines an error case for something POSIX defines as required behavior. This ticket is intended to track adding support for an application being able to configure whether it wants the POSIX behavior or that defined by the FACE Technical Standard.

FACE Technical Standard Requirements

POSIX allows for setting a timer on CLOCK_REALTIME[1] while the FACE Technical Standard defines this as an error. This behavior and deviation from POSIX has been in the FACE Technical Standard since the beginning and was present in Edition 1.0[2]. This is the language from Edition 1.0 of the FACE Technical Standard which was written in the tone of a white paper rather than as a set of requirements:

3.9.4 Time Management

Partial support for the POSIX CLOCK_REALTIME, which permits a calendar-based clock time to be set that becomes available to all partitions. Due to safety and security-related considerations in the POSIX definitions of this clock’s behavior, the configuration data will specify which partitions (preferably one partition) have permissions to set (using the clock_settime API) this clock. All partitions may have access to read this clock, but an error will be returned for any partition that attempts to set an alarm based on this clock that is based on absolute time (setting of an alarm based on a relative time is supported). Partitions authorized to set the calendar time will also be authorized to set the time zone value that is visible to all other partitions.

Subsequent editions of the FACE Technical Standard have fine-tuned the language and made requirements clearer with simpler direct “shall” statements.

Also, although the term OSS UoC was defined in Edition 1.0, the requirements now use this acronym for Operating System Segment Unit of Conformance to refer to the operating system and foundational services. Other types of segments are defined for applications, communications, and device management. In Edition 3.1[3], the language has the same intent as Edition 1.0 but the requirements are stated in a more direct and clearer manner.

4.1.1.3 OSS POSIX Clock Requirements An OSS UoC provides support for POSIX clocks. 1. An OSS UoC shall support the POSIX Monotonic Clock option (CLOCK_MONOTONIC), including setting absolute and relative timers on this clock. 2. An OSS UoC shall support clock read-access based POSIX CLOCK_REALTIME clock (calendar-based clock time). 3. An OSS UoC shall support setting a relative timer-based POSIX CLOCK_REALTIME clock (calendar-based clock time). 4. An OSS UoC shall support clock time write access for POSIX CLOCK_REALTIME clock value under the constraint that configuration data specifies the partition is authorized to set the clock time (using the clock_settime() API). Note: The time value set by one partition becomes visible to all other partitions. The timezone value set by one POSIX process using the tzset() or setenv() APIs is local to that POSIX process. 5. An OSS UoC shall return an error when a software component attempts to set an absolute timer on the POSIX CLOCK_REALTIME clock. Note: The behavior is necessary (e.g., to prevent backwards and forwards shifts in sequential timers) due to the setting of POSIX_CLOCK_REALTIME clock impacting all partitions.

The use of the word “partition” is intentional because the FACE Technical Standard includes ARINC 653 and POSIX standards. ARINC 653 defines a time and space partitioned real-time environment. POSIX or ARINC 653 applications can be hosted in a partition. In three of the four profiles, ARINC 653 is required while in the fourth it is optional. RTEMS can be hosted in an ARINC 653 partition using a paravirtualized configuration with a BSP that adapts it to the environment.

The requirement being addressed by this ticket is (5) since RTEMS currently meets the other requirements. (5) contradicts the POSIX standard and modifying RTEMS to not support absolute POSIX timers is not an acceptable option.

The proposed solution is to add a confdefs.h configure option that enables this behavior when the OSS UoC (e.g. operating system) must provide FACE conformant behavior. When not defined, the POSIX behavior will be in effect.

This will require additions to the confdefs.h family of headers, adding a test, and updating documentation.

[1] POSIX timer_create - https://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_create.html

[2] FACE Technical Standard, Edition 1.0. January 2012. https://publications.opengroup.org/c122.

[3] FACE Technical Standard, Edition 3.1. July 2020. https://publications.opengroup.org/c207.

Author: Chris Johns

2022-08-02T01:24:38.000Z

What structure and naming convention do you propose for confdefs.h?

Could I configure the following to get all FACE related configures enabled:

#define CONFIGURE_FACE

?

Author: Trac Migrate

2022-08-10T19:07:27.000Z

In [changeset:”4b04589b097896795648de38b1e9bbc7570d9696/rtems” 4b04589b/rtems]:

Add support for CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR

This adds the configure option CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR
which allows the application to choose whether to have the POSIX
timer_create() function follow the behavior defined by POSIX or
the FACE Technical Standard.

Updates #4691.

Author: Trac Migrate

2022-08-11T05:46:29.000Z

In [changeset:”c655c72d052cfc76aa1c62e3c25d0a05a7b55461/rtems” c655c72d/rtems]:

build/cpukit: Add confdefs/face.h to install rule

Updates #4691

Author: Trac Migrate

2022-08-11T18:01:47.000Z

In [changeset:”996d18c2125aa5fd8ad05db44fdbe7e867841731/rtems” 996d18c/rtems]:

psxtimer_face01: Improve coverage and documentation

Updates #4691.

Author: Trac Migrate

2022-08-31T11:09:53.000Z

In [changeset:”b3d2e3fefe382ac2b26512f16d414cbfb93fc8f2/rtems” b3d2e3fe/rtems]:

config: Include <rtems/posix/timer.h> on demand

Updates #4691.

Author: Trac Migrate

2022-09-05T06:47:03.000Z

In [changeset:”b1fd62357742decea316972fd15d475606ee6009/rtems-central” b1fd623/rtems-central]:

Add POSIX Timer FACE Behavior Configuration

Updates #4691.

Author: Trac Migrate

2022-09-05T06:47:04.000Z

In [changeset:”1a5be0d04da65e20d4af60f1557afe1dfc549471/rtems-central” 1a5be0d/rtems-central]:

spec: Add glossary link

Updates #4691.

Author: Trac Migrate

2022-09-05T06:48:21.000Z

In [changeset:”b06ec5b6d7e21a81b7d6de24ac817dfbf3051702/rtems” b06ec5b6/rtems]:

config: Document CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR

Update #4691.

Author: Trac Migrate

2022-09-05T06:53:06.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”4f9e9e522f2eee484edffe9d220ae6717367b95b/rtems-docs” 4f9e9e5/rtems-docs]:

c-user/config/face.rst: New file -- add CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR

Closes #4691.

Author: Amar Takhar

2024-04-25T20:49:59.630Z

changed the description

4690 - CLOCK_REALTIME thread queue not updated as part of clock_settime call

Id

4690

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-08-01T04:22:51.000Z

Updated

2024-04-25T20:49:58.975Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4690

Merges

0

Setting the CLOCK_REALTIME clock using clock_settime(CLOCK_REALTIME, , ) clock does not update thread relative period entries on the watchdog timer queue.

A system’s stability is effected if a user calls clock_settime on the CLOCK_REALTIME clock. The watchdog’s REALTIME clock queue is references against the realtime clock and movement of the time means

The effected parts are:

  1. User C code that calls nanosleep, usleep, sleep or clock_nanosleep(CLOCK_REALTIME, , ).

  2. User C++ code that uses std::this_thread::sleep_for() as GCC uses the nanosleep() call.

  3. LibBSD uses CLOCK_REALTIME.

The nanosleep rational. The nanosleep clock must be CLOCK_REALTIME. The clock_settime standard says:

Setting the value of the CLOCK_REALTIME clock via clock_settime() shall have no effect on threads that are blocked waiting for a relative time service based upon this clock, including the nanosleep() function; nor on the expiration of relative timers based upon this clock. Consequently, these time services shall expire when the requested relative interval elapses, independently of the new or old value of the clock.

Author: Chris Johns

2022-08-01T04:23:04.000Z

  • Summary changed from CLOCK_REALTIME thread queue no updated as part of clock_settime call to CLOCK_REALTIME thread queue not updated as part of clock_settime call

Author: Chris Johns

2022-08-01T06:56:47.000Z

The attached test checks the times. It will show the failure however it does not pass the initial check because the expected ticks is not the actual ticks. The failure is:

Clock settime while sleeping: step=0
clock: nanosleep: sec=0 nsec=500000000 ticks=51 expected-ticks=50
../../../testsuites/psxtests/psxclock/init.c: 120 ctx->ticks == ticks

Should the ticks the sleeper sees be 51 or 50?

Author: Chris Johns

2022-08-01T08:07:48.000Z

testsuites/psxtests/psxclock/init.c

Author: Chris Johns

2022-08-02T00:53:45.000Z

Replying to Chris Johns:

The attached test checks the times. It will show the failure however it does not pass the initial check because the expected ticks is not the actual ticks. The failure is: {{{ Clock settime while sleeping: step=0 clock: nanosleep: sec=0 nsec=500000000 ticks=51 expected-ticks=50 ../../../testsuites/psxtests/psxclock/init.c: 120 ctx->ticks == ticks }}} Should the ticks the sleeper sees be 51 or 50?

https://lists.rtems.org/pipermail/devel/2022-August/072735.html

The extra 1 is needed.

Author: Trac Migrate

2022-08-04T05:47:27.000Z

In [changeset:”c64c638f6dee6c0e92804bbe378ff91cc75f620e/rtems” c64c638/rtems]:

posix: Fix relative CLOCK_REALTIME sleep

A relative CLOCK_REALTIME time out shall not be affected by CLOCK_REALTIME
changes through clock_settime().  Since our CLOCK_REALTIME is basically just
CLOCK_MONOTONIC plus an offset, we can simply use the CLOCK_MONOTONIC watchdog
for relative CLOCK_REALTIME time outs.

Update #4690.

Author: Trac Migrate

2022-08-04T05:53:26.000Z

In [changeset:”11121d0280b9f8ebb45d3793f14e10cd4062c4bf/rtems-central” 11121d0/rtems-central]:

spec: Fix relative CLOCK_REALTIME sleep

A relative CLOCK_REALTIME time out shall not be affected by CLOCK_REALTIME
changes through clock_settime().  Since our CLOCK_REALTIME is basically just
CLOCK_MONOTONIC plus an offset, we can simply use the CLOCK_MONOTONIC watchdog
for relative CLOCK_REALTIME time outs.

Update #4690.

Author: Trac Migrate

2022-08-04T21:48:28.000Z

  • Owner set to Chris Johns <chrisj@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1a883b9b55ab720fc90d2d62c92419601cb57fd2/rtems” 1a883b9/rtems]:

testsuite/psxclock: Check setting realtime clock does not effect sleeping tasks

Closes #4690

Author: Trac Migrate

2022-08-05T06:12:49.000Z

In [changeset:”c3c4525a322a29d596861b5fe5aceb0adbfa49c0/rtems” c3c4525/rtems]:

posix: Avoid dead code in clock_nanosleep()

This issue was reported by Coverity Scan for RTEMS:

CID 1507760: Control flow issues (DEADCODE)

Closes #4690.

Author: Amar Takhar

2024-04-25T20:49:59.090Z

changed the description

4680 - POSIX tasks cancelled through rtems_task_delete() should have an exit value of PTHREAD_CANCELED

Id

4680

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-07-19T08:23:19.000Z

Updated

2024-04-25T20:49:58.536Z

Milestone

6.1

Labels

api::posix, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4680

Merges

0

Original author: sebastian.huber

The rtems_task_delete() directive is basically just a combined pthread_cancel() and pthread_join(). In addition, it removes the PTHREAD_DETACHED state. The exit value returned by pthread_join() of threads cancelled by rtems_task_delete() should reflect this by getting a PTHREAD_CANCELED value and not NULL.

Author: Trac Migrate

2022-07-28T05:45:21.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”8a864bc62cd57fbd6dd35141e5beb582de9b7bff/rtems” 8a864bc6/rtems]:

score: Use PTHREAD_CANCELED for _Thread_Cancel()

The rtems_task_delete() directive is basically just a combined pthread_cancel()
and pthread_join().  In addition, it removes the PTHREAD_DETACHED state.  The
exit value returned by pthread_join() of threads cancelled by
rtems_task_delete() should reflect this by getting a PTHREAD_CANCELED value
instead of NULL which could be a normal exit value.

Close #4680.

Author: Amar Takhar

2024-04-25T20:49:58.575Z

changed the description

4679 - Use priority inheritance for thread join

Id

4679

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-07-19T06:40:24.000Z

Updated

2024-04-25T20:49:58.081Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4679

Merges

0

Original author: sebastian.huber

Threads may join the thread termination of another thread using the pthread_join() or rtems_task_delete() directives. Currently, the thread cancel operation uses a special case priority boosting mechanism:

static void _Thread_Raise_real_priority(
Thread_Control   *the_thread,
Priority_Control  priority
)
{
Thread_queue_Context queue_context;

_Thread_queue_Context_initialize( &queue_context );
_Thread_queue_Context_clear_priority_updates( &queue_context );
_Thread_Wait_acquire( the_thread, &queue_context );

if ( priority < the_thread->Real_priority.priority ) {
_Thread_Priority_change(
the_thread,
&the_thread->Real_priority,
priority,
PRIORITY_GROUP_LAST,
&queue_context
);
}

_Thread_Wait_release( the_thread, &queue_context );
_Thread_Priority_update( &queue_context );
}

The problem is that this approach is not transitive, it does not account for priority adjustments of the calling task while waiting for the join, clustered scheduling is not supported, and deadlocks are not detected. All these problems are fixed by using a priority inheritance thread queue for the join operation.

Author: Trac Migrate

2022-07-19T06:44:07.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- Threads may join the thread termination of another thread using the `pthread_join()` or `rtems_task_delete()` directives. Currently, the thread join operation uses a special case priority boosting mechanism:
?                                                                                                                                                 ^^^^^^^^^^^^^^

+ Threads may join the thread termination of another thread using the `pthread_join()` or `rtems_task_delete()` directives. Currently, the thread cancel operation uses a special case priority boosting mechanism:
?                                                                                                                                                 ^^^^^^^^^^^^^^^^

{{{#!c
static void _Thread_Raise_real_priority(
Thread_Control   *the_thread,
Priority_Control  priority
)
{
Thread_queue_Context queue_context;

_Thread_queue_Context_initialize( &queue_context );
_Thread_queue_Context_clear_priority_updates( &queue_context );
_Thread_Wait_acquire( the_thread, &queue_context );

if ( priority < the_thread->Real_priority.priority ) {
_Thread_Priority_change(
the_thread,
&the_thread->Real_priority,
priority,
PRIORITY_GROUP_LAST,
&queue_context
);
}

_Thread_Wait_release( the_thread, &queue_context );
_Thread_Priority_update( &queue_context );
}
}}}
The problem is that this approach is not transitive, it does not account for priority adjustments of the calling task while waiting for the join, clustered scheduling is not supported, and deadlocks are not detected. All these problems are fixed by using a priority inheritance thread queue for the join operation.

Author: Trac Migrate

2022-07-28T05:36:09.000Z

Original author: sebastian.huber

In [changeset:”81fd510a5cd92998f0a3ec65ce88d057e33da91d/rtems-docs” 81fd510/rtems-docs]:

c-user: Document task life states

Update #4679.

Author: Trac Migrate

2022-07-28T05:36:11.000Z

Original author: sebastian.huber

In [changeset:”f4377b4479efdefc37f0e84c88568318eb89a9d2/rtems-docs” f4377b4/rtems-docs]:

c-user: Document new rtems_task_delete() behaviour

Update #4679.

Author: Trac Migrate

2022-07-28T05:45:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”31036f1dc8a963fb0bc3fc103f63028988314fea/rtems” 31036f1d/rtems]:

score: Use priority inheritance for thread join

Threads may join the thread termination of another thread using the
pthread_join() or rtems_task_delete() directives.  The thread cancel operation
used a special case priority boosting mechanism implemented by
_Thread_Raise_real_priority().  The problem was that this approach

* is not transitive,

* does not account for priority adjustments of the calling task
while waiting for the join,

* does not support clustered scheduling, and

* does not detect deadlocks.

All these problems are fixed by using a priority inheritance thread queue for
the join operation.

Close #4679.

Author: Amar Takhar

2024-04-25T20:49:58.123Z

changed the description

4678 - System initialization time increased compared to RTEMS 4.11

Id

4678

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-07-15T06:24:41.000Z

Updated

2024-04-25T20:49:57.650Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4678

Merges

0

Original author: sebastian.huber

Since RTEMS 5, the objects based on Objects_Control are statically allocated in the .bss sections. The zero-initialization is unnecessary since each object is fully initialized after allocation by an object-specific initialization routine. The memory for objects is statically allocated or allocated from the workspace if the unlimited objects configuration option is used. Workspace memory is uninitialized by default. Optimize the static allocation to place the object controls, local tables, and thread queue heads into a .noinit section.

The longer system initialization time compared to RTEMS 4.11 may lead to hardware watchdog problems.

Author: Trac Migrate

2022-07-15T06:26:19.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

Since RTEMS 5, the objects based on Objects_Control are statically allocated in the .bss sections.  The zero-initialization is unnecessary since each object is fully initialized after allocation by an object-specific initialization routine. The memory for objects is statically allocated or allocated from the workspace if the unlimited objects configuration option is used. Workspace memory is uninitialized by default. Optimize the static allocation to place the object controls, local tables, and thread queue heads into a .noinit section.
+
+ The longer system initialization time compared to RTEMS 4.11 may lead to hardware watchdog problems.

Author: Trac Migrate

2022-07-15T08:42:56.000Z

Original author: sebastian.huber

In [changeset:”5ed0035377d62da7d33072f10ea04ede27422455/rtems” 5ed00353/rtems]:

bsps: Sort .noinit* sections

Sort the .noinit* input sections by name first, then by alignment if two
sections have the same name.  This allows the placement of begin/end symbols to
initialize some areas with a special value.

Update #4678.

Author: Trac Migrate

2022-07-15T08:42:58.000Z

Original author: sebastian.huber

In [changeset:”4b911a7516750ef1c43f9dc387e0206e1086623b/rtems” 4b911a75/rtems]:

score: Place object controls into .noinit sections

Place the statically allocated object control blocks, local tables, and thread
queue heads into the dedicated .noinit intput sections.  The output section is
not zero initialized.  Placing these elements into the .noinit section reduces
the system initialization time by decreasing the .bss section size.

It may improve the cache efficiency since the mostly read local tables are
placed in a contiguous memory area.

Update #4678.

Author: Trac Migrate

2022-07-15T08:43:01.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”1bf878f7ff6013fe4a0172f0493fcc47b9e26189/rtems” 1bf878f7/rtems]:

score: Extend memory dirty/zero actions

Dirty or zero also the part of the .noinit section used by RTEMS.

Close #4678.

Author: Trac Migrate

2022-07-18T13:45:02.000Z

Original author: sebastian.huber

In [changeset:”0e5f4c5d323c54fa3db927f33117a5c6354853ee/rtems” 0e5f4c5/rtems]:

spsysinit01: Account for use of .noinit section

The objects control blocks cannot be used to check the pre-initialization state
since they are allocated in a .noinit section.

Update #4678.

Author: Trac Migrate

2022-07-20T06:38:51.000Z

Original author: sebastian.huber

In [changeset:”25ccc19ae929b38fe42cd7350ba82af42e01d598/rtems” 25ccc19/rtems]:

bsps/riscv: Sort .noinit* sections

Sort the .noinit* input sections by name first, then by alignment if two
sections have the same name.  This allows the placement of begin/end symbols to
initialize some areas with a special value.

Update #4678.

Author: Trac Migrate

2022-07-27T06:51:59.000Z

Original author: sebastian.huber

In [changeset:”2501c64bb6654f5e4290709e0d83b94bfe51973f/rtems” 2501c64b/rtems]:

score: Fix objects local table initialization

The objects local table must be statically zero-initialized so that
_Objects_Get() and _Objects_Get_no_protection() return NULL if no object is
associated with the identifier.

Update #4678.

Author: Trac Migrate

2022-07-28T06:50:25.000Z

Original author: sebastian.huber

In [changeset:”6a6580331df3e09516d50f37d4dd5fd57825c08a/rtems” 6a65803/rtems]:

score: Allow linker garbage collection

Place the object control blocks in dedicated sections to allow a linker garbage
collection.

Update #4678.

Author: Trac Migrate

2022-08-01T07:07:39.000Z

Original author: sebastian.huber

In [changeset:”4d77f725ca6517545397dc69152978d3c99218ae/rtems” 4d77f725/rtems]:

sp54: Fix test case

Since commit 6a6580331df3e09516d50f37d4dd5fd57825c08a, the local table is
zero-initialized.  Use an initial object control block instead.

Update #4678.

Author: Amar Takhar

2024-04-25T20:49:57.688Z

changed the description

4672 - Thread-local storage should be usable once an idle thread exists

Id

4672

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-06-29T09:13:44.000Z

Updated

2024-04-25T20:49:56.718Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4672

Merges

0

Original author: sebastian.huber

At some point during system initialization the idle threads are created. Afterwards the boot processor basically executes within the context of an idle thread with thread dispatching disabled. On some architectures, the thread-local storage state must be applied to processor registers. Add a new CPU port function to do this: _CPU_Use_thread_local_storage( Context_Control *executing ).

Author: Trac Migrate

2022-07-04T06:03:20.000Z

Original author: sebastian.huber

In [changeset:”d07d6498c64a5d9a5bb31ade0e06a6416b468af3/rtems” d07d6498/rtems]:

samples/cdtest: Test exceptions during system init

Update #4668.
Update #4672.

Author: Trac Migrate

2022-07-05T05:38:53.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”03e4d1e931cdd6582ccc92b3a4dc883b446b5647/rtems” 03e4d1e9/rtems]:

score: Add _CPU_Use_thread_local_storage()

At some point during system initialization, the idle threads are created.
Afterwards, the boot processor basically executes within the context of an idle
thread with thread dispatching disabled.  On some architectures, the
thread-local storage area of the associated thread must be set in dedicated
processor registers.  Add the new CPU port function to do this:

void _CPU_Use_thread_local_storage( const Context_Control *context )

Close #4672.

Author: Amar Takhar

2024-04-25T20:49:56.756Z

changed the description

4669 - clock_nanosleep() uses the wrong clock to determine the start time point

Id

4669

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-06-22T08:51:14.000Z

Updated

2024-04-25T20:49:56.210Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4669

Merges

0

Original author: sebastian.huber

See gcc-patches mailing list:

On 22/06/2022 08:22, Sebastian Huber wrote:


  On 22/06/2022 08:01, Alexandre Oliva via Gcc-patches wrote:


    On rtems under qemu, the frequently-interrupted nanosleep ends up
    sleeping shorter than expected, by a margin of less than 0,3%.
    I figured failing the library test over a system (emulator?) bug is
    undesirable, so I put in some tolerance for the drift.
    Regstrapped on x86_64-linux-gnu, also tested with a cross to
    aarch64-rtems6.  Ok to install?
    PS: I see nothing wrong with the implementation of clock_nanosleep (used
    by nanosleep) on rtems6 that could cause it to wake up too early.  I
    suspect some artifact of the emulation environment.
    for  libstdc++-v3/ChangeLog
    * testsuite/30_threads/this_thread/60421.cc: Tolerate a
    slightly early wakeup.
    ---
    .../testsuite/30_threads/this_thread/60421.cc      |    3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)
    diff --git a/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc b/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
    index 12dbeba1cc492..f3a5af453c4ad 100644
    --- a/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
    +++ b/libstdc++-v3/testsuite/30_threads/this_thread/60421.cc
    @@ -51,9 +51,10 @@ test02()
    std::thread t([&result, &sleeping] {
    auto start = std::chrono::system_clock::now();
    auto time = std::chrono::seconds(3);
    +    auto tolerance = std::chrono::milliseconds(10);
    sleeping = true;
    std::this_thread::sleep_for(time);
    -    result = std::chrono::system_clock::now() >= (start + time);
    +    result = std::chrono::system_clock::now() + tolerance >= (start + time);
    sleeping = false;
    });
    while (!sleeping)


  This looks like a bug in RTEMS or the BSP for the test platform. I would first investigate this and then change the test which looks all right to me.

  This is a problem in RTEMS. RTEMS uses the FreeBSD timecounters to maintain CLOCK_REALTIME and provides two methods to get the time in a coarse and fine resolution. The std::chrono::system_clock::now() uses the fine resolution (higher overhead). The clock_nanosleep() uses the coarse resolution which may give a time before now().

Author: Trac Migrate

2022-06-23T07:04:18.000Z

Original author: sebastian.huber

  • Cc added @oliva@gnu.org

Author: Trac Migrate

2022-06-23T07:14:50.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”cd50bea678baa494640415377f7be146246ba3e4/rtems” cd50bea/rtems]:

score: Use right clock for threadq timeouts

Use CLOCK_REALTIME and CLOCK_MONOTONIC for relative thread queue timeouts
instead of CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE.  This fixes an
issue with clock_nanosleep() in combination with clock_gettime().

Close #4669.

Author: Trac Migrate

2022-06-23T07:38:39.000Z

Original author: sebastian.huber

In [changeset:”8c8ee47113eff24b3f583509d3bbbf6d1c496947/rtems-central” 8c8ee47/rtems-central]:

spec: Adjust clock_nanosleep() test case

Update #4669.

Author: Amar Takhar

2024-04-25T20:49:56.314Z

changed the description

4668 - Use thread-local storage in libstdc++

Id

4668

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-06-22T05:56:28.000Z

Updated

2024-04-25T20:49:55.757Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, tool::gcc, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4668

Merges

0

Original author: sebastian.huber

Fix the libstdc++ configuration so that TLS is used on targets with TLS support. Using TLS is more robust against shortages of system resources which lead to unexpected behaviour.

Author: Trac Migrate

2022-06-22T05:57:29.000Z

Original author: sebastian.huber

Author: Trac Migrate

2022-07-04T06:03:20.000Z

Original author: sebastian.huber

In [changeset:”d07d6498c64a5d9a5bb31ade0e06a6416b468af3/rtems” d07d6498/rtems]:

samples/cdtest: Test exceptions during system init

Update #4668.
Update #4672.

Author: Trac Migrate

2022-08-08T10:53:13.000Z

Original author: sebastian.huber

Author: Trac Migrate

2022-08-08T10:53:33.000Z

Original author: sebastian.huber

Author: Trac Migrate

2022-08-17T04:55:33.000Z

Original author: sebastian.huber

In [changeset:”4fd9fbd7c90c66dcce70e97a5c863dc89d0db2e3/rtems-source-builder” 4fd9fbd/rtems-source-builder]:

6: Enable some libstdc++ features

Enable TLS support for all RTEMS targets except bfin, lm32, m68k, mips, moxie,
or1k, and v850.  For all RTEMS targets, define HAVE_ALIGNED_ALLOC,
HAVE_AT_QUICK_EXIT, HAVE_LINK, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV,
HAVE_SLEEP, HAVE_STRERROR_L, HAVE_SYMLINK, HAVE_TRUNCATE, and HAVE_USLEEP.

Update #4668.

Author: Trac Migrate

2022-09-08T05:24:43.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Integrated in GCC master branch and RSB for GCC 10 and 12 as patches.

Author: Amar Takhar

2024-04-25T20:49:55.801Z

changed the description

4667 - include/sys/_bitset.h defines struct bitset, pollutes namespace

Id

4667

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-06-22T04:10:04.000Z

Updated

2024-04-25T20:49:55.310Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, qualification, resolution::fixed, tickettype::defect, tool::newlib, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4667

Merges

0

Original author: aoliva

sys/_bitset.h gets indirectly (*) included by sys/types.h, and should thus define only names that C and C++ standards reserve for the implementation. However, the line:

BITSET_DEFINE(bitset, 1);

expands to a definition of struct bitset in the global namespace.

Some of GCC’s libstdc++ tests were failing on aarch64-rtems6.0 because of the naming ambiguity that arises. https://gcc.gnu.org/pipermail/gcc-patches/2022-June/596918.html

It would be best if user programs didn’t have to resort to such trickery. In C++, it’s not so hard; in C, it can be trickier.

I have not checked whether this struct bitset is actually used for any purpose on aarch64-rtems, or whether it’s present on other ports. Maybe it could just be removed or renamed? Maybe upstream (FreeBSD?) would consider dropping it?

(*) sys/types.h includes sys/_pthreadtypes.h includes sys/cpuset.h includes sys/_cpuset.h includes sys/_bitset.h

Author: Trac Migrate

2022-06-22T06:53:40.000Z

Original author: aoliva

It seems the namespace pollution is already fixed in FreeBSD. We have to add the FreeBSD patches to Newlib.

Author: Trac Migrate

2022-06-22T08:23:03.000Z

Original author: aoliva

  • Owner set to sebastian.huber

  • Status changed from new to accepted

Author: Trac Migrate

2022-06-24T05:32:25.000Z

Original author: aoliva

In [changeset:”89e910f1aa44b6ebd7d70def336a907137f1e7f8/rtems” 89e910f1/rtems]:

spcpuset01: Account for <sys/cpuset.h> API changes

Update #4667.

Author: Trac Migrate

2022-06-24T05:32:27.000Z

Original author: aoliva

In [changeset:”a76988c881d84c394478a9e02689aed5e19f8763/rtems” a76988c/rtems]:

score: Remove unused _Processor_mask_Nand()

Update #4667.

Author: Trac Migrate

2022-06-24T05:32:29.000Z

Original author: aoliva

In [changeset:”ba56e23999af3d31defb3b4977ef388022ddc12b/rtems” ba56e239/rtems]:

score: Account for <sys/bitset.h> API changes

Update #4667.

Author: Trac Migrate

2022-06-24T09:47:44.000Z

Original author: aoliva

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”5295c711ca8efaaa85134dd90991ee824f79fb16/rtems-source-builder” 5295c711/rtems-source-builder]:

6/7: Update Newlib

This Newlib update fixes a namespace pollution issue with <sys/bitset.h>.

Close #4667.

Author: Trac Migrate

2022-06-30T15:33:56.000Z

Original author: aoliva

In [changeset:”9a88b07c3376a716ed9e9a42624e24ed00ca7783/rtems-libbsd” 9a88b07/rtems-libbsd]:

user-space: Request FreeBSD bitset API

This is required for recent Newlib versions.

Update #4667.

Author: Trac Migrate

2022-06-30T15:34:20.000Z

Original author: aoliva

In [changeset:”f009252227957e340ba822effbf7a73a57523756/rtems-libbsd” f009252/rtems-libbsd]:

user-space: Request FreeBSD bitset API

This is required for recent Newlib versions.

Update #4667.

Author: Trac Migrate

2022-07-01T12:34:37.000Z

Original author: aoliva

In [changeset:”c8f49c22d0429ba1bed256ed665645fe91a2227c/rtems-source-builder” c8f49c2/rtems-source-builder]:

6/7: Update Newlib

This Newlib update fixes a FreeBSD kernel space issue with <sys/cpuset.h>.

Update #4667.

Author: Amar Takhar

2024-04-25T20:49:55.356Z

changed the description

4662 - Fix GCC 12 warnings

Id

4662

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-06-08T04:12:05.000Z

Updated

2024-04-25T20:49:54.396Z

Milestone

6.1

Labels

priority::highest, priority::normal, qualification, resolution::fixed, tickettype::defect, tool::gcc, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4662

Merges

0

The move to GCC 12 has resulted in an increase in the number of warning. This ticket covers fixing these warning.

Author: Chris Johns

2022-06-13T22:22:46.000Z

In [changeset:”66dc06efcefcd4ea5b5981f81c371ae30633c6ad/rtems” 66dc06e/rtems]:

bsp/aarch64: Fix array warning

Updates #4664

Author: Trac Migrate

2022-06-15T02:56:27.000Z

In [changeset:”5262b9c2ab43373ff03d31543c9c2ea72ae9ad51/rtems” 5262b9c/rtems]:

score/cpu: Silence ARM and AARCH64 GCC 12 false trigger array warning

The false trigger is covered in:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578

GCC 11 and 12 has been patched for constant pointer casts above
4K. This code casts a constant pointer within the first 4K
page. As a result the patch disables the warning.

Updates #4662

Author: Trac Migrate

2022-06-15T02:56:30.000Z

In [changeset:”0cf0914efef17832ac963cc144f7288845d9b883/rtems” 0cf0914/rtems]:

cpukit: Change _COMPILING_NEWLIB to _LIBC for helper functions decls

Updates #4662

Author: Chris Johns

2022-06-20T00:39:36.000Z

The rtems/test.h code has a few warnings that are confusing:

In file included from ../../../testsuites/libtests/ttest01/test-leak.c:1:
../../../cpukit/include/rtems/test.h: In function 'T_case_body_missing_free':
../../../cpukit/include/rtems/test.h:225:9: warning: 'p' may be used uninitialized [-Wmaybe-uninitialized]
225 |         T_check_not_null(&T_check_instance, a);                         \\
|         ^~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/test.h:219:6: note: by argument 2 of type 'const void *' to 'T_check_not_null' declared here
219 | void T_check_not_null(const T_check_context_msg *, const void *);
|      ^~~~~~~~~~~~~~~~

There are some more. Why does the code have tabs? It makes it difficult to update.

Author: Chris Johns

2022-06-20T01:19:56.000Z

The warning in comment:4 looks similar to:

[3173/4451] Compiling testsuites/psxtests/psxkey07/init.c
../../../testsuites/psxtests/psxkey07/init.c: In function 'Test_Thread':
../../../testsuites/psxtests/psxkey07/init.c:59:8: warning: 'value_p' may be used uninitialized [-Wmaybe-uninitialized]
59 |   sc = pthread_setspecific( Key, value_p );
|        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../testsuites/psxtests/psxkey07/init.c:34:
/opt/work/rtems/6/arm-rtems6/include/pthread.h:309:9: note: by argument 2 of type 'const void *' to 'pthread_setspecific' declared here
309 | int     pthread_setspecific (pthread_key_t __key, const void *__value);
|         ^~~~~~~~~~~~~~~~~~~

The code is also similar to the comment:4 test case:

int *value_p, *value_p2;

value_p = malloc( sizeof( int ) );
rtems_test_assert(value_p != NULL);

Note, I added the NULL assert. Is this a false trigger for gcc 12 or something related to the malloc decl?

Author: Chris Johns

2022-06-20T01:30:06.000Z

There are a number of validation warnings. This is the bug notice of these warning as per the header.

Author: Chris Johns

2022-08-03T07:18:28.000Z

I would prefer not to have to touch this trail:

../../../cpukit/score/src/percpudata.c: In function '_Per_CPU_Data_initialize':
../../../cpukit/score/src/percpudata.c:88:7: warning: 'memcpy' offset 0 is out of the bounds [0, 0] of object '_Linker_set__Per_CPU_Data_begin' with type 'char[0]' [-Warray-bounds]
88 |       memcpy( cpu->data, RTEMS_LINKER_SET_BEGIN( _Per_CPU_Data ), size);
|       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../cpukit/include/rtems/score/percpudata.h:41,
from ../../../cpukit/score/src/percpudata.c:41:
../../../cpukit/include/rtems/linkersets.h:38:3: note: '_Linker_set__Per_CPU_Data_begin' declared here
38 |   _Linker_set_##set##_begin
|   ^~~~~~~~~~~~
../../../cpukit/include/rtems/linkersets.h:95:39: note: in expansion of macro 'RTEMS_LINKER_SET_BEGIN'
95 |   RTEMS_LINKER_SET_ALIGN( type ) type RTEMS_LINKER_SET_BEGIN( set )[ 0 ] \\
|                                       ^~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/score/src/percpudata.c:49:1: note: in expansion of macro 'RTEMS_LINKER_RWSET'
49 | RTEMS_LINKER_RWSET(
| ^~~~~~~~~~~~~~~~~~

Built with config.ini:

[DEFAULT]
RTEMS_DEBUG = True
RTEMS_POSIX_API = True

[arm/xilinx_zynq_a9_qemu]
RTEMS_SMP = True
BUILD_TESTS = True

Author: Chris Johns

2022-08-03T07:44:09.000Z

This warning looks like a bug in our heap allocator:

../../../testsuites/libtests/malloctest/init.c: In function 'test_early_malloc':                                                                                                                     |                                                                                                                                                                                                      |
../../../testsuites/libtests/malloctest/init.c:1531:7: warning: pointer 'q' used after 'free' [-Wuse-after-free]                                                                                     |  r = realloc( q, 128 );                                                                                                                                                                              |/**
1531 |   r = realloc( q, 128 );                                                                                                                                                                     |  rtems_test_assert( r == q );                                                                                                                                                                        |-=--:----F1  libio_.h       12% (110,15)  Git-master  (C++//l Abbrev) [ruru] ------------------------------------------------------------------------------------------------------------------------
|       ^~~~~~~~~~~~~~~~~                                                                                                                                                                      |                                                                                                                                                                                                      | * defined state even if no root file system was mounted.
../../../testsuites/libtests/malloctest/init.c:1529:3: note: call to 'free' here                                                                                                                     |  s = malloc( 1 );                                                                                                                                                                                    | */
1529 |   free( q );                                                                                                                                                                                 |  rtems_test_assert( s != NULL );                                                                                                                                                                     |extern rtems_filesystem_global_location_t rtems_filesystem_global_location_null;
|   ^~~~~~~~~                                                                                                                                                                                  |                                                                                                                                                                                                      |

The pointer q has been free so I am wondering if the realloc works because the same block in the heap is allocated?

Author: Chris Johns

2022-08-03T10:18:25.000Z

I think this warning is due to the pointer being captured in a static const variable:

In file included from ../../../testsuites/libtests/ttest01/test-leak.c:1:
../../../cpukit/include/rtems/test.h: In function 'T_case_body_missing_free':
../../../cpukit/include/rtems/test.h:225:9: warning: 'p' may be used uninitialized [-Wmaybe-uninitialized]
225 |         T_check_not_null(&T_check_instance, a);                         \\
|         ^~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/test.h:219:6: note: by argument 2 of type 'const void *' to 'T_check_not_null' declared here
219 | void T_check_not_null(const T_check_context_msg *, const void *);
|      ^~~~~~~~~~~~~~~~

It should be OK so I am wondering if this is a false warning?

Author: Chris Johns

2022-08-03T10:24:17.000Z

Replying to Chris Johns:

I think this warning is due to the pointer being captured in a static const variable: The pointer is not part of the static const data.

Author: Trac Migrate

2022-08-04T21:48:31.000Z

In [changeset:”46131ce0e182114285cc7e98ec4843c04b8a5a86/rtems” 46131ce0/rtems]:

libdl: Fix warnings on 64bit architectures

Updates #4662

Author: Trac Migrate

2022-08-04T21:48:34.000Z

In [changeset:”c36d6080796cf5ae0a8b2db7e07e20bfae11fbea/rtems” c36d608/rtems]:

testsuite: Fix warnings

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:14.000Z

In [changeset:”ec7d6c092f6135eef4d0da2048034fd2a7c0856d/rtems” ec7d6c0/rtems]:

threads.h: Add pragmas to get rid of gcc 12 errors

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:17.000Z

In [changeset:”f930206724e65f188fe3b095826ceb1b11000f65/rtems” f9302067/rtems]:

linkersets.h: Fix gcc 12 warning

Changing the offset from 0 to 1 got rid of a warning stating that offset 0 is
out of bounds.

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:19.000Z

In [changeset:”df3fa4e0056aa46a4323ccc06fdffef1e1ffe721/rtems” df3fa4e0/rtems]:

interr.h: Fix gcc 12 warning

The warning that this fixes states that "ISO C restricts enumerator values to
range of 'int'."

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:21.000Z

In [changeset:”c55bd160377f52548a9be1dea1a1261213fcd830/rtems” c55bd160/rtems]:

percpu.h: Add pragma for gcc 12 warning

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:23.000Z

In [changeset:”5b875915152a248079855bcb98e871f70ac314cc/rtems” 5b875915/rtems]:

schedulerpriority.h: Fix gcc 12 warning

Changed the size of the array to 1 to get rid of the warning.

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:26.000Z

In [changeset:”9e2289785b7a12684d96c72e219523e2810f0f10/rtems” 9e228978/rtems]:

test.h: Add pragma for gcc 12 warning

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:28.000Z

In [changeset:”b092ad57e2adddb00411147c7644344c874a0ae4/rtems” b092ad57/rtems]:

cpu.h: Fix gcc 12 warnings

Added two pragmas to address, and changed the value of
AARCH64_EXCEPTION_MAKE_ENUM_64_BIT to INT_MAX because the old value was not
in range of an int.

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:30.000Z

In [changeset:”dc0dcccf419c8edcdcd673e019e9ebffbddc59b0/rtems” dc0dccc/rtems]:

dl09/dl-load.c: Fix gcc 12 warning

Changed format of size_t variable being printed.

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:33.000Z

In [changeset:”a447b9b377ac77e0cd9604b61451821967cf017d/rtems” a447b9b3/rtems]:

malloctest/init.c: Added pragmas to address gcc 12 warnings

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:35.000Z

In [changeset:”978022eeb0b7f01d84a32df78e37cdddcc2d780a/rtems” 978022ee/rtems]:

ttest01/test-checks.c: Initialize variables

These uninitialized variables were causing warnings to be generated.

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:37.000Z

In [changeset:”f60f349d8629a2f0db0384c513cff1aad586ede0/rtems” f60f349/rtems]:

psxclock/init.c: Change print format for warning

Updates #4662

Author: Trac Migrate

2022-08-19T20:46:39.000Z

In [changeset:”f045b9ddd82108215a985bfcc6f2c0f604a6b24c/rtems” f045b9d/rtems]:

psxkey07/init.c: Add pragma for gcc 12 warning

Updates #4662

Author: Trac Migrate

2022-08-30T04:50:29.000Z

In [changeset:”c2269908364cd60f78ba5aa747f9082a168e459b/rtems” c226990/rtems]:

score: Do not expose <limits.h> to <rtems.h>

The <rtems.h> header file should not unnecessarily include standard C
header files.  The <string.h> and <limits.h> header includes were
removed in 2017.

Update #4662.

Author: Trac Migrate

2022-08-30T05:32:54.000Z

In [changeset:”44b3bc65af947e45482dd47c5d86747114310aa6/rtems” 44b3bc65/rtems]:

validation: Fix use of uninitialized variables

Update #4662.

Author: Trac Migrate

2022-08-30T13:11:48.000Z

In [changeset:”c1453c6f9c05bfac4066bc7a37a8087d9ff1cdcf/rtems-central” c1453c6/rtems-central]:

spec: Fix warnings in validation code

Update #4662.

Author: Trac Migrate

2022-08-31T11:12:58.000Z

In [changeset:”1be6dc18d33bc026f64e8244c66792c30b88b130/rtems” 1be6dc18/rtems]:

libtest: Fix warnings without a pragma

It seems that recent GCC versions expect that functions with a "const type *"
parameter will read from the referenced location.

Update #4662.

Author: Trac Migrate

2022-08-31T11:13:00.000Z

In [changeset:”dad6d32271ea919e18abe3e18496ea88e282c53c/rtems” dad6d322/rtems]:

Fix pedanic warnings without a storage increase

Use RTEMS_ZERO_LENGTH_ARRAY for flexible array member.

Update #4662.

Author: Trac Migrate

2022-09-09T05:59:44.000Z

In [changeset:”8d32b9884c102cab4ed66ffa121019b87ee0ac1b/rtems” 8d32b988/rtems]:

validation: Fix integer type warning

Update #4662.

Author: Chris Johns

2022-11-29T23:55:39.000Z

  • Priority changed from ~”normal” to ~”highest”

Author: Joel Sherrill

2023-01-27T23:37:14.000Z

Filed #4833 for warnings in grlib/pci/grpci2dma.c which will require some insight to resolve properly. They look simple to fix for the RIGHT person.

Author: Trac Migrate

2023-01-30T16:28:57.000Z

In [changeset:”29a3ad1ba94d7d2614201831c9119560a1885343/rtems” 29a3ad1b/rtems]:

grlib: Fix snprintf() overflow warnings from gcc 12

Updates #4662.

Author: Trac Migrate

2023-02-07T16:30:27.000Z

In [changeset:”ebb9e8c0a601bd089a56f637ed22a6be14ae8042/rtems” ebb9e8c/rtems]:

score: Fix maybe uninitialized warning

There are different cases for _ISR_lock_ISR_disable() and
_ISR_lock_ISR_enable() in the case RTEMS_SMP is defined or
RTEMS_PROFILING is defined, so remove the related code.

../../../cpukit/include/rtems/score/threaddispatch.h: In function '_Thread_Dispatch_disable':
../../../cpukit/include/rtems/score/threaddispatch.h:231:14: warning: 'lock_context' may be used uninitialized [-Wmaybe-uninitialized]
231 |   cpu_self = _Thread_Dispatch_disable_critical( &lock_context );
|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/score/threaddispatch.h:210:32: note: by argument 1 of type 'const ISR_lock_Context *' to '_Thread_Dispatch_disable_critical' declared here
210 | static inline Per_CPU_Control *_Thread_Dispatch_disable_critical(
|                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../cpukit/include/rtems/score/threaddispatch.h:225:21: note: 'lock_context' declared here
225 |   ISR_lock_Context  lock_context;
|                     ^~~~~~~~~~~~

Update #4662.

Author: Joel Sherrill

2023-06-22T20:55:25.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Looks like most, if not all, have been resolved.

Author: Amar Takhar

2024-04-25T20:49:54.431Z

changed the description

4627 - Multitasking start is broken on SMP targets which do not restore the interrupt state during context switching

Id

4627

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-03-08T08:22:44.000Z

Updated

2024-04-25T20:49:46.626Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4627

Merges

0

Original author: sebastian.huber

The current SMP multitasking start assumed that the initial heir thread of a processor starts execution in _Thread_Handler() which sets the interrupt state explicitly by _ISR_Set_level(). Under certain timing conditions processors may perform an initial context switch to a thread which already executes its thread body. In this case, interrupts are disabled after the context switch on targets which do not save/restore the interrupt state during a context switch (for example arm and riscv).

Author: Trac Migrate

2022-03-08T08:37:38.000Z

Original author: sebastian.huber

In [changeset:”b08ba92819640e4649d1f8de3fa78068369d0a11/rtems” b08ba92/rtems]:

smptests/smpstart01: New test program

Update #4627.

Author: Trac Migrate

2022-03-09T20:01:37.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”32f0f11a68d3aa521f0398c9b8eec3d47f114c5e/rtems” 32f0f11/rtems]:

SMP: Fix start multitasking for some targets

The previous SMP multitasking start assumed that the initial heir thread of a
processor starts execution in _Thread_Handler().  The _Thread_Handler() sets
the interrupt state explicitly by _ISR_Set_level() before it calls the thread
entry.  Under certain timing conditions, processors may perform an initial
context switch to a thread which already executes its thread body (see
smptests/smpstart01).  In this case, interrupts are disabled after the context
switch on targets which do not save/restore the interrupt state during a
context switch (aarch64, arm, and riscv).

Close #4627.

Author: Amar Takhar

2024-04-25T20:49:46.664Z

changed the description

4617 - Potential non-monotonic CLOCK_MONOTONIC

Id

4617

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-02-23T08:52:16.000Z

Updated

2024-04-25T20:49:36.649Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4617

Merges

0

Original author: sebastian.huber

The RTEMS timecounter implementation could lead to a non-monotonic CLOCK_MONOTONIC if the clock interrupt is delayed for more than one second.

Author: Trac Migrate

2022-02-23T08:53:07.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

This bug was fixed by 870cf9695f688c06743dd7fe8a7113e0cb5e3607.

Author: Amar Takhar

2024-04-25T20:49:36.686Z

changed the description

4572 - Improve Clarity for New Clock Manager Directives

Id

4572

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-12-15T22:27:35.000Z

Updated

2024-04-25T20:49:28.112Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4572

Merges

0

Looking through the Clock Manager at the new APIs, I noticed that there is nothing about what bintime and sbintime are in the “Time and Date Data Structures” section. Explaining what these time representations are is needed.

struct timeval and timespec are also not described in “Time and Data Data Structures” but this may be OK since they are from C and/or POSIX.

There is no discussion of what coarse is versus the non-coarse and what this means in practice.

There is no background on what the various clock sources are.

There may be other similar typos but rtems_clock_get_monotonic() describes its sole argument as being of the wrong type.

Without some background on the various time formats, sources, and terminology, the distinction between these APIs and their intended uses is impossible to figure out.

Author: Trac Migrate

2021-12-16T06:41:56.000Z

In [changeset:”732d8bca8f2d83212c76df22a40df84e0b197924/rtems-docs” 732d8bc/rtems-docs]:

c-user: Fix Clock Manager parameter descriptions

Update #4572.

Author: Trac Migrate

2021-12-16T07:16:25.000Z

  • Status changed from assigned to accepted

Author: Trac Migrate

2021-12-16T14:38:16.000Z

In [changeset:”786b89ac86a0832f08277483941fbc80c27d29f6/rtems-docs” 786b89a/rtems-docs]:

c-user: Clarify time formats

Update #4572.

Author: Trac Migrate

2021-12-22T07:11:55.000Z

In [changeset:”d40477161eebe53460b6219901bdc4e33efd43ed/rtems” d404771/rtems]:

rtems: Fix Clock Manager parameter descriptions

Update #4572.

Author: Trac Migrate

2022-01-11T08:19:52.000Z

In [changeset:”e77e04d2dc3794c3e69e023b431a47856fc4af40/rtems-docs” e77e04d/rtems-docs]:

c-user: Clarify Clock Manager dependencies

Update #4572.

Author: Trac Migrate

2022-01-26T13:27:01.000Z

Joel, please close this issue or complain.

Author: Joel Sherrill

2022-01-26T18:36:34.000Z

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

I think it covers the concepts now.

Author: Amar Takhar

2024-04-25T20:49:28.151Z

changed the description

4566 - Atomic store does not use the order parameter for C++

Id

4566

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-12-07T11:06:56.000Z

Updated

2024-04-25T20:49:26.278Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, smp, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4566

Merges

0

Original author: sebastian.huber

This could result in invalid inline code for the SMP ticket locks if used from C++.

Author: Trac Migrate

2021-12-07T11:25:05.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”69d643f711abca5027f755ef65a4b25180eb807b/rtems” 69d643f7/rtems]:

score: Fix atomic stores for C++

Close #4566.

Author: Amar Takhar

2024-04-25T20:49:26.317Z

changed the description

Author: Amar Takhar

2024-04-25T20:49:27.726Z

mentioned in issue #4567

4551 - Workaround for GRLIB-TN-0011 required for sparc/leon3 BSPs in SMP configuration

Id

4551

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-11-23T15:26:55.000Z

Updated

2024-04-25T20:49:21.263Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, smp, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4551

Merges

0

Original author: sebastian.huber

The check script tn-0011.tcl reported the following affected code block in cpu_asm.S:

sparc-rtems6-objdump -d build/sparc/gr712rc/testsuites/validation/ts-validation-0.exe | tn-0011.tcl
INFO:  Scanning utility for
INFO:    GRLIB-TN-0011 - LEON3/FT AHB Lock Release during Atomic Operation
INFO:  Script revision: 3 (20180412)
INFO:
INFO:  Scanning objdump -d output on standard input...
0x400ad5f8 : seqa
INFO:  400ad5f8:        c2 7a 60 58     swap  [ %o1 + 0x58 ], %g1
INFO:  400ad5fc:        80 a0 60 00     cmp  %g1, 0
INFO:  400ad600:        12 80 00 14     bne  400ad650 <done_flushing+0x7c>
INFO:
INFO:  Error locations found: 1

Author: Trac Migrate

2021-11-26T09:38:20.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”bdcc81434353ee4f1d01aafe1a85627889fe53bc/rtems” bdcc814/rtems]:

sparc: Add workaround for GRLIB-TN-0011

Affected components are the GR712RC, UT699, UT699E, UT700, and
LEON3FT-RTAX.  Strictly, the workaround is only necessary if the MMU is
enabled.  Use __FIX_LEON3FT_B2BST to enable the workaround.  This is not
100% appropriate, but the best thing we can use to enable the
workaround.

Close #4551.

Author: Amar Takhar

2024-04-25T20:49:21.370Z

changed the description

4550 - Add –rtems-version to rtems-test

Id

4550

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Chris Johns

Created

2021-11-19T22:02:13.000Z

Updated

2024-04-25T20:49:20.832Z

Milestone

6.1

Labels

priority::normal, resolution::duplicate, tickettype::defect, tool, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4550

Merges

0

The rtems-test does not have a way to override the RTEMS version. This results in some tools defaulting to rtems6 when you want to test with the rtems7 version.

Author: Kinsey Moore

2021-12-16T20:34:35.000Z

  • Resolution set to ~”duplicate”

  • Status changed from assigned to closed

This is a duplicate of #3671

Author: Amar Takhar

2024-04-25T20:49:20.866Z

changed the description

4545 - The SMP EDF scheduler can only support more restricted affinity sets of a thread

Id

4545

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-11-10T08:27:34.000Z

Updated

2024-04-25T20:49:17.984Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, smp, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4545

Merges

0

Original author: sebastian.huber

The SMP EDF scheduler supports a one-to-one and one-to-all thread to processor affinity. Currently it accepts affinity sets which are a proper subset of the online processors containing at least two processors owned by the scheduler. In this case it sets a one-to-one thread to processor affinity. This leads to undefined behaviour if a processor is removed since the higher level check in rtems_scheduler_remove_processor() does not account for this implementation detail.

Author: Trac Migrate

2021-11-10T08:29:06.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- The SMP EDF scheduler supports a one-to-one and one-to-all thread to processor affinity. Currently it accepts affinity sets which are a proper subset of the online processor containing at least two processors owned by the scheduler. In this case it sets a one-to-one thread to processor affinity. This leads to undefined behaviour if a processor is removed since the higher level check in rtems_scheduler_remove_processor() does not account for this implementation detail.
+ The SMP EDF scheduler supports a one-to-one and one-to-all thread to processor affinity. Currently it accepts affinity sets which are a proper subset of the online processors containing at least two processors owned by the scheduler. In this case it sets a one-to-one thread to processor affinity. This leads to undefined behaviour if a processor is removed since the higher level check in rtems_scheduler_remove_processor() does not account for this implementation detail.
?                                                                                                                                                                              +
  • Summary changed from The SMP EDF scheduler has to better check the affinity set of a thread to The SMP EDF scheduler can only support more restricted affinity sets of a thread

Author: Trac Migrate

2021-11-23T13:36:33.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”834a86fe212719735fd7ede8c60f78fedf70a758/rtems” 834a86fe/rtems]:

score: Restrict affinity for EDF SMP scheduler

The SMP EDF scheduler supports a one-to-one and one-to-all thread to
processor affinity. It accepted affinity sets which are a proper
subset of the online processor containing at least two processors owned by
the scheduler. In this case it used a one-to-one thread to processor
affinity. This leads to undefined behaviour if a processor is removed
since the higher level check in rtems_scheduler_remove_processor() does
not account for this implementation detail.

Restrict the affinity set accepted by the SMP EDF scheduler to

1. all online processors, or

2. exactly one processor owned by the scheduler.

Close #4545.

Author: Amar Takhar

2024-04-25T20:49:18.022Z

changed the description

4544 - The last processor must not be removed if it is owned by a helping scheduler

Id

4544

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-11-08T09:44:53.000Z

Updated

2024-04-25T20:49:17.166Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, smp, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4544

Merges

0

Original author: sebastian.huber

The following error condition is currently not checked by rtems_scheduler_remove_processor(): While an attempt is made to remove a processor from a scheduler, while the processor is the only processor owned by the scheduler, if a thread exists which uses the scheduler as a helping scheduler, then shall not be removed.

The reason is that ask for help requests and withdraw node requests are processed asynchronously in any order. An ask for help request carried out on a scheduler without a processor is undefined behaviour.

Author: Trac Migrate

2021-11-10T08:21:56.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- The bug is related to this requirement: While the processor allocated to the thread is owned by a helping scheduler, while the processor is the only processor of the scheduler, when the processor is removed, the thread shall be blocked with respect to the scheduler. A test case for this requirement showed that a scheduler node change is incorrect in _Scheduler_SMP_Remove_processor().
+ The following error condition is currently not checked by rtems_scheduler_remove_processor(): While an attempt is made to remove a processor from a scheduler, while the processor is the only processor owned by the scheduler, if a thread exists which uses the scheduler as a helping scheduler, then shall not be removed.
+
+ The reason is that ask for help requests and withdraw node requests are processed asynchronously in any order. An ask for help request carried out on a scheduler without a processor is undefined behaviour.
  • Summary changed from Incorrect state change in processor removal of SMP scheduler to The last processor must not be removed if it is owned by a helping scheduler

Author: Trac Migrate

2021-11-23T13:36:30.000Z

Original author: sebastian.huber

In [changeset:”c69a70a597ec5df75a51bfa39c14198a5c5fb22e/rtems” c69a70a/rtems]:

rtems: Fix rtems_scheduler_remove_processor()

Return an error status for the following error condition in
rtems_scheduler_remove_processor():

While an attempt is made to remove a processor from a scheduler, while
the processor is the only processor owned by the scheduler, if a thread
exists which uses the scheduler as a helping scheduler, then the
processor shall not be removed.

The reason is that ask for help requests and withdraw node requests are
processed asynchronously in any order.  An ask for help request carried
out on a scheduler without a processor is undefined behaviour.

Update error status description.

Update #4544.

Author: Trac Migrate

2021-11-23T13:49:07.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”513b90d7a4e1db1c806a32326fd2f20dadb2c860/rtems-docs” 513b90d/rtems-docs]:

c-user: rtems_scheduler_remove_processor()

Update error status description.

Close #4544.

Author: Amar Takhar

2024-04-25T20:49:17.204Z

changed the description

4534 - SMP EDF scheduler violates priority group ordering

Id

4534

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-10-27T07:40:13.000Z

Updated

2024-04-25T20:49:16.362Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, smp, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4534

Merges

0

Original author: sebastian.huber

The SMP EDF scheduler supports one-to-one and one-to-all thread to processor affinities. The one-to-one thread to processor affinity introduces a constraint on the ordering of threads. The implementation uses one ready queue for threads which have a one-to-all affinity and one for each one-to-one affinity group. To order threads across the ready queues, a generation number is used. However, the approach to update the generation number each time a thread is inserted into a ready queue is wrong. The generation number need to be updated only in the enqueue and enqueue scheduled operations where an insert priority is available. The scheduled chain needs to take the generation number into account.

An example scenario which shows the bug is this. Let T be a high priority task affine to processor X. Let A be a lower priority task affine to processor X. Let B be a lower priority task with no affinity to a particular processor which executes on processor Y. Let B be in the same priority group than A and after A. Let T set the affinity to all processors. Now A (higher priority relative to B) should execute on X and T (high priority) should execute on Y.

Author: Trac Migrate

2021-10-27T08:04:06.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

The SMP EDF scheduler supports one-to-one and one-to-all thread to processor affinities.  The one-to-one thread to processor affinity introduces a constraint on the ordering of threads.  The implementation uses one ready queue for threads which have a one-to-all affinity and one for each one-to-one affinity group.  To order threads across the ready queues, a generation number is used.  However, the approach to update the generation number each time a thread is inserted into a ready queue is wrong. The generation number need to be updated only in the enqueue and enqueue scheduled operations where an insert priority is available. The scheduled chain needs to take the generation number into account.

- An example scenario which shows the bug is this. Let T be a high priority task affine to processor X. Let A be a lower priority task affine to processor X. Let B be a lower priority task with no affinity to a particular processor which executes on processor Y. Let B be in the same priority group than A and after A. Let A set the affinity to all processors. Now A (higher priority relative to B) should execute on X and T (high priority) should execute on Y.
?                                                                                                                                                                                                                                                                                                                                    ------------------------------------------

+ An example scenario which shows the bug is this. Let T be a high priority task affine to processor X. Let A be a lower priority task affine to processor X. Let B be a lower priority task with no affinity to a particular processor which executes on processor Y. Let B be in the same priority group than A and after A. Let T set the affinity to all processors. Now A (higher priority relative to B) should execute on X and T (high priority) should execute on Y.
?                                                                                                                                                                                                                                                                                                                                  ++++++++++++++++++++++++++++++++++++++++++

Author: Trac Migrate

2021-11-23T13:35:59.000Z

Original author: sebastian.huber

In [changeset:”6d20f0c5257164d8ec8127e3e55a1686b7dba8d1/rtems” 6d20f0c5/rtems]:

score: Add node to insert to Chain_Node_order

This allows to use additional members of the nodes for comparision.

Update #4534.

Author: Trac Migrate

2021-11-23T13:36:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b9990b8d46812766c8ca0ce5523a035be16f83a7/rtems” b9990b8d/rtems]:

score: Fix SMP EDF priority group ordering

The SMP EDF scheduler supports one-to-one and one-to-all thread to
processor affinities.  The one-to-one thread to processor affinity
introduces a constraint on the ordering of threads.  The implementation
uses one ready queue for threads which have a one-to-all affinity and
one for each one-to-one affinity group.  To order threads across the
ready queues, a generation number is used.  However, the approach to
update the generation number each time a thread is inserted into a ready
queue was wrong.  The generation number needs to be updated only in the
enqueue and enqueue scheduled operations where an insert priority is
available.  The scheduled chain needs to take the generation number into
account.

An example scenario which shows the bug is this.  Let T be a high
priority task affine to processor X.  Let A be a lower priority task
affine to processor X.  Let B be a lower priority task with no affinity
to a particular processor which executes on processor Y.  Let B be in
the same priority group than A and after A.  Let T set the affinity to
all processors.  Now A (higher priority relative to B) should execute on
X and T (high priority) should execute on Y.

Close #4534.

Author: Amar Takhar

2024-04-25T20:49:16.402Z

changed the description

4532 - Priority inversion issues with MrsP locking protocol implementation

Id

4532

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-10-20T05:37:11.000Z

Updated

2024-04-25T20:49:15.557Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, smp, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4532

Merges

0

Original author: sebastian.huber

While a thread is scheduled on a helping scheduler, while it does not own a MrsP semaphore, if it obtains a MrsP semaphore, then no scheduler node using an idle thread and the ceiling priority of the semaphore is unblocked for the home scheduler. This could lead to priority inversion issues and is not in line with the MrsP protocol.

Author: Trac Migrate

2021-11-23T13:35:53.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3d6ebde1acab61e7c8fce1a1ed51517f7c2bf7c6/rtems” 3d6ebde1/rtems]:

score: Add SMP scheduler make/clean sticky

This patch fixes the following broken behaviour:

While a thread is scheduled on a helping scheduler, while it does not
own a MrsP semaphore, if it obtains a MrsP semaphore, then no
scheduler node using an idle thread and the ceiling priority of the
semaphore is unblocked for the home scheduler.

This could lead to priority inversion issues and is not in line
with the MrsP protocol.

Introduce two new scheduler operations which are only enabled if
RTEMS_SMP is defined.  The operations are used to make the scheduler
node of the home scheduler sticky and to clean the sticky property.
This helps to keep the sticky handing out of the frequently used
priority update operation.

Close #4532.

Author: Amar Takhar

2024-04-25T20:49:15.595Z

changed the description

4531 - Data corruption in SMP schedulers

Id

4531

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-10-20T05:32:12.000Z

Updated

2024-04-25T20:49:14.719Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, smp, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4531

Merges

0

Original author: sebastian.huber

Certain operations involving sticky thread queues, thread to processor affinity changes, priority updates, or thread pinning lead to data corruption in SMP schedulers, in particular the default SMP scheduler (SMP EDF).

Author: Trac Migrate

2021-11-23T13:35:06.000Z

Original author: sebastian.huber

In [changeset:”577262a73757a1d1561935f4efebfd39e333391a/rtems” 577262a7/rtems]:

score: Add red-black tree append/prepend

These functions are a faster alternative to _RBTree_Insert_inline() if
it is known that the new node is the maximum/minimum node.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:10.000Z

Original author: sebastian.huber

In [changeset:”45e942d1ae7f0ffe7f0540daf45c7c48850b05bc/rtems” 45e942d/rtems]:

score: Rename _Scheduler_Set_idle_thread()

Rename _Scheduler_Set_idle_thread() in _Scheduler_Node_set_idle_user() and move
it to <rtems/score/schedulernodeimpl.h>.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:13.000Z

Original author: sebastian.huber

In [changeset:”7ae4f56929a46375fd0e2ca39fe2a2d662abdda1/rtems” 7ae4f569/rtems]:

score: Not set CPU in _Scheduler_Use_idle_thread()

Do not set the CPU of the idle thread in _Scheduler_Use_idle_thread().  This
helps to use _Scheduler_Try_to_schedule_node() under more general conditions in
the future, for example in case the owner and user of a node are not the same.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:17.000Z

Original author: sebastian.huber

In [changeset:”f0f60a1ec3758c9fd2a92f854fef326d081a9bcc/rtems” f0f60a1/rtems]:

score: Change _Scheduler_Try_to_schedule_node()

Add the victim node as parameter instead of the idle thread.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:20.000Z

Original author: sebastian.huber

In [changeset:”bd55f69f5bff8e9cc39bae08f489feaa94e1dbb3/rtems” bd55f69/rtems]:

score: Simplify _Scheduler_Exchange_idle_thread()

Remove superfluous idle parameter.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:24.000Z

Original author: sebastian.huber

In [changeset:”e78709176456a57d82bac836c1cb5a2cabe63d22/rtems” e787091/rtems]:

score: Add missing idle thread releases

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:28.000Z

Original author: sebastian.huber

In [changeset:”81659420b01f235a29a04be52ec5375d4d593f53/rtems” 81659420/rtems]:

score: Add missing idle thread exchanges

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:31.000Z

Original author: sebastian.huber

In [changeset:”6286a40aa3d65baf2270fb13439d9b0c4f909323/rtems” 6286a40/rtems]:

score: Scheduler insert after move

Insert nodes after moving the second node to reduce the items in the
data structure for the insert operation.  This also avoids having two
nodes for the same processor inserted into the scheduled chain.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:35.000Z

Original author: sebastian.huber

In [changeset:”757a10964f233fd73936cb41161324123634b420/rtems” 757a1096/rtems]:

score: Remove return value from enqueue scheduled

The return value was unused.  Remove it.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:38.000Z

Original author: sebastian.huber

In [changeset:”a53229bbb6526c16c65d0f9bbeeb7ea10cd59d6a/rtems” a53229bb/rtems]:

score: Use extract from scheduled callbacks

Use the extract from scheduled callback provided by the scheduler
implementation in the SMP scheduler framework.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:42.000Z

Original author: sebastian.huber

In [changeset:”9d3e821279cb4443e184088ef4b708cc36b55101/rtems” 9d3e8212/rtems]:

score: Rework affine ready queue handling

Rework the handling of the affine ready queue for the EDF SMP scheduler.
Do the queue handling in the node insert, move, and extract operations.
Remove the queue handling from _Scheduler_EDF_SMP_Allocate_processor().

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:45.000Z

Original author: sebastian.huber

In [changeset:”75527ef386faef60d41dccf5f30fc9fbad52ee07/rtems” 75527ef3/rtems]:

score: Optimize SMP EDF move to ready operation

If a node is moved from the scheduled chain to the ready queue, then we
know that it is the highest priority ready node.  So, it can be
prepended to the ready queue without doing any comparisons.

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:49.000Z

Original author: sebastian.huber

In [changeset:”3781709f2846d43f14fcaca191b36dfc6164eec7/rtems” 3781709/rtems]:

score: Add SMP scheduler idle exchange callback

Update #4531.

Author: Trac Migrate

2021-11-23T13:35:56.000Z

Original author: sebastian.huber

In [changeset:”ff20bc981654ec896ca2b7830962079b2e20c29e/rtems” ff20bc9/rtems]:

score: Rework idle handling in SMP schedulers

This patch fixes an issue with the idle thread handling in the SMP
scheduler framework used for the MrsP locking protocol.  The approach to
use a simple chain of unused idle threads is broken for schedulers which
support thread to processor affinity.  The reason is that the thread to
processor affinity introduces another ordering indicator which may under
certain conditions lead to a reordering of idle threads in the scheduled
chain.  This reordering is not propagated to the chain of unused idle
threads.  This could lead to use an idle thread for a sticky scheduler
node which is already in use.  This locks up the system in infinite
loops in the thread context switch procedure.

To fix this, the SMP scheduler implementations must now provide
callbacks to get and release an unused idle thread.

Update #4531.

Author: Trac Migrate

2021-11-23T13:36:09.000Z

Original author: sebastian.huber

In [changeset:”dcd8b939ba178b29dd84ea1cc8d574934596e882/rtems” dcd8b93/rtems]:

score: Move _Scheduler_Block_node()

Move _Scheduler_Block_node() into _Scheduler_SMP_Block().  This simplifies the
code and makes it easier to review.

Update #4531.

Author: Trac Migrate

2021-11-23T13:36:13.000Z

Original author: sebastian.huber

In [changeset:”c6362f640a084b3972f9d80e029c607a5d5f52e3/rtems” c6362f6/rtems]:

score: Move _Scheduler_Unblock_node()

Move _Scheduler_Unblock_node() into _Scheduler_SMP_Unblock().  This simplifies
the code and makes it easier to review.

Update #4531.

Author: Trac Migrate

2021-11-23T13:36:16.000Z

Original author: sebastian.huber

In [changeset:”d0434b886332fab34ad5dca292de3a2db90e0615/rtems” d0434b88/rtems]:

score: Remove victim thread from CPU allocation

Update #4531.

Author: Trac Migrate

2021-11-23T13:36:20.000Z

Original author: sebastian.huber

In [changeset:”4d90289e7169ad96137b7b92b7f05d25bd82ab08/rtems” 4d90289e/rtems]:

score: _Scheduler_SMP_Schedule_highest_ready()

Simplify callers of _Scheduler_SMP_Schedule_highest_ready().  Move the node
state change and the extraction from scheduled into
_Scheduler_SMP_Schedule_highest_ready().  Move the idle thread release to the
caller which have more information about the presence of an idle thread.

Update #4531.

Author: Trac Migrate

2021-11-23T13:36:23.000Z

Original author: sebastian.huber

In [changeset:”fc64e837c3544c3462539237fec4e90726aa8727/rtems” fc64e837/rtems]:

score: Rework ask for help requests

Process ask for help requests on the current processor.  This avoids
using inter-processor interrupts to make the system behaviour a bit more
predictable.

Update #4531.

Author: Trac Migrate

2021-11-23T13:36:27.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”6443c9dbb7dda8a19ae311c126a19d16ec975ae8/rtems” 6443c9d/rtems]:

score: Fix assertion in SMP scheduler framework

Properly assert that the scheduled chain is not empty.  Fix formatting.

Close #4531.

Author: Amar Takhar

2024-04-25T20:49:14.756Z

changed the description

4528 - rate monotonic: reset of CPU usage time not always detected

Id

4528

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-10-11T18:03:13.000Z

Updated

2024-04-25T20:49:14.179Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4528

Merges

0

Original author: frank_k

rtems_rate_monotonic_get_statistics() and rtems_rate_monotonic_get_status() must detect whether the used CPU time was resetted during a period (rtems_cpu_usage_reset()). This is achieved by storing the CPU usage time counter value when the period is started. To detect whether there was a reset, the CPU usage time value from the period start and the current value are compared. If the current value is lower than the one from the start there was a reset.

The bug is that when the current CPU usage time value is greater than the value at the start, a reset may still have occurred.

For example, when the period starts the used CPU time is at 1000 and 1000 is stored. Then the CPU time counter is resetted - so it is 0. Assume the period thread does some work and the CPU usage time is at 100 when rtems_rate_monotonic_get_status() is called. In this case the current code detects the reset and returns correctly RTEMS_NOT_DEFINED. Yet, when more CPU usage time passes without rtems_rate_monotonic_period() being called - lets say the used CPU time is at 1200 - and rtems_rate_monotonic_get_status() is called, the stored value (1000) is smaller than the current one (1200) so the reset is not detected.

This bug has been found with a test which manipulates the time directly. I doubt this bug is very relevant in practice. It requires that there are periods with long intervals and much CPU load and that either the system is shortly started or rtems_cpu_usage_reset() is used frequently.

The background:

The Classic API guide https://docs.rtems.org/branches/master/c-user/rate-monotonic/directives.html#rtems-rate-monotonic-get-status says for rtems_rate_monotonic_get_status():

RTEMS_NOT_DEFINED: There was no status available due to a reset of the processor time usage of the owner task of the period.

The directive rtems_cpu_usage_reset() sets the_thread->cpu_time_used 0 in line 43 of cpukit/libmisc/cpuuse/cpuusagereset.c.

The detection whether there was an reset or not is done in file cpukit/rtems/src/ratemonperiod.c line 56 in function _Rate_monotonic_Get_status():

[...]
/*
*  Determine cpu usage since period initiated.
*/
_Thread_Get_CPU_time_used( owning_thread, &used );

/*
*  The cpu usage info was reset while executing.  Can't
*  determine a status.
*/
if ( _Timestamp_Less_than( &used, &the_period->cpu_usage_period_initiated ) )
return false;
[...]

The directive rtems_rate_monotonic_get_statistics() is affected indirectly because collecting its data is skipped when there was a reset. cpukit/rtems/src/ratemonperiod.c line 149 in function _Rate_monotonic_Update_statistics() (which in turn calls the above code).

For the records:

RTEMS_VERSION    = 6.0.0
remote origin    = git://git.rtems.org/sebh/rtems.git
commit HEAD      = 1df2666ca1d73807a338e0d209ed1f42f67f00a9  (HEAD, origin/qual-43)
config.ini       =
[arm/realview_pbx_a9_qemu]
RTEMS_DEBUG = True
RTEMS_NETWORKING = True
RTEMS_POSIX_API = True
RTEMS_SMP = True
BUILD_SAMPLES = False
BUILD_VALIDATIONTESTS = True
BUILD_UNITTESTS = True
NEWLIB_VERSION   = 3.2.0
SOURCE_BUILDER   = Set Builder, 6 (f12dee02d52d)
GCC_VERSION      = arm-rtems6-gcc (GCC) 10.3.1 20210409 (RTEMS 6, RSB c938bd7cbe16bd03d3b382f2d7cfee6a86aa9424, Newlib 0c0f3df)
BINUTILS_VERSION = GNU ld (GNU Binutils) 2.36.1.20210409

Author: Trac Migrate

2021-10-12T06:22:08.000Z

Original author: frank_k

  • Milestone changed from %”Indefinite” to %”6.1”

  • Status changed from assigned to accepted

Author: Trac Migrate

2021-10-25T06:00:31.000Z

Original author: frank_k

In [changeset:”0221da5f56353c9b238ef51d5a24802ba67b8c56/rtems” 0221da5f/rtems]:

rtems: Fix rate monotonic statistics

The rate monotonic period statistics were affected by
rtems_cpu_usage_reset().  The logic to detect and work around a CPU
usage reset was broken.

The Thread_Contol::cpu_time_used is changed to contain the processor
time used throughout the entire lifetime of the thread.  The new member
Thread_Contol::cpu_time_used_at_last_reset is added to contain the
processor time used at the time of the last reset through
rtems_cpu_usage_reset().  This decouples the resets of the CPU usage and
the rate monotonic period statistics.

Update #4528.

Author: Trac Migrate

2021-10-25T06:10:54.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”feb46875584c05f0dbd005e4b4e7eaa1af414d88/rtems-docs” feb4687/rtems-docs]:

c-user: rtems_rate_monotonic_get_status()

Mention that resetting the processor usage time of tasks has no impact
on the period status and statistics.

Remove no longer relevant RTEMS_NOT_DEFINED error status.

Close #4528.

Author: Trac Migrate

2021-10-25T06:12:52.000Z

Original author: frank_k

In [changeset:”24922d0f54eb6cff02428dc9176fc7b67e6ac9bc/rtems” 24922d0/rtems]:

rtems: rtems_rate_monotonic_get_status()

Mention that resetting the processor usage time of tasks has no impact
on the period status and statistics.

Remove no longer relevant RTEMS_NOT_DEFINED error status.

Update #4528.

Author: Trac Migrate

2021-10-25T16:01:04.000Z

Original author: frank_k

In [changeset:”75c133bda040eb844d6cb6e1d5fb8a3a91049e34/rtems” 75c133bd/rtems]:

sptests/sp69: Remove test case

This error condition no longer exists.

Update #4528.

Author: Amar Takhar

2024-04-25T20:49:14.306Z

changed the description

4524 - Re-add lost capability for custom stack allocator to allocate IDLE thread stacks

Id

4524

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-10-07T22:21:23.000Z

Updated

2024-04-25T20:49:13.693Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4524

Merges

0

The move to statically allocate the stacks for the IDLE threads resulted in the loss of the capability for a custom stack allocator to be able to allocate the idle threads’ stacks. This occurred close to the 5 branching point and is addressed for the 5 branch by #4520.

Author: Trac Migrate

2021-10-11T13:39:59.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”822ebb4cae2bb8bc9fe55915bd4acc4942fcd8ce/rtems” 822ebb4c/rtems]:

Add support for IDLE Thread stack allocator

Add a stack allocator hook specifically for allocation of IDLE thread stacks.
This allows the user to decide if IDLE thread stacks are statically allocated
or handled by the same custom allocator mechanism as other thread stacks.

Closes #4524.

Author: Trac Migrate

2021-10-12T18:44:34.000Z

In [changeset:”df5be4c97a80e9c6772ba4ca9179890724d22cee/rtems-docs” df5be4c/rtems-docs]:

task-stack-alloc.rst: Add CONFIGURE_TASK_STACK_FROM_ALLOCATOR

Updates #4524.

Author: Trac Migrate

2021-10-25T06:00:27.000Z

In [changeset:”9be97a34db3b712a8a962b3e0d0c134f5055e6d4/rtems” 9be97a3/rtems]:

score: Optimize default idle task stack allocator

Update #4524.

Author: Trac Migrate

2021-10-25T06:00:37.000Z

In [changeset:”f1723d129306855a7ae730e250bc20beafba81d4/rtems” f1723d12/rtems]:

rtems: Regenerate for IDLE task allocator option

Update #4524.

Author: Trac Migrate

2021-10-25T06:10:52.000Z

In [changeset:”46dbb6dd7f92ef60ea5ba74b1b0cd6865cad5619/rtems-docs” 46dbb6d/rtems-docs]:

c-user: Regenerate for IDLE task allocator option

Update #4524.

Author: Trac Migrate

2022-02-23T08:29:13.000Z

In [changeset:”2f8be4b627c67676f9e1d32ad4b1ac8eefc87841/rtems-docs” 2f8be4b/rtems-docs]:

c-user: Document CONFIGURE_SCHEDULER_TABLE_ENTRIES

Update #4524.

Author: Trac Migrate

2022-02-23T14:30:15.000Z

The last commit does not belong to this ticket. It references the wrong ticket number.

Author: Trac Migrate

2022-10-14T09:41:45.000Z

In [changeset:”2846b17d7e34f1bdcac579ea1e0fbcb251aff1cb/rtems” 2846b17/rtems]:

config: Changeable size for IDLE stack allocator

Allow the IDLE stack allocator to change the stack size.  This can be
used by applications with a very dynamic thread-local storage size to
adjust the thread storage area of the IDLE tasks dynamically.

Update #4524.

Author: Trac Migrate

2022-10-14T09:42:01.000Z

In [changeset:”45ee958552ca35b6834985718ecd59b27fc52f86/rtems” 45ee958/rtems]:

config: Add CONFIGURE_IDLE_TASK_STORAGE_SIZE

By default, allocate the IDLE task storage areas from the RTEMS Workspace.
This avoids having to estimate the thread-local storage size in the default
configuration.

Add the application configuration option CONFIGURE_IDLE_TASK_STORAGE_SIZE to
request a static allocation of the task storage area for IDLE tasks.

Update #3835.
Update #4524.

Author: Trac Migrate

2022-10-14T09:42:03.000Z

In [changeset:”64fbeaa0d1b4321cb439923c86993d134fbd3acb/rtems” 64fbeaa/rtems]:

score: INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALL

Ensure that the IDLE storage allocator did allocate a suffiently large area.

Update #3835.
Update #4524.

Author: Amar Takhar

2024-04-25T20:49:13.736Z

changed the description

4513 - Document parts of the Cache Manager in the Classic API Guide

Id

4513

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-09-10T08:29:13.000Z

Updated

2024-04-25T20:49:12.827Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4513

Merges

0

Original author: sebastian.huber

The Cache Manager directives are available via <rtems.h>. Document most of them in the Classic API Guide.

Author: Trac Migrate

2021-09-16T07:43:08.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

The documentation was updated.

Author: Amar Takhar

2024-04-25T20:49:12.867Z

changed the description

4511 - Count of postponed jobs is not set to zero for a newly created rate-monotonic period object

Id

4511

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-09-09T13:00:32.000Z

Updated

2024-04-25T20:49:12.390Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4511

Merges

0

Original author: sebastian.huber

rtems_rate_monotonic_get_status() returns an arbitrary number for the count of postponed jobs if it is called for a newly created period object. The count of postponed jobs should be cleared to zero at object creation.

Author: Trac Migrate

2021-09-09T13:08:09.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”82a61afd8ccd695a5517451a0c8f9c4c2f9e373a/rtems” 82a61af/rtems]:

rtems: Initialize count of postponed jobs

The rtems_rate_monotonic_get_status() directive returns an arbitrary
number for the count of postponed jobs if it is called for a newly
created period object.  Set the count of postponed jobs to zero during
object creation.

Close #4511.

Author: Trac Migrate

2021-10-06T06:50:11.000Z

Original author: sebastian.huber

In [changeset:”38c2147759d1b687a7330419a04a6c84d80b784a/rtems” 38c2147/rtems]:

rtems: Set postponed jobs in rate-monotonic cancel

Set the postponed jobs count to zero in rtems_rate_monotonic_cancel() so that
rtems_rate_monotonic_get_status() returns a consistent status for inactive
periods.

Update #4511.

Author: Amar Takhar

2024-04-25T20:49:12.428Z

changed the description

4509 - Message queue priority dicipline is broken in SMP configurations

Id

4509

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-31T08:18:18.000Z

Updated

2024-04-25T20:49:11.959Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4509

Merges

0

Original author: sebastian.huber

The message queue handler uses the thread queue extract operation to dequeue a receiver thread. This is wrong in SMP configurations since the extract thread queue operation does not ensure FIFO fairness across schedulers. The thread queue surrender operation should be used instead.

Author: Trac Migrate

2021-09-02T05:48:07.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”d9249c9bffe4238e3853996d1f0758d9f55fbe67/rtems” d9249c9/rtems]:

score: Fix blocking message queue receive

In order to ensure FIFO fairness across schedulers, the thread queue
surrender operation must be used to dequeue a thread from the thread
queue.  The thread queue extract operation is intended for timeouts.

Add _Thread_queue_Resume() which may be used to make extracted or
surrendered threads ready again.

Remove the now unused _Thread_queue_Extract_critical() function.

Close #4509.

Author: Amar Takhar

2024-04-25T20:49:11.997Z

changed the description

4508 - rtems_message_queue_receive(): flush() does not release waiting tasks

Id

4508

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-30T14:21:12.000Z

Updated

2024-04-25T20:49:11.413Z

Milestone

6.1

Labels

priority::low, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4508

Merges

0

Original author: frank_k

The _RTEMS Classic API Guide_ https://docs.rtems.org/branches/master/c-user/index.html in _Message Manager_ → _Directives_ → section 14.4.8 _rtems_message_queue_receive()_ says:

RTEMS_UNSATISFIED: The queue was flushed while the calling task was waiting to receive a message.

Yet, when I tested it, this does not happen. A waiting task is not released from the message queue when calling rtems_message_queue_flush(). Moreover, I did not find any sign in the source code of rtems_message_queue_flush() which look liked it would dequeue waiting threads. (In contrast rtems_message_queue_delete() does!) Furthermore, there is no other hint in the documentation of either function that flush() would kick out waiting receivers.

I may misinterpret the documentation above or oversee something in the code. Yet, I believe the text I cited above is a mistake in the documentation and should simply be removed.

How to reproduce/How I tested:

The debug output of my test looks like (the worker task is not released by rtems_message_queue_flush() but afterwards by a timeout of 3 ticks):

P:574:0:UI1/Valid/Valid/Valid/Flushed/Local/Fifo/Timeout/Empty/Nop:tc-message-re
ceive.c:1316
L:#### rtems_message_queue_construct() with
L:####   .maximum_pending_messages = 3
L:####   .maximum_message_size = 5
L:####   .storage_size = 72
L:####   .storage_free = 0
L:####   .attributes = 0 (LOCAL=0, FIFO=0, PRIORITY=4)
L:#### rtems_task_restart BEFORE
L:#### rtems_message_queue_receive(option_set=0, timeout_param=3 ) BEGIN
L:#### rtems_task_restart AFTER
L:#### rtems_message_queue_flush() BEFORE
L:#### rtems_message_queue_flush() AFTER
L:#### WaitForWorker wait ticks BEFORE
L:#### rtems_message_queue_receive() END status = 6 (0=RTEMS_SUCCESSFUL, 13=RTEMS_UNSATISFIED, 6=RTEMS_TIMEOUT )
L:#### WorkerTask send event
L:#### WaitForWorker wait ticks AFTER
F:586:0:UI1/Valid/Valid/Valid/Flushed/Local/Fifo/Timeout/Empty/Nop:tc-message-receive.c:1004:RTEMS_TIMEOUT == RTEMS_UNSATISFIED
F:587:0:UI1/Valid/Valid/Valid/Flushed/Local/Fifo/Timeout/Empty/Nop:tc-message-receive.c:1043:3 == 0
L:#### rtems_message_queue_delete()

For the records:

RTEMS_VERSION = 6.0.0 remote origin = git://git.rtems.org/sebh/rtems.git /* The HASH is also in git://git.rtems.org/rtems.git */ commit HEAD = bb77a82f619752ba147c317d982ac47f56f4afec config.ini = [arm/realview_pbx_a9_qemu] RTEMS_DEBUG = True RTEMS_NETWORKING = True RTEMS_POSIX_API = True RTEMS_SMP = True BUILD_TESTS = True NEWLIB_VERSION = 3.2.0 SOURCE_BUILDER = Set Builder, 6 (f12dee02d52d) GCC_VERSION = arm-rtems6-gcc (GCC) 10.3.1 20210409 (RTEMS 6, RSB c938bd7cbe16bd03d3b382f2d7cfee6a86aa9424, Newlib 0c0f3df) BINUTILS_VERSION = GNU ld (GNU Binutils) 2.36.1.20210409

Author: Trac Migrate

2021-09-16T07:34:37.000Z

Original author: frank_k

In [changeset:”dbb7c956e63ea72c0b663eeec518c8904c34599d/rtems” dbb7c956/rtems]:

rtems: Fix message manager documentation

Correct the description of the ``count`` parameter of
rtems_message_queue_flush().

Update #4508.

Author: Trac Migrate

2021-09-16T07:37:35.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7afc7a0f31af13b54bd9b04d1333a6910f0bb8f5/rtems-docs” 7afc7a0/rtems-docs]:

rtems: Fix message manager documentation

Correct the description of the ``count`` parameter of
rtems_message_queue_flush().

Close #4508.

Author: Amar Takhar

2024-04-25T20:49:11.553Z

changed the description

4490 - rtems_partition_return_buffer() wrongly accepts buffers which are exactly at the buffer area end

Id

4490

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-10T10:41:25.000Z

Updated

2024-04-25T20:49:09.725Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4490

Merges

0

Original author: sebastian.huber

The range checking in rtems_partition_return_buffer() is wrong.

Author: Trac Migrate

2021-08-12T12:25:43.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”9399e12c217343545bf412a01629570377536b39/rtems” 9399e12c/rtems]:

rtems: Fix rtems_partition_return_buffer()

The rtems_partition_return_buffer() wrongly accepted which were exactly
at the buffer area end.  Use the buffer area limit address for the range
checking.

Close #4490.

Author: Amar Takhar

2024-04-25T20:49:09.762Z

changed the description

4482 - Document kernel character I/O support in Classic API Guide

Id

4482

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-07-30T06:44:20.000Z

Updated

2024-04-25T20:49:09.296Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4482

Merges

0

Original author: sebastian.huber

Directives like printk() are available for a long time. Document them in the Classic API Guide.

Author: Trac Migrate

2021-08-02T05:15:51.000Z

Original author: sebastian.huber

In [changeset:”d999f865eaef44b887b5c40799572e849ac4ca78/rtems” d999f865/rtems]:

rtems: Generate <rtems/bspIo.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Place the group into the I/O Manager group.  Add all source files to the
group.

Update #3899.
Update #3993.
Update #4482.

Author: Trac Migrate

2021-08-03T08:40:04.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”efb8e7c6c3fe534ac36ca44553831c61179fe771/rtems-docs” efb8e7c/rtems-docs]:

c-user: Add "Kernel Character I/O Support" chapter

Close #4482.

Author: Amar Takhar

2024-04-25T20:49:09.335Z

changed the description

4458 - Simplify trap table initialization

Id

4458

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-06-18T13:57:12.000Z

Updated

2024-04-25T20:49:08.422Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4458

Merges

0

Original author: sebastian.huber

Currently, the trap table is statically initialized (see start.S). Unexpected traps end up in system error mode. Later during startup most traps are changed to jump to _ISR_Handler(). This is a side-effect of bsp_spurious_initialize(). The used functions for this dynamic initialization are a bit complex and need cache manager directives which involve all online processors. This should be simplified to cover only basic requirements.

  1. The _ISR_Vector_table should be initialized by _CPU_Initialize_vectors() to an new default handler _SPARC_ISR_handler_default() which just invokes _Terminate().

  2. The traps associated with external interrupts (0x11 up to including 0x1f) should be statically initialized in start.S to jump to _ISR_Handler().

3. Standard synchronous exceptions such as * 0x01 instruction access exception * 0x02 illegal instruction * 0x03 privileged instruction * 0x04 fp disabled * 0x07 memory address not aligned * 0x08 fp exception * 0x09 data access exception * 0x0A tag overflow * 0x24 cp_disabled * 0x28 cp_exception

should also be statically initialize to jump to _ISR_Handler() to invoke the fatal error handler.

If software needs to change the default initialization, then it can use set_vector() or alternatives on demand.

Author: Trac Migrate

2021-06-18T15:20:54.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

Currently, the trap table is statically initialized (see start.S). Unexpected traps end up in system error mode. Later during startup most traps are changed to jump to _ISR_Handler(). This is a side-effect of bsp_spurious_initialize(). The used functions for this dynamic initialization are a bit complex and need cache manager directives which involve all online processors. This should be simplified to cover only basic requirements.

1. The _ISR_Vector_table should be initialized by _CPU_Initialize_vectors() to an new default handler _SPARC_ISR_handler_default() which just invokes _Terminate().

2. The traps associated with external interrupts (0x11 up to including 0x1f) should be statically initialized in start.S to jump to _ISR_Handler().

+ 3. Standard synchronous exceptions such as
+   * 0x01 instruction access exception
+   * 0x02 illegal instruction
+   * 0x03 privileged instruction
+   * 0x04 fp disabled
+   * 0x05 window overflow
+   * 0x06 window underflow
+   * 0x07 memory address not aligned
+   * 0x08 fp exception
+   * 0x09 data access exception
+   * 0x0A tag overflow
+   * 0x24 cp_disabled
+   * 0x28 cp_exception
+
+   should also be statically initialize to jump to _ISR_Handler() to invoke the fatal error handler.
+
+
If software needs to change the default initialization, then it can use set_vector() or alternatives on demand.

Author: Trac Migrate

2021-06-18T15:22:45.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

Currently, the trap table is statically initialized (see start.S). Unexpected traps end up in system error mode. Later during startup most traps are changed to jump to _ISR_Handler(). This is a side-effect of bsp_spurious_initialize(). The used functions for this dynamic initialization are a bit complex and need cache manager directives which involve all online processors. This should be simplified to cover only basic requirements.

1. The _ISR_Vector_table should be initialized by _CPU_Initialize_vectors() to an new default handler _SPARC_ISR_handler_default() which just invokes _Terminate().

2. The traps associated with external interrupts (0x11 up to including 0x1f) should be statically initialized in start.S to jump to _ISR_Handler().

3. Standard synchronous exceptions such as
* 0x01 instruction access exception
* 0x02 illegal instruction
* 0x03 privileged instruction
* 0x04 fp disabled
-   * 0x05 window overflow
-   * 0x06 window underflow
* 0x07 memory address not aligned
* 0x08 fp exception
* 0x09 data access exception
* 0x0A tag overflow
* 0x24 cp_disabled
* 0x28 cp_exception

should also be statically initialize to jump to _ISR_Handler() to invoke the fatal error handler.


If software needs to change the default initialization, then it can use set_vector() or alternatives on demand.

Author: Trac Migrate

2021-06-24T10:30:27.000Z

Original author: sebastian.huber

In [changeset:”7a140e2ed5b2085823f91a726b580cee485e7159/rtems” 7a140e2/rtems]:

bsps/sparc: Add a symbol for each trap table entry

This makes it easier to review start.o and set break points to trap table
entries.  This change was checked by inspecting the trap table in start.o with
objdump.

Update #4458.

Author: Trac Migrate

2021-06-24T10:30:30.000Z

Original author: sebastian.huber

In [changeset:”955c045b3c66c26899d65dde744d5647588ca91c/rtems” 955c045b/rtems]:

sparc: Move ISR handler install routines

Move _CPU_ISR_install_raw_handler() and _CPU_ISR_install_vector() to separate
files.  The goal is to make their use optional.

Update #4458.
Update #4459.

Author: Trac Migrate

2021-06-24T10:30:37.000Z

Original author: sebastian.huber

In [changeset:”5c30e3d376fea2ec18b28a72c349d153973a983d/rtems” 5c30e3d3/rtems]:

bsps/sparc: Use rtems_interrupt_handler_install()

Avoid using set_vector() which depends on _ISR_Vector_table().  Prepare for a
statically initialized trap table.

Update #4458.

Author: Trac Migrate

2021-06-24T10:30:40.000Z

Original author: sebastian.huber

In [changeset:”b9d5f516301865efac42649129c05951c2ab7cb5/rtems” b9d5f516/rtems]:

sparc: Move FP frame offset defines to cpuimpl.h

This makes them usable in multiple files.

Update #4458.

Author: Trac Migrate

2021-06-24T10:30:47.000Z

Original author: sebastian.huber

In [changeset:”be96cb4345554fac614b252fe8f78dbf32c3a981/rtems” be96cb43/rtems]:

sparc: Simplify trap table initialization

Move _ISR_Handler() to a separate file since it is now only used if a handler
is installed by _CPU_ISR_install_raw_handler().

Statically initialize the traps for external interrupts to use the new
_SPARC_Interrupt_trap() which directly dispatches the interrupt handlers
installed by rtems_interrupt_handler_install() via the BSP-provided
_SPARC_Interrupt_dispatch().

Since the trap table is now fully statically initialized, there is no longer a
dependency on the Cache Manager in the default configuration.

Update #4458.

Author: Trac Migrate

2021-08-12T12:49:04.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

The trap table is now statically initialized.

Author: Trac Migrate

2023-06-15T17:43:50.000Z

Original author: sebastian.huber

In [changeset:”97a4b306f4842a707ea727e05a610bdb75f8b3b1/rtems” 97a4b306/rtems]:

bsp/leon2: Include missing header file

Update #4458.

Author: Amar Takhar

2024-04-25T20:49:08.471Z

changed the description

4455 - bsps/i386: TSC calibration inaccurate

Id

4455

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-06-11T06:31:54.000Z

Updated

2024-04-25T20:49:06.548Z

Milestone

6.1

Labels

arch:i386, priority::normal, resolution::fixed, rtems::clock, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4455

Merges

0

Original author: soja

The current implementation of the TSC calibration during startup yields inaccurate results.

There are 2 issues:

1. Rounding error:

The calibrate_tsc function calibrates for 1s by waiting for rtems_clock_get_ticks_per_second() ticks via the PIT.

The PIT has a frequency of 1193182 Hz. For a rtems tick of 1ms this yields 1193. Waiting for 1s means then waiting for 1193000 PIT ticks (instead of the full 1193182). For a 1 GHz TSC clock this would yield already ~150 kHz less then the correct TSC frequency.

2. Waiting for the first loop at begin of timer period

for (i = rtems_clock_get_ticks_per_second() * pc386_isrs_per_tick;
i != 0; --i ) {
/* We know we've just completed a tick when timer goes from low to high */
then_lsb = then_msb = 0xff;
do {                            <== First loop does not start at begin of clock period
READ_8254(now_lsb, now_msb);
if ((then_msb < now_msb) ||
((then_msb == now_msb) && (then_lsb < now_lsb)))
break;
then_lsb = now_lsb;
then_msb = now_msb;
} while (1);
}

This can yield deviations of several MHz for the TSC frequency. For example, for a tested CPU with a TSC frequency of 19167.1 MHz yields a calibration result of 1912.3 MHz.

Proposed solution

  • Just wait 1193182 PIT ticks for 1 s instead of a number of rtems ticks

  • Use the raw timer value instead of waiting for clock ticks.

Author: Trac Migrate

2021-06-11T06:32:17.000Z

Original author: soja

  • Owner set to soja

  • Status changed from new to accepted

Author: Trac Migrate

2021-06-21T08:11:43.000Z

Original author: soja

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”93f96455957a943f1a4c17655a09612a93a34bf4/rtems” 93f9645/rtems]:

bsps/i386: Update calibration of TSC to be more accurate

Closes #4455

Author: Amar Takhar

2024-04-25T20:49:06.679Z

changed the description

Author: Amar Takhar

2024-04-25T20:49:07.663Z

mentioned in issue #4456

4454 - bsps/i386: TSC calibration inaccurate

Id

4454

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-06-11T06:31:44.000Z

Updated

2024-04-25T20:49:05.635Z

Milestone

6.1

Labels

arch:i386, bsp, priority::normal, resolution::duplicate, rtems::clock, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4454

Merges

0

Original author: soja

The current implementation of the TSC calibration during startup yields inaccurate results.

There are 2 issues:

1. Rounding error:

The calibrate_tsc function calibrates for 1s by waiting for rtems_clock_get_ticks_per_second() ticks via the PIT.

The PIT has a frequency of 1193182 Hz. For a rtems tick of 1ms this yields 1193. Waiting for 1s means then waiting for 1193000 PIT ticks (instead of the full 1193182). For a 1 GHz TSC clock this would yield already ~150 kHz less then the correct TSC frequency.

2. Waiting for the first loop at begin of timer period

for (i = rtems_clock_get_ticks_per_second() * pc386_isrs_per_tick;
i != 0; --i ) {
/* We know we've just completed a tick when timer goes from low to high */
then_lsb = then_msb = 0xff;
do {                            <== First loop does not start at begin of clock period
READ_8254(now_lsb, now_msb);
if ((then_msb < now_msb) ||
((then_msb == now_msb) && (then_lsb < now_lsb)))
break;
then_lsb = now_lsb;
then_msb = now_msb;
} while (1);
}

This can yield deviations of several MHz for the TSC frequency. For example, for a tested CPU with a TSC frequency of 19167.1 MHz yields a calibration result of 1912.3 MHz.

Proposed solution

  • Just wait 1193182 PIT ticks for 1 s instead of a number of rtems ticks

  • Use the raw timer value instead of waiting for clock ticks.

Author: Joel Sherrill

2021-12-17T17:21:14.000Z

Original author: soja

Any progress on this?

Author: Trac Migrate

2022-01-06T08:35:02.000Z

Original author: soja

Seems I created this ticket twice by accident. It is a duplicate of #4455 which was fixed by this commit https://git.rtems.org/rtems/commit/?id=93f96455957a943f1a4c17655a09612a93a34bf4 .

Author: Trac Migrate

2022-01-06T08:35:21.000Z

Original author: soja

  • Resolution set to ~”duplicate”

  • Status changed from new to closed

Author: Amar Takhar

2024-04-25T20:49:05.768Z

changed the description

4448 - covoar reports uncovered ranges of size 1

Id

4448

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-06-02T14:15:25.000Z

Updated

2024-04-25T20:49:05.176Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4448

Merges

0

Original author: Alex

The uncovered range reports produced by covoar for the ARM architecture contain ranges of size 1. When clicked, they link to instructions that appears to be covered.

This should be fixed to remove these erroneous ranges.

Author: Trac Migrate

2021-06-02T14:15:35.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-06-04T19:25:14.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”c17664fb7b95f16e7012e4bbcbfd301e7a58b3a8/rtems-tools” c17664f/rtems-tools]:

covoar: Fix single-byte uncovered ranges

This fixes a bug where covoar reports uncovered ranges of size 1. When a
NOP instruction is encountered at the end of a function, the remaining
non-instruction bytes are marked as executed. The loop that marks the
remaining bytes as executed was not considering the last address of the
function.

Closes #4448

Author: Amar Takhar

2024-04-25T20:49:05.216Z

changed the description

4442 - CID 1399721: Copy into fixed size buffer

Id

4442

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Gedare Bloom

Created

2021-05-26T17:52:45.000Z

Updated

2024-04-25T20:49:04.652Z

Milestone

6.1

Labels

library, priority::low, resolution::fixed, scan::coverity, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4442

Merges

0

Original author: hgerber

In pci_cfg_print_device: A source buffer of statically unknown size is copied into a fixed-size destination buffer (CWE-120)

Author: Gedare Bloom

2021-05-26T18:10:12.000Z

Original author: hgerber

  • Milestone set to %”6.1”

  • Owner set to @gedare

  • Status changed from new to accepted

Author: Trac Migrate

2021-05-26T22:45:46.000Z

Original author: hgerber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”e2011dca26b5efcf3ff14527af4be3d43142bd14/rtems” e2011dc/rtems]:

cpukit/libpci: fix potential buffer overflow in pci_cfg_print_code.c

See also CID 1399721

Closes #4442

Author: Amar Takhar

2024-04-25T20:49:04.757Z

changed the description

4435 - Thread cancellation may produce ready threads with an active thread timer

Id

4435

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-20T15:15:13.000Z

Updated

2024-04-25T20:49:04.199Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4435

Merges

0

Original author: sebastian.huber

The _Thread_Cancel() (in contrast to _Thread_Restart() which uses a similar code block) may produce ready threads with an active timer in case the thread to cancel has its thread life protection enabled. The problem is this code block:

Priority_Control priority;

_Thread_Add_life_change_request( the_thread );

if ( _Thread_Is_life_change_allowed( previous ) ) {
_Thread_State_release( the_thread, &lock_context );

_Thread_queue_Extract_with_proxy( the_thread );
_Thread_Timer_remove( the_thread );
} else {
_Thread_Clear_state_locked( the_thread, STATES_SUSPENDED );
_Thread_State_release( the_thread, &lock_context );
}

priority = _Thread_Get_priority( executing );
_Thread_Raise_real_priority( the_thread, priority );
_Thread_Remove_life_change_request( the_thread );

The life change request should only be added/removed if a life change is allowed (see _Thread_Restart()).

Author: Trac Migrate

2021-05-26T12:41:24.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”ce6319ade410d304c187de6d107b52da4a32e255/rtems” ce6319a/rtems]:

score: Fix _Thread_Cancel()

The _Thread_Cancel() (in contrast to _Thread_Restart() which used a
similar code block) may have produced ready threads with an active timer
in case the thread to cancel had its thread life protection enabled. The
problem was this code block:

Priority_Control priority;

_Thread_Add_life_change_request( the_thread );

if ( _Thread_Is_life_change_allowed( previous ) ) {
_Thread_State_release( the_thread, &lock_context );

_Thread_queue_Extract_with_proxy( the_thread );
_Thread_Timer_remove( the_thread );
} else {
_Thread_Clear_state_locked( the_thread, STATES_SUSPENDED );
_Thread_State_release( the_thread, &lock_context );
}

priority = _Thread_Get_priority( executing );
_Thread_Raise_real_priority( the_thread, priority );
_Thread_Remove_life_change_request( the_thread );

The life change request should only be added/removed if a life change is
allowed (see _Thread_Restart()).  Add _Thread_Try_life_change_request()
and use it in _Thread_Cancel() and _Thread_Restart().

Close #4435.

Author: Amar Takhar

2024-04-25T20:49:04.243Z

changed the description

4432 - GcovFunctionData.cc: Uninitialized pointer field error spotted by coverity

Id

4432

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-19T16:08:42.000Z

Updated

2024-04-25T20:49:03.684Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4432

Merges

0

Original author: rlong

CID 1399640: Uninitialized pointer field in GcovFunctionData().

20  GcovFunctionData::GcovFunctionData()
21  {
22    numberOfArcs = 0;
23    numberOfBlocks = 0;
24    coverageMap = NULL;
2. uninit_member: Non-static class member id is not initialized in this constructor nor in any functions that it calls.
4. uninit_member: Non-static class member checksum is not initialized in this constructor nor in any functions that it calls.
6. uninit_member: Non-static class member firstLineNumber is not initialized in this constructor nor in any functions that it calls.
CID 1399640 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)8. uninit_member: Non-static class member symbolInfo is not initialized in this constructor nor in any functions that it calls.
25  }

Author: Trac Migrate

2021-05-19T16:09:58.000Z

Original author: rlong

  • Summary changed from DesiredSymbols.h: Uninitialized pointer field error spotted by coverity to GcovFunctionData.cc: Uninitialized pointer field error spotted by coverity

Author: Trac Migrate

2021-09-27T22:18:28.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”247d39ac7156d730a9f1b35a319f60786568e3b4/rtems-tools” 247d39a/rtems-tools]:

GcovFunctionData.cc: Initialize member variables

CID 1399640: Uninitialized pointer field

Closes #4432

Author: Amar Takhar

2024-04-25T20:49:03.792Z

changed the description

4430 - DesiredSymbols.cc: Uninitialized pointer read error spotted by Coverity

Id

4430

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-19T14:14:38.000Z

Updated

2024-04-25T20:49:02.683Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4430

Merges

0

Original author: rlong

CID 1503005: Uninitialized pointer read in load().

111        if (sym.type() == sym.st_func) {
20. alloc_fn: Calling operator new which returns uninitialized memory.
CID 1503005 (#2 of 2): Uninitialized pointer read (UNINIT)21. uninit_use_in_call: Using uninitialized value (new Coverage::SymbolInformation).sourceFile when calling operator =. [show details]
112          set[sym.name()] = *(new SymbolInformation);

Author: Trac Migrate

2021-08-04T18:04:04.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Author: Amar Takhar

2024-04-25T20:49:02.788Z

changed the description

4428 - ReportsBase.cc: Dereference after null check error spotted by Coverity

Id

4428

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-18T16:24:15.000Z

Updated

2024-04-25T20:49:02.184Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4428

Merges

0

Original author: rlong

CID 1503710: Dereference after null check in WriteAnnotatedReport().

12. var_compare_op: Comparing info.uncoveredRanges to null implies that info.uncoveredRanges might be null.
13. Condition info.uncoveredBranches == NULL, taking false branch.
219    if ((info.uncoveredRanges == NULL) &&
220        (info.uncoveredBranches == NULL))
5. Continuing loop.
9. Continuing loop.
221      continue;
222
223    // If uncoveredRanges and uncoveredBranches are empty, then everything
224    // must have been covered for this symbol.  Just skip it.
CID 1503710 (#1 of 1): Dereference after null check (FORWARD_NULL)14. var_deref_model: Passing null pointer info.uncoveredRanges->set to empty, which dereferences it. [show details]
225    if ((info.uncoveredRanges->set.empty()) &&
226        (info.uncoveredBranches->set.empty()))
227      continue;

Author: Trac Migrate

2021-10-07T14:29:59.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”724505095ae634b485d1b1b8888b147e3a130ea0/rtems-tools” 7245050/rtems-tools]:

ReportsBase.cc: Add assert for member variables

The uncoveredRanges and uncoveredBranch member variables are allocated
as a pair. They are both either NULL or not NULL. Coverity does not know
this though, so this assert is added to ensure they are not NULL before
being dereferenced.

CID 1503710: Dereference after null check

Closes #4428

Author: Amar Takhar

2024-04-25T20:49:02.292Z

changed the description

4427 - GcovData.cc: Dereference after null check error spotted by Coverity

Id

4427

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-18T16:19:41.000Z

Updated

2024-04-25T20:49:01.682Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4427

Merges

0

Original author: rlong

CID 1399597: Dereference after null check in readGcnoFile().

53    strcpy( gcnoFileName, fileName );
54    strcpy( gcdaFileName, fileName );
55    strcpy( textFileName, fileName );
56    strcpy( cFileName, fileName );
57    tempString = strstr( gcdaFileName,".gcno" );
58    tempString2 = strstr( textFileName,".gcno" );
59    tempString3 = strstr( cFileName,".gcno" );
60
2. Condition tempString == NULL, taking true branch.
3. var_compare_op: Comparing tempString to null implies that tempString might be null.
4. Condition tempString2 == NULL, taking false branch.
61    if ( (tempString == NULL) && (tempString2 == NULL) ){
62      fprintf(stderr, "ERROR: incorrect name of *.gcno file\\n");
63    }
64    else
65    {
CID 1399597 (#1 of 1): Dereference after null check (FORWARD_NULL)5. var_deref_model: Passing null pointer tempString to strcpy, which dereferences it.
66      strcpy( tempString, ".gcda");             // construct gcda file name
67      strcpy( tempString2, ".txt");             // construct report file name
68      strcpy( tempString3, ".c");               // construct source file name
69    }

Author: Trac Migrate

2021-08-04T17:59:59.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Author: Amar Takhar

2024-04-25T20:49:01.789Z

changed the description

4426 - clock_nanosleep() may use wrong clock for relative times

Id

4426

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-18T11:09:45.000Z

Updated

2024-04-25T20:49:01.245Z

Milestone

6.1

Labels

api::posix, priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4426

Merges

0

Original author: sebastian.huber

For relative times, the clock identifier is not used to select the clock and instead always the CLOCK_MONOTONIC is used. A side-effect is that sleep() and nanosleep() use the wrong clock (CLOCK_MONOTONIC instead of CLOCK_REALTIME).

Author: Trac Migrate

2021-05-18T11:55:05.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- For relative times, the clock identifier is not used to select the clock and instead always the CLOCK_REALTIME is used.
+ For relative times, the clock identifier is not used to select the clock and instead always the CLOCK_MONOTONIC is used. A side-effect is that sleep() and nanosleep() use the wrong clock (CLOCK_MONOTONIC instead of CLOCK_REALTIME).

Author: Trac Migrate

2021-05-18T18:32:39.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”24c6293294916e0224278854f73434205aa5d0c8/rtems” 24c62932/rtems]:

posix: Fix use of clock for relative times

Close #4426.

Author: Amar Takhar

2024-04-25T20:49:01.283Z

changed the description

4425 - GcovFunctionData.cc: Copy into fixed size buffer errors spotted by Coverity

Id

4425

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T21:51:03.000Z

Updated

2024-04-25T20:49:00.736Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4425

Merges

0

Original author: ralo96

CID 1063892: Copy into fixed size buffer in addBlock().

CID 1399613 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)1. fixed_size_dest: You might overrun the 256-character fixed-size string block.sourceFileName by copying sourceFileName without checking the length.
2. parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
184    strcpy (block.sourceFileName, sourceFileName);

CID 1399616: Copy into fixed size buffer in setBlockFileName().

CID 1399616 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)1. fixed_size_dest: You might overrun the 256-character fixed-size string block->sourceFileName by copying fileName without checking the length.
2. parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function.
298    strcpy(block->sourceFileName, fileName);

Author: Trac Migrate

2021-05-17T21:57:02.000Z

Original author: ralo96

Replying to Ryan Long:

CID 1063892: Copy into fixed size buffer in addBlock(). CID is actually 1399613

{{{ CID 1399613 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)1. fixed_size_dest: You might overrun the 256-character fixed-size string block.sourceFileName by copying sourceFileName without checking the length. 2. parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. 184 strcpy (block.sourceFileName, sourceFileName); }}} CID 1399616: Copy into fixed size buffer in setBlockFileName(). {{{ CID 1399616 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)1. fixed_size_dest: You might overrun the 256-character fixed-size string block->sourceFileName by copying fileName without checking the length. 2. parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. 298 strcpy(block->sourceFileName, fileName); }}}

Author: Trac Migrate

2021-12-16T20:49:57.000Z

Original author: ralo96

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Author: Amar Takhar

2024-04-25T20:49:00.846Z

changed the description

4424 - rtems-bin2c.c: Copy into fixed size buffer spotted by Coverity

Id

4424

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T20:57:47.000Z

Updated

2024-04-25T20:49:00.230Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4424

Merges

0

Original author: ralo96

CID 1063892: Copy into fixed size buffer in process().

141  char *ifbasename;
142  ifbasename = basename(ifbasename_to_free);
143
CID 1063892 (#1 of 1): Copy into fixed size buffer (STRING_OVERFLOW)13. fixed_size_dest: You might overrun the 1025-character fixed-size string buf by copying ifbasename without checking the length.
144  strcpy(buf, ifbasename);

Author: Trac Migrate

2021-09-29T14:58:29.000Z

Original author: ralo96

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”05dab02722b7df3f1f231884e5f58cc7be969b75/rtems-tools” 05dab02/rtems-tools]:

rtems-bin2c.c: Check length of buffer to be copied

CID 1063892: Copy into fixed size buffer in process().

Closes #4424

Author: Amar Takhar

2024-04-25T20:49:00.336Z

changed the description

4423 - record-client.c: Unchecked return value error spotted by Coverity

Id

4423

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T19:14:04.000Z

Updated

2024-04-25T20:48:59.733Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4423

Merges

0

Original author: rlong

CID 1503011: Unchecked return value in resolve_hold_back().

191    for ( index = begin_index; index < per_cpu->item_index; ++index ) {
192      const rtems_record_item_64 *item;
193
194      item = &per_cpu->items[ index ];
CID 1503011 (#1 of 1): Unchecked return value (CHECKED_RETURN)12. check_return: Calling visit without checking return value (as is done elsewhere 4 out of 5 times).
195      visit( ctx, item->event, item->data );

Author: Trac Migrate

2021-09-30T16:07:40.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”7c37893893fe879c21724fbf7ffda3c50a1bd086/rtems-tools” 7c37893/rtems-tools]:

record-client.c: Ignore return value from visit()

CID 1503011: Unchecked return value in resolve_hold_back().

Closes #4423

Author: Amar Takhar

2024-04-25T20:48:59.839Z

changed the description

4422 - ReportsBase.cc: Resource leak error spotted by Coverity

Id

4422

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T16:50:30.000Z

Updated

2024-04-25T20:48:59.214Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4422

Merges

0

Original author: rlong

CID 1503711: Resource leak in WriteSummaryReport().

548    fprintf(
549      report,
550      "Percentage branch paths covered  : %4.4g\\n",
551      100.0 - percentageBranches
552    );
553  }
CID 1503711 (#1 of 1): Resource leak (RESOURCE_LEAK)34. leaked_storage: Variable report going out of scope leaks the storage it points to.
554}
555

Author: Trac Migrate

2021-06-04T17:23:28.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”5278060818cf0119f1ceb8b53187667c90359bf8/rtems-tools” 52780608/rtems-tools]:

ReportsBase.cc: Fix Resource leak

CID 1503711: Resource leak in WriteSummaryReport().

Closes #4422

Author: Amar Takhar

2024-04-25T20:48:59.322Z

changed the description

4421 - DesiredSymbols.cc: Resource leak error spotted by Coverity

Id

4421

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T16:48:44.000Z

Updated

2024-04-25T20:48:58.712Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4421

Merges

0

Original author: rlong

CID 1503018: Resource leak in load().

13. alloc_fn: Storage is returned from allocation function operator new.
14. noescape: Resource new Coverage::SymbolInformation is not freed or pointed-to in operator =. [show details]
CID 1503018 (#2 of 2): Resource leak (RESOURCE_LEAK)15. leaked_storage: Failing to save or free storage allocated by new Coverage::SymbolInformation leaks it.
104          set[sym.name()] = *(new SymbolInformation);

Author: Trac Migrate

2021-06-04T17:23:26.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”9527f6580e4e624f0b4e095beca5adaa05717bf0/rtems-tools” 9527f65/rtems-tools]:

DesiredSymbols.cc: Fix resource leak

CID 1503018: Resource leak in load().

Closes #4421

Author: Amar Takhar

2024-04-25T20:48:58.817Z

changed the description

4420 - TraceWriterQEMU.cc: Resource leak error spotted by Coverity

Id

4420

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T16:35:57.000Z

Updated

2024-04-25T20:48:58.204Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4420

Merges

0

Original author: rlong

CID 1399621: Resource leak in writeFile().

5. noescape: Resource traceFile is not freed or pointed-to in fwrite.
116    status = ::fwrite( &header, sizeof(trace_header), 1, traceFile );
6. Condition status != 1, taking true branch.
117    if (status != 1) {
118      std::cerr << "Unable to write header to " << file << std::endl;
CID 1399621 (#1 of 1): Resource leak (RESOURCE_LEAK)7. leaked_storage: Variable traceFile going out of scope leaks the storage it points to.
119      return false;

Author: Trac Migrate

2021-06-04T17:23:24.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”a0b54f09b91da3b9a8bb099a222caa721b28a5c8/rtems-tools” a0b54f0/rtems-tools]:

TraceWriterQEMU.cc: Fix resource leak

CID 1399621: Resource leak in writeFile().

Closes #4420

Author: Amar Takhar

2024-04-25T20:48:58.312Z

changed the description

4419 - TraceReaderLogQEMU.cc: Resource leak error spotted by Coverity

Id

4419

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T16:28:49.000Z

Updated

2024-04-25T20:48:57.698Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4419

Merges

0

Original author: rlong

CID 1399615: Resource leak in processFile().

113    //
114    //  Discard Header section
115    //
6. noescape: Resource logFile is not freed or pointed-to in ReadUntilFound. [show details]
7. Condition ReadUntilFound(logFile, "----------------"), taking true branch.
116    if (! ReadUntilFound( logFile, QEMU_LOG_SECTION_END ) ) {
117      fprintf( stderr, "Unable to locate end of log file header\\n" );
CID 1399615 (#2 of 2): Resource leak (RESOURCE_LEAK)8. leaked_storage: Variable logFile going out of scope leaks the storage it points to.
118      return false;

Author: Trac Migrate

2021-06-04T17:23:19.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”dfe012de71ec8550f158fc51e9c48fb06e37d32e/rtems-tools” dfe012d/rtems-tools]:

TraceReaderLogQEMU.cc: Fix resource leak

CID 1399615: Resource leak in processFile().

Closes #4419

Author: Amar Takhar

2024-04-25T20:48:57.806Z

changed the description

4418 - GcovData.cc: Resource leak error spotted by Coverity

Id

4418

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T16:20:07.000Z

Updated

2024-04-25T20:48:57.180Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4418

Merges

0

Original author: rlong

CID 1399610: Resource leak in readFrame().

250        newFunction = new GcovFunctionData;
5. noescape: Resource newFunction is not freed or pointed-to in readFunctionFrame. [show details]
6. Condition !this->readFunctionFrame(header, gcovFile, newFunction), taking true branch.
251        if ( !readFunctionFrame(header, gcovFile, newFunction) ){
252          fprintf( stderr, "Error while reading FUNCTION from gcov file...\\n" );
CID 1399610 (#1 of 1): Resource leak (RESOURCE_LEAK)7. leaked_storage: Variable newFunction going out of scope leaks the storage it points to.
253          return false;
254        }

Author: Trac Migrate

2021-06-04T17:23:22.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”08d9f37d521f5540086c3e7d8de98faf03fb10ff/rtems-tools” 08d9f37/rtems-tools]:

GcovData.cc: Fix resource leak

CID 1399610: Resource leak in readFrame().

Closes #4418

Author: Amar Takhar

2024-04-25T20:48:57.292Z

changed the description

4417 - Explanations.cc: Resource leak error spotted by Coverity

Id

4417

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T16:17:31.000Z

Updated

2024-04-25T20:48:56.670Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4417

Merges

0

Original author: rlong

CID 1399608: Resource leak in load().

CID 1399608 (#1 of 1): Resource leak (RESOURCE_LEAK)9. leaked_storage: Variable explain going out of scope leaks the storage it points to.

Author: Trac Migrate

2021-05-17T16:21:48.000Z

Original author: rlong

Replying to Ryan Long:

CID 1399608: Resource leak in load().

CID 1399608 (#1 of 1): Resource leak (RESOURCE_LEAK)9. leaked_storage: Variable explain going out of scope leaks the storage it points to.
}}}
Also,
CID 1399611: Resource leak in load().
{{{
48    while ( 1 ) {
4. alloc_fn: Storage is returned from allocation function operator new.
5. var_assign: Assigning: e = storage returned from new Coverage::Explanation.
CID 1399611 (#2 of 2): Resource leak (RESOURCE_LEAK)21. overwrite_var: Overwriting e in e = new Coverage::Explanation leaks the storage that e points to.
49      e = new Explanation;

Author: Trac Migrate

2021-06-04T17:23:17.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”9f4887ccafa77d8c477e7a1d6995b6cbc3b20476/rtems-tools” 9f4887c/rtems-tools]:

Explanations.cc: Fix resource leaks

CID 1399608: Resource leak in load().
CID 1399611: Resource leak in load().

Closes #4417

Author: Amar Takhar

2024-04-25T20:48:56.774Z

changed the description

4416 - rtems-exeinfo.cpp: Division or modulo by zero errors spotted by Coverity

Id

4416

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T15:29:32.000Z

Updated

2024-04-25T20:48:56.157Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4416

Merges

0

Original author: rlong

CID 1503008: Division or modulo by zero in output_inlined().

CID 1503008 (#1 of 1): Division or modulo by zero (DIVIDE_BY_ZERO)9. divide_by_zero: In expression funcs_inlined.size() * 100UL / total, division by expression total which may be zero has undefined behavior.
801      std::cout << "inlined funcs   : " << funcs_inlined.size () << std::endl
802                << "    total funcs : " << total << std::endl
803                << " % inline funcs : " << (funcs_inlined.size () * 100) / total << '%'
804                << std::endl

CID 1503015: Division or modulo by zero in output_inlined().

CID 1503015 (#1-2 of 2): Division or modulo by zero (DIVIDE_BY_ZERO)18. divide_by_zero: In expression inlined_size * 100UL / total_size, division by expression total_size which may be zero has undefined behavior.
805                << "     total size : " << total_size << std::endl
806                << "    inline size : " << inlined_size << std::endl
807                << "  % inline size : " << (inlined_size * 100) / total_size << '%'
808                << std::endl;

Author: Trac Migrate

2021-06-29T21:01:12.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”7d3b8acf605f64430baa2c0568cf6f99596bc284/rtems-tools” 7d3b8ac/rtems-tools]:

rtems-exeinfo.cpp: Fix division by zero errors

CID 1503008: Division or modulo by zero
CID 1503015: Division or modulo by zero

Closes #4416

Author: Amar Takhar

2024-04-25T20:48:56.270Z

changed the description

4415 - ReportsBase.cc: Division or modulo by float zero error spotted by Coverity

Id

4415

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-17T14:47:47.000Z

Updated

2024-04-25T20:48:55.646Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverity, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4415

Merges

0

Original author: rlong

CID 1503709: Division or modulo by float zero in WriteSummaryReport().

485  percentage = (double) notExecuted;
CID 1503709 (#1 of 1): Division or modulo by float zero (DIVIDE_BY_ZERO)7. divide_by_zero: In expression percentage /= (double)totalBytes, division by expression totalBytes which may be zero has undefined behavior.
486  percentage /= (double) totalBytes;
487  percentage *= 100.0;

Author: Trac Migrate

2021-06-29T21:01:09.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”ffbf3139286122e3b5c7ed90eb83cba590f9a9e4/rtems-tools” ffbf313/rtems-tools]:

ReportsBase.cc: Remove possible division by zero

CID 1503709: Division or modulo by float zero

Closes #4415

Author: Amar Takhar

2024-04-25T20:48:55.753Z

changed the description

4414 - Return RTEMS_CALLED_FROM_ISR in rtems_task_delete()

Id

4414

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-14T16:52:47.000Z

Updated

2024-04-25T20:48:55.186Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4414

Merges

0

Original author: sebastian.huber

Calling rtems_task_delete() from within interrupt context has an unpredictable behaviour. It depends on which thread is interrupted. Return an error status instead.

Author: Trac Migrate

2021-05-26T12:41:13.000Z

Original author: sebastian.huber

In [changeset:”b81d1ffd236574dcb9fca539c1efb631165877ea/rtems” b81d1ffd/rtems]:

rtems: Return RTEMS_CALLED_FROM_ISR

If rtems_task_delete() is called from within interrupt context, then
return RTEMS_CALLED_FROM_ISR.  This makes the behaviour predictable.

Update #4414.

Author: Trac Migrate

2021-05-27T05:08:57.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”2509b62106c32560a2fad001eaef63cac8d53fd4/rtems-docs” 2509b62/rtems-docs]:

c-user: Document new rtems_task_delete() error

Close #4414.

Author: Trac Migrate

2021-05-27T05:13:14.000Z

Original author: sebastian.huber

In [changeset:”2fdd00fcdc4361f46c727a601d9ee5ece01ca230/rtems” 2fdd00f/rtems]:

rtems: Document new rtems_task_delete() error

Update #4414.

Author: Amar Takhar

2024-04-25T20:48:55.242Z

changed the description

4413 - Allow pthread_cancel() from within interrupt context

Id

4413

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-14T15:39:21.000Z

Updated

2024-04-25T20:48:54.746Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4413

Merges

0

Original author: sebastian.huber

The pthread_cancel() does not immediately delete resources if invoked for threads other than the executing thread. With minor changes it may be called also from within interrupt context.

Author: Trac Migrate

2021-05-14T16:35:56.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- The rtems_task_delete() and pthread_cancel() do not immediately delete resources if invoked for threads other than the executing thread. With minor changes they can be called also from within interrupt context.
?    ------------------------                                                                                                                                  ^^ ----

+ The pthread_cancel() does not immediately delete resources if invoked for threads other than the executing thread. With minor changes it may be called also from within interrupt context.
?                        ++                                                                                                             + ^^^
  • Summary changed from Allow rtems_task_delete() and pthread_cancel() from within interrupt context to Allow pthread_cancel() from within interrupt context

Author: Trac Migrate

2021-05-26T12:41:20.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”29187be532c7d6c7b81f2e7def132bbfba7c916c/rtems” 29187be/rtems]:

posix: Allow pthread_cancel() from within ISRs

Close #4413.

Author: Amar Takhar

2024-04-25T20:48:54.785Z

changed the description

4412 - Unexpected rtems_task_restart() behaviour if called from within interrrupt context

Id

4412

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-14T12:49:57.000Z

Updated

2024-04-25T20:48:54.299Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4412

Merges

0

Original author: sebastian.huber

In rtems_task_restart() there is a check if the executing thread is restarted. However, in interrupt context, this simple check results in an internal error INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL if the executing thread is restarted. Check also if an ISR is in progress to make sure the thread restart works within interrupt context.

Author: Joel Sherrill

2021-05-14T13:01:36.000Z

Original author: sebastian.huber

This service is not documented as being allowed from an ISR. Only task suspend and resume are documented as allowed. I assume by “works” you mean that it returns an error without an internal error.

Author: Trac Migrate

2021-05-14T13:08:57.000Z

Original author: sebastian.huber

The rtems_task_restart() works well if called from within interrupt context if you use _ISR_Is_in_progress() to determine a self restart. This directive doesn’t use a mutex internally only ISR locks.

Author: Trac Migrate

2021-05-14T15:05:31.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”73ebf9a27ed5cd0fd3e0dc0da98345d7faa610a2/rtems” 73ebf9a/rtems]:

rtems: Fix task restart within interrupt context

rtems_task_restart() may be called from within interrupt context.  So
checking only that the thread to restart is equal to the executing
thread is insufficient to determine a self restart.  We have to also
check that no ISR is in progress.  Merge _Thread_Restart_other() and
_Thread_Restart_self() into one _Thread_Restart() since they share a lot
of common code.

Close #4412.

Author: Trac Migrate

2021-05-26T12:41:27.000Z

Original author: sebastian.huber

In [changeset:”de694b753ca11136adce7600d55642695c8ef39d/rtems” de694b75/rtems]:

score: Direct thread dispatch in a self restart

Commit 73ebf9a27ed5cd0fd3e0dc0da98345d7faa610a2 accidentally removed the
direct thread dispatch in a self thread restart.  In case of a self
restart (always in task context) the directive shall not return.  If
this is not possible due to a bad thread dispatch disable level, then a
fatal error shall occur.

Update #4412.

Author: Amar Takhar

2024-04-25T20:48:54.338Z

changed the description

4411 - rtems_task_restart() should set the real priority to the initial priority

Id

4411

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-14T11:58:30.000Z

Updated

2024-04-25T20:48:53.854Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4411

Merges

0

Original author: sebastian.huber

The rtems_task_restart() directive should set the real priority to the initial priority. If another task is restarted this is only under certain conditions. The RTEMS 4.5.0 behaviour was to unconditionally set the real priority to the initial priority during a task restart.

Author: Trac Migrate

2021-05-14T12:46:18.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- The rtems_task_restart() directive should set the real priority to the initial priority.  Currently, this is only done if another task is restarted and only under certain conditions.  The RTEMS 4.5.0 behaviour was to unconditionally set the real priority to the initial priority during a task restart.
?                                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ The rtems_task_restart() directive should set the real priority to the initial priority.  If another task is restarted this is only under certain conditions.  The RTEMS 4.5.0 behaviour was to unconditionally set the real priority to the initial priority during a task restart.
?                                                                                           ^                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Author: Trac Migrate

2021-05-14T15:05:27.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b9083c5597d4130c23549fba66bd83d02663f463/rtems” b9083c55/rtems]:

rtems: Always set the real priority during restart

Unconditionally set the real priority of the task to its initial
priority during a task restart.

Close #4411.

Author: Amar Takhar

2024-04-25T20:48:53.892Z

changed the description

4406 - rtems: Constify rtems_task_wake_when()

Id

4406

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-11T11:40:31.000Z

Updated

2024-04-25T20:48:52.599Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4406

Merges

0

Original author: sebastian.huber

The time of day pointer can be made constant in this directive.

Author: Trac Migrate

2021-05-12T19:27:04.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”523867de9d274d2bdc29ce649d764b42a9167c0e/rtems” 523867d/rtems]:

rtems: Constify rtems_task_wake_when()

Add a parameter to _TOD_Validate() to disable the validation of the
ticks member.

There are two reasons for this change.  Firstly, in
rtems_task_wake_when() was a double check for time_buffer == NULL (one
in rtems_task_wake_when() and one in _TOD_Validate()).  Secondly, the
ticks member is ignored by rtems_task_wake_when().  This was done with a
write of zero to the ticks member and thus a modification of the
user-provided structure.  Now the structure is no longer modified.
Using a mask parameter is quite efficient. You just have to load an
immediate value and there are no additional branches in _TOD_Validate().

Close #4406.

Author: Trac Migrate

2021-05-12T19:32:26.000Z

Original author: sebastian.huber

In [changeset:”2588e8bf3540390a0e9066d40adcf1afb2a89c54/rtems-docs” 2588e8b/rtems-docs]:

c-user: Constify rtems_task_wake_when()

Update #4406.

Author: Trac Migrate

2021-05-14T06:10:25.000Z

Original author: sebastian.huber

In [changeset:”45a34953256b237171a2ceea310b370b309cd29b/rtems” 45a34953/rtems]:

rtems: Add TOD_Ticks_validation

Replace defines with an enum.

Update #4406.

Author: Trac Migrate

2021-05-17T06:05:46.000Z

Original author: sebastian.huber

In [changeset:”98cb84ea2fd5a65d3f98363a9ecaed012fbc2231/rtems” 98cb84e/rtems]:

arm/altera-cyclone-v: Fix compile error

Update #4406.

Author: Amar Takhar

2024-04-25T20:48:52.639Z

changed the description

4401 - rtems: Change rtems_scheduler_get_processor_set() status

Id

4401

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-05T11:33:35.000Z

Updated

2024-04-25T20:48:52.094Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4401

Merges

0

Original author: sebastian.huber

In case the processor set is not large enough to contain the processor set of the scheduler return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object.

A similar change was done in #4393.

Author: Trac Migrate

2021-05-06T13:15:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”48898b3a5d27a73a65f2b7520ceb53005d45c984/rtems” 48898b3/rtems]:

rtems: rtems_scheduler_get_processor_set() status

In case the processor set is not large enough to contain the processor
set owned by the scheduler return RTEMS_INVALID_SIZE instead of
RTEMS_INVALID_NUMBER. This is more in line with other directives since
the issue is related to the size of an object.

Close #4401.

Author: Trac Migrate

2021-05-07T06:09:35.000Z

Original author: sebastian.huber

In [changeset:”6822af7579e9ffcd947b4e3990c14eeb4e932b29/rtems” 6822af7/rtems]:

rtems: rtems_scheduler_get_processor_set() docs

Document changed error status.

Update #4401.

Author: Trac Migrate

2021-05-07T06:19:33.000Z

Original author: sebastian.huber

In [changeset:”e8cd4d3bec627680e83cf352bd93086b36192c0a/rtems-docs” e8cd4d3/rtems-docs]:

c-user: rtems_scheduler_get_processor_set()

Document changed error status.

Update #4401.

Author: Amar Takhar

2024-04-25T20:48:52.142Z

changed the description

4393 - rtems: Change rtems_task_get_affinity() status

Id

4393

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-27T17:37:41.000Z

Updated

2024-04-25T20:48:51.656Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4393

Merges

0

Original author: sebastian.huber

In case the processor set is not large enough to contain the processor affinity set of the task return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object.

Author: Trac Migrate

2021-04-27T17:53:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”4b7c77bce370d2ff88c9fb9036e5f3a3b1da9cb7/rtems” 4b7c77b/rtems]:

rtems: Change rtems_task_get_affinity() status

In case the processor set is not large enough to contain the processor
affinity set of the task return RTEMS_INVALID_SIZE instead of
RTEMS_INVALID_NUMBER. This is more in line with other directives since
the issue is related to the size of an object.

Close #4393.

Author: Amar Takhar

2024-04-25T20:48:51.695Z

changed the description

Author: Amar Takhar

2024-04-25T20:48:52.202Z

mentioned in issue #4401

4392 - rtems: Constify timer fire when directives

Id

4392

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-27T17:33:36.000Z

Updated

2024-04-25T20:48:51.211Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4392

Merges

0

Original author: sebastian.huber

The time of day pointer can be made constant in the timer fire when directives.

Author: Trac Migrate

2021-04-27T17:34:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”2684f2a38096dcace313e9ba953782bd756e4fc8/rtems” 2684f2a3/rtems]:

rtems: Constify timer fire when directives

Close #4392.

Author: Trac Migrate

2021-04-28T07:04:08.000Z

Original author: sebastian.huber

In [changeset:”de8fe65f57c92ef54edbac2cf9965a3581335470/rtems-docs” de8fe65/rtems-docs]:

c-user: Constify timer fire when directives

Update #4392.

Author: Amar Takhar

2024-04-25T20:48:51.250Z

changed the description

4390 - Make zero size allocation result consistent across directives

Id

4390

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-20T18:37:10.000Z

Updated

2024-04-25T20:48:50.771Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4390

Merges

0

Original author: sebastian.huber

There is a special case in malloc() which results in a malloc( 0 ) == NULL invariant. This special case should move to rtems_heap_allocate_aligned_with_boundary() to have a consistent behaviour across the API level memory allocation directives.

Author: Trac Migrate

2021-04-20T18:37:24.000Z

Original author: sebastian.huber

  • Summary changed from Make zero size allocation result consistent accross directives to Make zero size allocation result consistent across directives

Author: Joel Sherrill

2021-04-20T22:41:58.000Z

Original author: sebastian.huber

This is an area of undefined behavior per POSIX. It might be worth considering having this be a debug failure.

https://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html

Author: Trac Migrate

2021-04-21T04:43:41.000Z

Original author: sebastian.huber

It is not undefined behaviour in the latest POSIX edition:

https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html

It is implementation-defined behaviour. The implementation has two options. The RTEMS malloc( 0 ) returns NULL. Linux seems to return a unique pointer.

The rtems_memalign(&p, 8, 0) returns a unique pointer. I think this size == 0 behaviour should be consistent in RTEMS.

Author: Trac Migrate

2021-05-04T11:08:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”d692c62dfbf834c16ef7f171ea3161b3f3fac06b/rtems” d692c62d/rtems]:

Make zero size allocation result consistent

The zero size allocations had no consistent behaviour in RTEMS.  For
example, malloc( 0 ) returned NULL and posix_memalign( &p, align, 0 )
returned in p a unique pointer (or NULL if no memory is available).  In
POSIX, zero size memory allocations are implementation-defined
behaviour.  The implementation has two options:

https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html

https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html

Linux and FreeBSD return a unique pointer for zero size memory
allocations.   Use this approach for RTEMS as well throughout the memory
allocation directives

Close #4390.

Author: Trac Migrate

2021-05-06T13:15:09.000Z

Original author: sebastian.huber

In [changeset:”2c5199bb049efe8e29cd12461dc57bd6e30388e8/rtems” 2c5199b/rtems]:

Return NULL for zero size allocations

In POSIX, zero size memory allocations are implementation-defined
behaviour.  The implementation has two options:

https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html

https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html

Linux and FreeBSD return a unique pointer for zero size memory
allocations.   Return NULL on RTEMS to more likely catch the use of a
zero size memory area by erroneous applications.

Update #4390.

Author: Trac Migrate

2021-05-07T05:08:44.000Z

Original author: sebastian.huber

In [changeset:”c46d125569a215226602a7d4b9c346ee074fe365/rtems” c46d125/rtems]:

Check the alignment in posix_memalign() earlier

Make sure all conditions to do a proper memory allocation are satisfied
before a zero size memory allocation is performed.

Update #4390.

Author: Amar Takhar

2024-04-25T20:48:50.809Z

changed the description

4389 - Undefined behaviour if the area size calculation in calloc() and rtems_calloc() overflows

Id

4389

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-20T18:32:51.000Z

Updated

2024-04-25T20:48:50.337Z

Milestone

6.1

Labels

library, priority::normal, qualification, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4389

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2021-04-21T05:03:30.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”51defd927427b5b74c3a0c0f0b5c161929547cfc/rtems” 51defd92/rtems]:

Fix calloc() behaviour in case of overflow

The multiplication to calculate the length of the memory area to
allocate may overflow.  Return NULL in case of an overflow.

Close #4389.

Author: Amar Takhar

2024-04-25T20:48:50.373Z

changed the description

4387 - covoar marks taken/not taken incorrectly for AArch64

Id

4387

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-16T18:11:01.000Z

Updated

2024-04-25T20:48:49.904Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4387

Merges

0

Original author: Alex

The AArch64 annotated assembly produced by covoar reveals that branches that are never taken are marked “ALWAYS TAKEN” and branches that are always taken are marked “NEVER TAKEN”.

It appears that this is caused by incorrect return values in TargetBase::qemuTakenBit() and TargetBase::qemuNotTakenBit(). These methods should be overridden in Target_aarch64 so that the return values are switched.

Author: Trac Migrate

2021-04-16T18:11:12.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-04-16T22:29:05.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”0c4884a0d071dd56e6eb8f67ea6d1a5092d6830e/rtems-tools” 0c4884a/rtems-tools]:

covoar/Target_aarch64: Swap QEMU taken/not taken bits

This overrides the `TargetBase` behavior to allow branches to be marked
correctly as either taken or not taken.

Closes #4387

Author: Amar Takhar

2024-04-25T20:48:49.943Z

changed the description

4386 - covoar missing conditional branch instructions on ARM

Id

4386

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-16T14:36:58.000Z

Updated

2024-04-25T20:48:49.445Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4386

Merges

0

Original author: Alex

Two ARM instructions, cbz and cbnz, are not being treated as conditional branch instructions by covoar currently. They should be added to the list of conditional branch instructions in Target_arm.

Author: Trac Migrate

2021-04-16T14:37:50.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-04-16T22:29:01.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”292363de55ca2d8b22500498400efaa68cc42473/rtems-tools” 292363d/rtems-tools]:

covoar/Target_arm: Add cbz and cbnz as branch instructions

This adds `cbz` and `cbnz` as conditional branch instructions for ARM as
they appear to have been missed.

Closes #4386

Author: Amar Takhar

2024-04-25T20:48:49.483Z

changed the description

4383 - covoar keeps DWARF info in memory too long

Id

4383

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-08T17:50:07.000Z

Updated

2024-04-25T20:48:49.004Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4383

Merges

0

Original author: Alex

To get covoar working again, the ELF and DWARF info cleanup was moved from the ExecutableInfo constructor to the ExecutableInfo destructor. Without this change, covoar would report the locations of symbols as unknown:-1. This is because the DWARF info is used later in the ExecutableInfo::getSourceAndLine() method with a call to debug.get_source().

This caused a new issue: the ELF and DWARF info is now held in memory for the life of the program. This causes very high memory usage when running covoar, more than 10 GB for some BSPs.

A quick and dirty solution is to find what is being referenced in debug.get_source() and preserve it after debug.end() is called. It appears that refraining from calling cus.clear() in rld::dwarf::file::end() would be a good place to start. Additionally, the rld::dwarf::sources class will likely need to be changed to copy out the DWARF source file info.

Author: Trac Migrate

2021-04-08T17:50:19.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-06-17T21:05:37.000Z

Original author: Alex

In [changeset:”a88be93a882379b59491e6661fad7dab0b358933/rtems-tools” a88be93/rtems-tools]:

covoar: Store only the file name in ExecutableInfo

This changes the ExecutableInfo class to only store the executable
file's name rather than an entire instance of rld::files::object. This
allows the rld::files::object to be cleaned up in the ExecutableInfo
constructor.

Updates #4383

Author: Trac Migrate

2021-06-17T21:05:39.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”ac56fce7c17e40c6ecd7980fa828a76550bbacb3/rtems-tools” ac56fce/rtems-tools]:

covoar: Store address-to-line info outside of DWARF

This adds the AddressToLineMapper class and supporting classes to
assume responsibility of tracking address-to-line information.

This allows the DWARF library to properly cleanup all of its resources
and leads to significant memory savings.

Closes #4383

Author: Amar Takhar

2024-04-25T20:48:49.047Z

changed the description

4378 - covoar/symbol-sets add libuuid to symbol-sets.ini

Id

4378

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-05T18:58:31.000Z

Updated

2024-04-25T20:48:48.571Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4378

Merges

0

Original author: Alex

libuuid should be added to the list of symbol sets in the symbol-sets.ini configuration file.

Author: Trac Migrate

2021-05-18T14:22:19.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Fixed in [https://git.rtems.org/rtems-tools/commit/?id=eecde471ccd4a87d9f51f6f0cce9e6791bf27835]

Author: Amar Takhar

2024-04-25T20:48:48.609Z

changed the description

4377 - covoar/Explanations Explanations::writeNotFound() NULL check of wrong variable

Id

4377

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-05T18:54:03.000Z

Updated

2024-04-25T20:48:48.133Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4377

Merges

0

Original author: Alex

The Explanations::writeNotFound() method contains two NULL checks for the fileName variable. The second check should be checking if notFoundFile is NULL because it relates to the error being reported in the true case.

It appears that this was a simple mistake that was never caught until now.

Author: Trac Migrate

2021-04-07T15:21:05.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Joel Sherrill

2021-04-07T15:23:52.000Z

Original author: Alex

Didn’t this get caught as part of reviewing a Coverity issue? Please cite one.

Author: Trac Migrate

2021-04-07T15:26:54.000Z

Original author: Alex

No, it got caught as part of my testing. It may have also been a Coverity issue, but I ran into a NULL pointer dereference with this.

Author: Joel Sherrill

2021-04-07T15:49:26.000Z

Original author: Alex

CID #1399602 is about a NULL reference in the same method which traces back to the incorrect variable being checked. Coverity didn’t realize it was the wrong variable but did find something wrong that could lead to a NULL pointer dereference.

Check me and please cite it in the ticket and git commit message.

Author: Trac Migrate

2021-04-07T20:36:39.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”e84b9f3a94c35c80785cf7a855a50f34bfe601e0/rtems-tools” e84b9f3/rtems-tools]:

covoar: Fix NULL check of wrong variable (CID #1399602)

CID 1399602: Dereference null return value in
Explanations::writeNotFound().

In Explanations::writeNotFound() there were two NULL checks of the
`fileName` variable where only one is needed. The second check has been
changed to a NULL check of `notFoundFile` to match the original intent.

Closes #4377

Author: Amar Takhar

2024-04-25T20:48:48.174Z

changed the description

4376 - covoar/ReportsBase Coverage::GenerateReports() uses raw pointer to std::list

Id

4376

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-05T18:29:36.000Z

Updated

2024-04-25T20:48:47.691Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4376

Merges

0

Original author: Alex

The Coverage::GenerateReports() function uses a variable of type std::list<ReportsBase *> to store the ReportsBase-derived classes used to generate the reports. The function should use an std::vector<std::unique_ptr<ReportsBase>> instead.

An std::vector is the preferred container type in this case because the constant-time insertion and removal properties of std::list are not needed. The smart pointer type std::unique_ptr<ReportsBase> is preferred over ReportsBase * because it eliminates the need for manual pointer deletion at the end of the function.

Author: Joel Sherrill

2021-04-05T18:35:16.000Z

Original author: Alex

  • Description changed

- The `Coverage::GenerateReports()` function uses an `std::list<ReportsBase *>` to store the `ReportsBase`-derived classes used to generate the reports. The function should use an `std::vector<std::unique_ptr<ReportsBase>>` instead.
?                                                  ^

+ The `Coverage::GenerateReports()` function uses a variable of type `std::list<ReportsBase *>` to store the `ReportsBase`-derived classes used to generate the reports. The function should use an `std::vector<std::unique_ptr<ReportsBase>>` instead.
?                                                  ^^^^^^^^^^^^^^^^^


An `std::vector` is the preferred container type in this case because the constant-time insertion and removal properties of `std::list` are not needed. The smart pointer type `std::unique_ptr<ReportsBase>` is preferred over `ReportsBase *` because it eliminates the need for manual pointer deletion at the end of the function.
  • Summary changed from covoar/ReportsBase Coverage::GenerateReports() uses raw pointer std::list to covoar/ReportsBase Coverage::GenerateReports() uses raw pointer to std::list

Author: Trac Migrate

2021-12-22T14:35:57.000Z

Original author: Alex

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”8167ad233947c3253e65da2e230594acbf461606/rtems-tools” 8167ad2/rtems-tools]:

ReportsBase: Change raw pointer to unique_ptr

Replaced raw pointer used with ReportsBase-derived classes to make code
cleaner and make it to where pointers do not have to be manually
deleted.

Closes #4376

Author: Amar Takhar

2024-04-25T20:48:47.734Z

changed the description

4374 - Handle symbol sets in covoar

Id

4374

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-05T17:59:13.000Z

Updated

2024-04-25T20:48:47.230Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, scan::coverage, tickettype::task, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4374

Merges

0

Original author: Alex

The covoar tool should be changed to handle all symbol sets for a coverage run rather than being called by coverage.py for each symbol set.

Currently, coverage.py calls covoar once for each symbol set found in the symbol-sets.ini configuration file. This leads to a lot of redundancy. For each symbol set, covoar has to process the objdumps and the coverage information of all the executables even though they do not change.

Changing covoar to process all symbol sets and generate reports in one invocation will result in a large speedup.

This will also require a minor modification to coverage.py to generate the correct .ini file and only call covoar once.

Author: Trac Migrate

2021-04-05T18:00:17.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-04-06T19:22:58.000Z

Original author: Alex

In [changeset:”b02600a6bbc4d0524b731e504c91bc293d70a354/rtems-tools” b02600a/rtems-tools]:

covoar: Split symbols by symbol set

This changes the way covoar organizes the symbols. Instead of treating
all symbols as one set, covoar is now aware of multiple symbol sets and
tracks statistics for each set. It now also generates reports for each
symbol set.

This change relieves the caller of covoar of the reponsibility of
managing the symbol sets. As a result, covoar can minimize the work
done for each symbol set, yielding a significant speedup.

Updates #4374

Author: Trac Migrate

2021-04-06T19:23:00.000Z

Original author: Alex

In [changeset:”b3fcd106855c941633113431782f155a9209ca87/rtems-tools” b3fcd10/rtems-tools]:

coverage.py: Call covoar once

Updates #4374

Author: Trac Migrate

2021-04-07T15:35:06.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”de185fe1a97d9640810d9e882cae511f512bc992/rtems-tools” de185fe/rtems-tools]:

covoar: Use range-based for loops in ReportsBase

Some of the loops in the ReportsBase::Write* methods contained both
regular and range-based for loops. This changes them to use only range-
based for loops.

Closes #4374

Author: Amar Takhar

2024-04-25T20:48:47.270Z

changed the description

4358 - Priority discipline is broken for semaphores and message queues in SMP configurations

Id

4358

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-25T08:08:58.000Z

Updated

2024-04-25T20:48:46.772Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4358

Merges

0

Original author: sebastian.huber

The priority queues in clustered scheduling configurations use a per scheduler priority queue rotation to ensure FIFO fairness across schedulers. This mechanism is implemented in the thread queue surrender operation. Unfortunately some semaphore and message queue directives use wrongly the thread queue extract operation.

Author: Trac Migrate

2021-09-02T05:48:04.000Z

Original author: sebastian.huber

In [changeset:”9c0591f12d450401746bc0bf7cd7a0e0b14a5f3b/rtems” 9c0591f1/rtems]:

score: Fix priority discipline handling

The priority queues in clustered scheduling configurations use a per
scheduler priority queue rotation to ensure FIFO fairness across
schedulers.  This mechanism is implemented in the thread queue surrender
operation.  Unfortunately some semaphore and message queue directives
used wrongly the thread queue extract operation.  Fix this through the
use of _Thread_queue_Surrender().

Update #4358.

Author: Trac Migrate

2021-09-02T05:53:41.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Message queues were fixed by #4509.

Author: Amar Takhar

2024-04-25T20:48:46.810Z

changed the description

4356 - rtems_semaphore_set_priority() uses an invalid SMP lock

Id

4356

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-23T17:14:03.000Z

Updated

2024-04-25T20:48:46.343Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4356

Merges

0

Original author: sebastian.huber

If the priority of a locked priority ceiling mutex is set, the used SMP lock sequence is invalid.

Author: Trac Migrate

2021-11-15T11:39:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”ee57a7f1a16dbbedbf07bc629de19667dae131eb/rtems” ee57a7f1/rtems]:

score: Fix _CORE_ceiling_mutex_Set_priority()

We have to use a second thread queue context to acquire and release the
thread wait lock.

Close #4356.

Author: Amar Takhar

2024-04-25T20:48:46.381Z

changed the description

4346 - Require RTEMS_PRIORITY for MrsP semaphores

Id

4346

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-16T13:25:03.000Z

Updated

2024-04-25T20:48:44.143Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4346

Merges

1

Original author: sebastian.huber

The MrsP semaphores are a generalization the priority ceiling semaphores for SMP configurations. Priority ceiling semaphores are required to use the priority task wait queue discipline. Require this discipline also for MrsP semaphores.

Author: Trac Migrate

2021-03-17T09:48:57.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3a66586c9e8432eee26b0e74c49c91362e22d24d/rtems” 3a66586/rtems]:

rtems: Allow RTEMS_PRIORITY for MrsP semaphores

In order to improve the compatibility of RTEMS 5.2 with future version
of RTEMS which fixed #4346 allow MrsP semaphores to be created with
RTEMS_PRIORITY.

Close #4347.

Author: Trac Migrate

2021-03-17T09:51:43.000Z

Original author: sebastian.huber

Issue was fixed by 0965b7c8b7956846167f43b813d68f8b5f2a60a1.

Author: Trac Migrate

2021-03-17T13:01:43.000Z

Original author: sebastian.huber

In [changeset:”f2bbea69afb880c9b6a58fe847f96baa5c3a5b36/rtems-docs” f2bbea6/rtems-docs]:

c-user: Update semaphore example

Update #4346.

Author: Amar Takhar

2024-04-25T20:48:44.182Z

changed the description

Author: Amar Takhar

2024-04-25T20:48:44.692Z

mentioned in issue #4347

4338 - rtems_clock_set(): Cannot set future dates later than approximately 2105

Id

4338

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-12T13:52:51.000Z

Updated

2024-04-25T20:48:43.491Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4338

Merges

0

Original author: frank_k

Short Problem Description

RTEMS Classic API Guide says:

RTEMS can represent time points of this clock in nanoseconds ranging from 1988-01-01T00:00:00.000000000Z to 2514-05-31T01:53:03.999999999Z.

  • Yet, years larger than roughly 2105 to 2110 cannot be set

(or at least the date should be wrong but this never occured in my tests).

The possible RETURN VALUES are RTEMS_SUCCESSFUL, RTEMS_INVALID_ADDRESS, RTEMS_INVALID_CLOCK

  • Yet, rtems_clock_set() can return status RTEMS_INVALID_NUMBER, too.

(Only for such dates in the far future.)

Call rtems_clock_set() with this time_of-day: { year = 2514, month = 5, day = 31, hour = 1, minute = 53, second = 3, ticks = 995 } The return value will be RTEMS_INVALID_NUMBER.

cpukit/rtems/src/clockset.c: rtems_clock_set() calls

  • cpukit/rtems/src/clocktodvalidate.c: _TOD_Validate() and

  • cpukit/rtems/src/clocktodtoseconds.c: _TOD_To_seconds() and

  • cpukit/score/src/coretodset.c: _TOD_Set()

First issue:

_TOD_To_seconds() converts the time_of_day structure into seconds using a variable time of type uint32_t. This simply overflows when in comes close to year 2110.

Debugger output at the end of _TOD_To_seconds():

(gdb) print the_tod->year
$16 = 2104
(gdb) print time
$17 = 4233686400

with a higher year:

(gdb) print the_tod->year
$28 = 2514
(gdb) print *the_tod
$31 = {
year = 2514,
month = 5,
day = 31,
hour = 1,
minute = 53,
second = 3,
ticks = 995
}
(gdb) print time
$29 = 192272

Second issue:

_TOD_To_seconds() can (most likely) not handle the leap year issues of the years 2200, 2300, 2400, 2500 because it has dedicated code for the 2100 case only:

  /* The year 2100 is not a leap year */
  if ( time


    = (TOD_SECONDS_AT_2100_03_01_00_00 - TOD_SECONDS_1970_THROUGH_1988)) {
    time -= TOD_SECONDS_PER_DAY;
    }




_TOD_Check_time_of_day_and_run_hooks() causes STATUS_INVALID_NUMBER
...................................................................


cpukit/score/src/coretodset.c: _TOD_Set() calls

* cpukit/score/src/coretodset.c:
_TOD_Check_time_of_day_and_run_hooks()

in this code snippet (note ``return status``):


.. code-block::

    status = _TOD_Check_time_of_day_and_run_hooks( tod );
    if ( status != STATUS_SUCCESSFUL ) {
    _TOD_Release( lock_context );
    return status;
    }


_TOD_Check_time_of_day_and_run_hooks( tod ) can return status STATUS_INVALID_NUMBER which is not documented for rtems_clock_set(). The small time in seconds value 192272 from the integer overrun discussed above triggers the middle ``if`` clause:


.. code-block::

    static Status_Control _TOD_Check_time_of_day_and_run_hooks(
    const struct timespec *tod
    )
    {
    if ( !_Watchdog_Is_valid_timespec( tod ) ) {
    return STATUS_INVALID_NUMBER;
    }

    if ( tod->tv_sec < TOD_SECONDS_1970_THROUGH_1988 ) {
    return STATUS_INVALID_NUMBER;
    }

    if ( _Watchdog_Is_far_future_timespec( tod ) ) {
    return STATUS_INVALID_NUMBER;
    }

    return _TOD_Hook_Run( TOD_ACTION_SET_CLOCK, tod );
    }



Final Notes
...........


* I found `#2665 <https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2665>`_ and #2548 but I do not say these are relevant here.
* ``#define WATCHDOG_MAX_SECONDS 0x3ffffffff`` in cpukit/include/rtems/score/watchdogimpl.h covers 17179869183 seconds which are some 544 years
* _TOD_Check_time_of_day_and_run_hooks() seems to be only used by _TOD_Set() but _TOD_Set() has three users.
* I did not check whether the invers conversation (rtems_clock_get_tod()) works for dates which are centuries in the future.

Author: Joel Sherrill

2021-03-12T14:02:46.000Z

Original author: frank_k

Will switching to time_t instead of uint32_t largely resolve this?

I think you might have missed some Classic API methods which might overflow. I think anything using uint32_t or rtems_interval related to seconds or ticks over long intervals is suspect. I spotted these:

  • rtems_clock_get_seconds_since_epoch() uses rtems_interval.

  • rtems_clock_get_ticks_since_boot() also uses rtems_interval but I think this overflows sooner than we’d like

I think the Classic API time of day structure is OK.

Author: Trac Migrate

2021-03-12T15:30:38.000Z

Original author: frank_k

  • time_t - I presume 64 bit - will avoid the overflow in _TOD_To_seconds() but

  • … there are still the not correctly handled far away leap years.

  • … there is STATUS_INVALID_NUMBER (Should not occur when the overflow is fixed. Yet, I do not like such incorrect code even if it should not trigger.)

  • Overruns in rtems_clock_get_ticks_since_boot() are OK because the Classic API Guide says:

    With a 1ms clock tick, this counter overflows after 50 days since boot. This is the historical measure of uptime in an RTEMS system. The newer service rtems_clock_get_uptime() is another and potentially more accurate way of obtaining similar information.

    • At other functions like rtems_clock_get_seconds_since_epoch() I had not have a look, yet.

Author: Joel Sherrill

2021-03-12T15:51:58.000Z

Original author: frank_k

OK. I was unclear but I was asking if it is time to move rtems_interval to 64-bits. This would address the historical ticks since boot and other intervals being 32 bits. The limit also applied to rtems_task_wake_after() and other APIs using rtems_interval for number of ticks.

Author: Trac Migrate

2021-03-12T16:25:14.000Z

Original author: frank_k

Could we please separate the 32-bit rtems_interval issues from this ticket.

If we need a 64-bit division we should think about limiting the time of day to the year 2104. If it is just a multiplication and a couple of leap year fixes, then we should keep the full watchdog range.

Author: Trac Migrate

2021-04-21T05:19:03.000Z

Original author: frank_k

In [changeset:”7bbbe4225c92b646faa14e5f5800ed2feba09899/rtems” 7bbbe42/rtems]:

clock:_TOD_To_seconds(): Fix year 2514 overflow

This patch fixes issue #4338 by changing _TOD_Validate()
to only accept years till 2105. This requires another patch
to change the documentation of rtems_clock_set() and other
affected API functions (indicating the end date is 2105 not 2514).

I tried to support till year 2514 but it turned out that
this needs changing the Timer Manager too. That in turn
would mean to change _TOD_Seconds_since_epoch( void )
from 32 to 64 bit. Sebastian pointed out that a naive extension
leads to trouble with 32 bit processors. He deemed a safe
re-implementation too costly performance wise considering
that year 2106 is far away and current binaries using RTEMS
Classic API are unlikely to be in use by 2106.

The constant TOD_SECONDS_AT_2100_03_01_00_00 in
cpukit/rtems/src/clocktodtoseconds.c happens to be wrong by
1 hour. When setting the date 2100-Feb-28 23:59:59 and then
reading the date again you will find yourself in 2100-Feb-27.

Update #4338

Author: Trac Migrate

2021-05-06T13:20:56.000Z

Original author: frank_k

Update on status:

This is fixed in code. What is missing is to update the documentation (i.e. removing the 2514-05-31T01:53:03.999999999Z in favor of 2104-12-31T23:59:59.999999999Z in Classic API and may be explaining that the internal clock will run beyond this limit and POSIX API can work with dates beyond 2105). A colleague of mine promised to do that.

Author: Trac Migrate

2021-09-06T10:25:56.000Z

Original author: frank_k

In [changeset:”ad41c17933e40f277d78b0f9d36b691c00bb8ca5/rtems” ad41c179/rtems]:

score: Change TOD_LATEST_YEAR to 2099

This simplifies the implementation a bit.  Declare _TOD_Days_to_date[] in
<rtems/score/todimpl.h>.  Make _TOD_Days_per_month[] and
_TOD_Days_since_last_leap_year[] static.

Update #4338.

Author: Trac Migrate

2021-09-06T10:27:18.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”081ec5d5e975c8295c768193af7f2e00129885d3/rtems-docs” 081ec5d/rtems-docs]:

c-user: Document time of day constraints

Close #4338.

Author: Trac Migrate

2021-09-06T10:40:03.000Z

Original author: frank_k

In [changeset:”c0435b5eb2f625356b42f9e35b897ac4cd1b21b4/rtems” c0435b5e/rtems]:

rtems: Document time of day constraints

Update #4338.

Author: Trac Migrate

2022-07-20T07:39:37.000Z

Original author: frank_k

In [changeset:”d4c21e516a1aee288fbefb79f9eba49be65517b7/rtems” d4c21e5/rtems]:

ada/sp09: The year 2100 cannot be set

Update #4338.

Author: Amar Takhar

2024-04-25T20:48:43.654Z

changed the description

4270 - A failing task extension produces zombi objects and resource leaks

Id

4270

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-25T17:40:21.000Z

Updated

2024-04-25T20:48:38.319Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4270

Merges

0

Original author: sebastian.huber

In _Thread_Initialize() we have this code:

_Objects_Open_u32( &information->Objects, &the_thread->Object, config->name );

/*
*  We assume the Allocator Mutex is locked and dispatching is
*  enabled when we get here.  We want to be able to run the
*  user extensions with dispatching enabled.  The Allocator
*  Mutex provides sufficient protection to let the user extensions
*  run safely.
*/
extension_status = _User_extensions_Thread_create( the_thread );
if ( extension_status )
return true;

If an extension fails, then the thread object is not closed. Also the delete extensions are not called. If a later create extension fails, the earlier create extensions may have allocated resources which could be freed by a corresponding delete extension.

Author: Trac Migrate

2021-02-26T07:51:50.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

In _Thread_Initialize() we have this code:
{{{
_Objects_Open_u32( &information->Objects, &the_thread->Object, config->name );

/*
*  We assume the Allocator Mutex is locked and dispatching is
*  enabled when we get here.  We want to be able to run the
*  user extensions with dispatching enabled.  The Allocator
*  Mutex provides sufficient protection to let the user extensions
*  run safely.
*/
extension_status = _User_extensions_Thread_create( the_thread );
if ( extension_status )
return true;
}}}
- If an extension fails, then the thread object is not closed. Also the terminate and delete extensions are not called.
+ If an extension fails, then the thread object is not closed. Also the delete extensions are not called. If a later create extension fails, the earlier create extensions may have allocated resources which could be freed by a corresponding delete extension.

Author: Trac Migrate

2021-02-26T08:26:30.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”1ac4a85ebf0cd0e788c2d5374c635087c33de0bf/rtems” 1ac4a85/rtems]:

score: Fix thread initialization

Close the thread object if a thread create extension fails.  Also call
the delete extension to avoid resource leaks in early extensions if a
late extension fails.

Close #4270.

Author: Amar Takhar

2024-04-25T20:48:38.360Z

changed the description

4269 - Add rtems_get_build_label()

Id

4269

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-25T15:16:01.000Z

Updated

2024-04-25T20:48:37.879Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4269

Merges

0

Original author: sebastian.huber

Add the following directive:

/* Generated from spec:/rtems/config/if/get-build-label */

/**
* @ingroup RTEMSAPIConfig
*
* @brief Gets the RTEMS build label.
*
* The build label is a user-provided string defined by the build
* configuration.
*
* @return Returns the pointer to the RTEMS build label.
*
* @par Notes
* The build label can be used to distinguish test suite results obtained from
* different build configurations.  A use case is to record test results with
* performance data to track performance regressions.  For this a database of
* performance limits is required.  The build label and the target hash
* obtained from rtems_get_target_hash() can be used as a key to obtain
* performance limits.
*
* @par Constraints
* @parblock
* The following constraints apply to this directive:
*
* * The directive may be called from within any runtime context.
*
* * The directive will not cause the calling task to be preempted.
* @endparblock
*/
const char *rtems_get_build_label( void );

Author: Trac Migrate

2021-02-26T08:25:58.000Z

Original author: sebastian.huber

In [changeset:”d8bfa5a9bc3f691c0bfda89de8d6f17eca5bd327/rtems” d8bfa5a/rtems]:

rtems: Add rtems_get_build_label()

Update #4269.

Author: Trac Migrate

2021-02-26T08:26:02.000Z

Original author: sebastian.huber

In [changeset:”da8ad67e88e11851fb50d31cec5992621e0f53a3/rtems” da8ad67e/rtems]:

libtest: Report build label

Update #4269.

Author: Trac Migrate

2022-10-04T08:19:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”0fc5c0336d0cd07b3f6c298381fc97dbee9705b0/rtems-docs” 0fc5c03/rtems-docs]:

c-user: Add application config info directives

Close #4267.
Close #4269.

Author: Amar Takhar

2024-04-25T20:48:37.920Z

changed the description

4267 - Add rtems_get_target_hash()

Id

4267

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-24T07:20:40.000Z

Updated

2024-04-25T20:48:37.436Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4267

Merges

0

Original author: sebastian.huber

Add a function to report a hash value characterizing the target system in the test suite results.

/* Generated from spec:/rtems/config/if/get-target-hash */

/**
* @ingroup RTEMSAPIConfig
*
* @brief Gets the RTEMS target hash.
*
* The target hash is calculated from BSP-specific values which characterize a
* target system.
*
* @return Returns the pointer to the RTEMS target hash.
*
* @par Notes
* @parblock
* For example, the device tree, settings of the memory controller, a serial
* number of a chip may be used to calculate the target hash.
*
* The target hash can be used to distinguish test suite results obtained from
* different target systems.
* @endparblock
*
* @par Constraints
* @parblock
* The following constraints apply to this directive:
*
* * The directive may be called from within any runtime context.
*
* * The directive will not cause the calling task to be preempted.
* @endparblock
*/
const char *rtems_get_target_hash( void );

Author: Trac Migrate

2021-02-26T08:26:06.000Z

Original author: sebastian.huber

In [changeset:”5f8bc839e89ea6efa7f48ebcec8939861024649f/rtems” 5f8bc83/rtems]:

score: Add _IO_Base64url()

Update #4267.

Author: Trac Migrate

2021-02-26T08:26:09.000Z

Original author: sebastian.huber

In [changeset:”dea125d02c663d4c66eacc076c3f705a46257faf/rtems” dea125d0/rtems]:

score: Add Hash Handler

Update #4267.

Author: Trac Migrate

2021-02-26T08:26:13.000Z

Original author: sebastian.huber

In [changeset:”fb17af2756360ff2f9fdccd736d4c63b665e0cde/rtems” fb17af2/rtems]:

rtems: Add rtems_get_target_hash()

Update #4267.

Author: Trac Migrate

2021-02-26T08:26:16.000Z

Original author: sebastian.huber

In [changeset:”bc6ffc3be8c6001c1e0a289ec2b03a4b55cf596f/rtems” bc6ffc3/rtems]:

Add system initialization step for target hash

Update #4267.

Author: Trac Migrate

2021-02-26T08:26:20.000Z

Original author: sebastian.huber

In [changeset:”7480c346985e8f22c4eae602d17995dee34adad4/rtems” 7480c34/rtems]:

bsps: Add default rtems_get_target_hash()

Update #4267.

Author: Trac Migrate

2021-02-26T08:26:24.000Z

Original author: sebastian.huber

In [changeset:”74eff26c1dd57579ec7fec95aff4627dfa0daf42/rtems” 74eff26c/rtems]:

libtest: Report target hash

Update #4267.

Author: Trac Migrate

2021-02-26T08:57:31.000Z

Original author: sebastian.huber

In [changeset:”2428a8caf27575e70254ba0e099739c9947c023f/rtems” 2428a8ca/rtems]:

build: Install <rtems/score/hash.h>

Update #4267.

Author: Trac Migrate

2021-04-22T05:46:34.000Z

Original author: sebastian.huber

In [changeset:”29ce2900b0b1781489b7b60378a417862c96639c/rtems-docs” 29ce290/rtems-docs]:

bsp-howto: Add target hash chapter

Update #4267.

Author: Trac Migrate

2022-10-04T08:19:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”0fc5c0336d0cd07b3f6c298381fc97dbee9705b0/rtems-docs” 0fc5c03/rtems-docs]:

c-user: Add application config info directives

Close #4267.
Close #4269.

Author: Amar Takhar

2024-04-25T20:48:37.479Z

changed the description

4265 - Add rtems_get_build_hash()

Id

4265

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-23T09:38:48.000Z

Updated

2024-04-25T20:48:36.992Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::wontfix, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4265

Merges

0

Original author: sebastian.huber

Add a function to report a hash value of the build environment in the test suite results.

/* Generated from spec:/rtems/config/if/get-build-hash */

/**
* @ingroup RTEMSAPIConfig
*
* @brief Gets the RTEMS build hash.
*
* The build hash is calculated from all key-value pairs of the build
* environment.  Local file system paths in the values do not contribute to the
* hash value.
*
* @return Returns the pointer to the RTEMS build hash.
*
* @par Notes
* The build hash can be used to distinguish test suite results obtained from
* different build environments.
*
* @par Constraints
* @parblock
* The following constraints apply to this directive:
*
* * The directive may be called from within any runtime context.
*
* * The directive will not cause the calling task to be preempted.
* @endparblock
*/
const char *rtems_get_build_hash( void );

Author: Chris Johns

2021-02-24T04:01:12.000Z

Original author: sebastian.huber

Is there a list that defines all key-value pairs in the build environment?

Author: Trac Migrate

2021-02-24T07:04:45.000Z

Original author: sebastian.huber

Yes, you can iterate over conf.env:

diff --git a/wscript b/wscript
index 6626fafb74..84b845dce4 100755
--- a/wscript
+++ b/wscript
@@ -1359,6 +1359,27 @@ def get_compiler(conf, cp, variant):
return value


+def _generate_build_hash(conf):
+    import hashlib
+    import base64
+
+    build_hash = ""
+    for key in sorted(conf.env):
+        build_hash = build_hash + key + str(conf.env[key])
+    for discard in [
+        conf.env.PREFIX,
+        conf.bldnode.make_node(conf.env.VARIANT).abspath(),
+        conf.path.abspath(),
+    ]:
+        build_hash = build_hash.replace(discard, "")
+    state = hashlib.sha256()
+    state.update(build_hash.encode("utf-8"))
+    conf.define("RTEMS_BUILD_HASH", base64.urlsafe_b64encode(state.digest()))
+    conf.write_config_header(
+        conf.env.VARIANT + "/cpukit/include/rtems/build-hash.h"
+    )
+
+
def configure_variant(conf, cp, bsp_map, path_list, top_group, variant):
conf.msg("Configure board support package (BSP)", variant, color="YELLOW")

@@ -1391,9 +1412,10 @@ def configure_variant(conf, cp, bsp_map, path_list, top_group, variant):
conf.fatal("No such base BSP: '{}'".format(variant))
bsp_item.configure(conf, cic)

-    options = set([o[0].upper() for o in cp.items(variant)])
+    options = set(o[0].upper() for o in cp.items(variant))
for o in options.difference(cic.options):
conf.msg("Unknown configuration option", o.upper(), color="RED")
+    _generate_build_hash(conf)


def check_forbidden_options(ctx, opts):

An alternative would be to explicitly add (or remove) build options.

Author: Chris Johns

2021-02-25T00:32:31.000Z

Original author: sebastian.huber

This captures a user’s environment variables?

Author: Trac Migrate

2021-02-25T07:22:20.000Z

Original author: sebastian.huber

There are always means to sabotage something. We don’t recommend the use of environment variables and a waf configure warns about them. I will add a note that environment variables are not recommended and not used for the build hash.

Author: Trac Migrate

2021-02-25T15:13:58.000Z

Original author: sebastian.huber

As discussed on the mailing list I tried the following approach. Iterate over all start files and libraries generated by the build and then create a hash of all executable sections. Then we recompile one object with a command line define with the build hash and replace this object in librtemscpu.a. Unfortunately, this exceeds my waf skills at the moment. I think it is feasible, but you really have to know how to adjust the waf tasks through meta programming.

Author: Trac Migrate

2021-11-23T13:52:54.000Z

Original author: sebastian.huber

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

The rtems_get_build_hash() was dropped in favour of #4269.

Author: Amar Takhar

2024-04-25T20:48:37.037Z

changed the description

4245 - Add PCI regions support to RTEMS nexus bus support

Id

4245

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-02-15T21:28:56.000Z

Updated

2024-04-25T20:48:36.160Z

Milestone

6.1

Labels

arch:powerpc, bsp, library::libbsd, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4245

Merges

0

The RTEMS Nexus bus support in LibBSD assumes a linear address map with a !:1 address mapping between the PCI bus master and CPU. Some target hardware has a different PCI bus master address space to the CPU memory address space.

  • Provide a BSP means to enable PCI support in machine/bus.h in LibBSD

  • Update powerpc/motorola_powerpc to support cache coherent memory

  • Change any PowerPC internal calls that clash with the Linux IO interface used in LibBSD. The PowerPC shared BSP calls have a different call signature

Author: Trac Migrate

2021-02-16T20:31:57.000Z

In [changeset:”6e3c6e044e17286b500bcbba42abe2d0777327a7/rtems” 6e3c6e04/rtems]:

powerpc/io: Make [out/in] le and be calls conditional

- These calls clash with the Linux IO header in LibBSD. Making these
conditional here means BSPs build and the imported Linux header is
untouched.

Updates #4245

Author: Trac Migrate

2021-02-16T20:32:01.000Z

In [changeset:”23aad642be7a3b6ea905897728133bddf5d550c4/rtems” 23aad64/rtems]:

powerpc/motorola_powerpc: Enable bus PCI support in LibBSD

Updates #4245

Author: Trac Migrate

2021-02-16T20:32:05.000Z

In [changeset:”026eb3db7e61ed29ff3b676c126168bf08dfe0a8/rtems” 026eb3db/rtems]:

powerpc/motorola_powerpc: Add cache coherent memory to the allocator

Updates #4245
Updates #4243

Author: Trac Migrate

2021-09-02T02:43:07.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3f1e128488edffa25338d1cba83f1037e8ea2eb3/rtems-libbsd” 3f1e128/rtems-libbsd]:

rtemsbsd/bus: Add PCI support to the nexus bus

- Add PCI IO region support

- Add support map buffers to PCI address space

- Add BSP conditional IO space support. Some PC implementations
have PCI IO space mapped differently to memory space and this needs
to be reflected in the busspace.

- Include bsp.h to pick per BSP configuration.

Closes #4245

Author: Trac Migrate

2021-09-22T01:05:13.000Z

In [changeset:”cfef84a007bac32b6f3852ab3d9367f7cdcf2c6b/rtems” cfef84a0/rtems]:

powerpc/io: Make [out/in] le and be calls conditional

- These calls clash with the Linux IO header in LibBSD. Making these
conditional here means BSPs build and the imported Linux header is
untouched.

Updates #4245

Author: Amar Takhar

2024-04-25T20:48:36.203Z

changed the description

4244 - Possible infinite recursion in Classic API Signal handling

Id

4244

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-15T06:46:56.000Z

Updated

2024-04-25T20:48:35.706Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4244

Merges

0

Original author: sebastian.huber

Due to implementation flaws, there may be an infinite recursion in the signal processing even if ASR mode is disabled during signal processing. The problem is that rtems_task_mode() is used to set up and tear down the ASR-specific task mode. This needs to be changed to set the modes under protection of the right locks and using a loop instead of recursion to schedule the next ASR processing step if needed.

Author: Trac Migrate

2021-02-20T14:25:27.000Z

Original author: sebastian.huber

In [changeset:”f38c0de407379c1073fc972e9a6d01f63c4b0f77/rtems” f38c0de4/rtems]:

validation: Add Validation1 test suite

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:31.000Z

Original author: sebastian.huber

In [changeset:”3e7d658033f684e6c406abdd1ee0a24894584f77/rtems” 3e7d658/rtems]:

validation: Add signal manager tests

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:34.000Z

Original author: sebastian.huber

In [changeset:”fea848bbbc8b63204677765cdcf8f5957e0ccf86/rtems” fea848b/rtems]:

score: Change thread action locking

Require that the corresponding lock is acquired before the action
handler returns.  This helps to avoid recursion in the signal
processing.

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:37.000Z

Original author: sebastian.huber

In [changeset:”f9a59164e854c3151555493231f92e570bd75a2a/rtems” f9a59164/rtems]:

score: Add _Thread_Append_post_switch_action()

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:41.000Z

Original author: sebastian.huber

In [changeset:”600360dadf5bc8c62fc91d4bea55d6e5e8900595/rtems” 600360d/rtems]:

rtems: Remove unused _Modes_Mask_changed()

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:44.000Z

Original author: sebastian.huber

In [changeset:”9d5d73be630b37857e1f47451d0992d2322249ba/rtems” 9d5d73b/rtems]:

rtems: Remove unused _Modes_Change()

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:47.000Z

Original author: sebastian.huber

In [changeset:”a52e5d9c7e54c1d3a6d8204502a617f63170a060/rtems” a52e5d9/rtems]:

rtems: Remove unused ASR_Information::nest_level

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:51.000Z

Original author: sebastian.huber

In [changeset:”74ca8b7517ac463b73daf7d6b4773a1987a6760b/rtems” 74ca8b7/rtems]:

rtems: Move _Signal_Action_handler()

Move _Signal_Action_handler() and signal MP initialization to
rtems_signal_send().  The goal is to make _Signal_Action_handler() a
static function in a follow up patch.

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:54.000Z

Original author: sebastian.huber

In [changeset:”f6a97f59925e0f6f880fdc5ce9e94a84e5db2998/rtems” f6a97f5/rtems]:

rtems: Simplify signal handling

Remove superfluous ASR_Information::signals_posted.  Move code out of
trivial inline functions.

Update #4244.

Author: Trac Migrate

2021-02-20T14:25:57.000Z

Original author: sebastian.huber

In [changeset:”b207b378989e6d2b11956351d79b67ad9818f8cf/rtems” b207b37/rtems]:

posix: Remove superfluous check

The api pointer is never NULL.

Update #4244.

Author: Trac Migrate

2021-02-20T14:26:00.000Z

Original author: sebastian.huber

In [changeset:”1739bd2439238b9a5150f65a3452c9eb7958a998/rtems” 1739bd2/rtems]:

rtems: Remove _Modes_Set_interrupt_level()

This call just obfuscated the call to _ISR_Set_level().

Update #4244.

Author: Trac Migrate

2021-02-20T14:26:04.000Z

Original author: sebastian.huber

In [changeset:”8778a0e1188ee00932ce47d410de54c4e053f3bf/rtems” 8778a0e/rtems]:

rtems: New errors for rtems_signal_catch()

Ensure that no invalid modes are set during ASR processing.

Update #4244.

Author: Trac Migrate

2021-02-20T14:26:07.000Z

Original author: sebastian.huber

In [changeset:”08adc0dc7f78ca24d8bbb16ebefe32c98154ac2b/rtems” 08adc0d/rtems]:

rtems: Add _Modes_Apply_timeslice_to_thread()

Update #4244.

Author: Trac Migrate

2021-02-20T14:26:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a7e180b95dcc3c2f0bab82ec8eaa211cb0a4956a/rtems” a7e180b/rtems]:

rtems: Avoid potential recursion in ASR handling

Do the mode changes necessary for the ASR processing directly under
protection of the thread state lock to avoid the recursive calls to
thread dispatching done in rtems_task_mode().

Close #4244.

Author: Trac Migrate

2021-03-19T16:08:37.000Z

Original author: sebastian.huber

In [changeset:”53bd5e3246a02eff102c21d7b7a10629c5c23ff6/rtems” 53bd5e32/rtems]:

rtems: Relax mode checks in rtems_signal_catch()

Check only for invalid modes if a valid handler is presented to
rtems_signal_catch().  When NULL is used for the handler, ASR processing
is disabled and the mode is not used.

Update #4244.

Author: Amar Takhar

2024-04-25T20:48:35.747Z

changed the description

4230 - Timeout for automatic barriers is broken

Id

4230

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-05T12:57:52.000Z

Updated

2024-04-25T20:48:35.265Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4230

Merges

0

Original author: sebastian.huber

A barrier wait timeout at an automatic barrier doesn’t decrement the count of waiting threads.

Author: Trac Migrate

2021-02-06T19:56:40.000Z

Original author: sebastian.huber

In [changeset:”2b5ce23b9988a66445b7c9d3cbcc692488cf718a/rtems” 2b5ce23b/rtems]:

score: Constify Thread_queue_First_operation

Update #4230.

Author: Trac Migrate

2021-02-06T19:56:43.000Z

Original author: sebastian.huber

In [changeset:”9477d9aedb63dbad44ec89756ab4ed89e3c83c93/rtems” 9477d9ae/rtems]:

score: Make FIFO thread queue ops public

Update #4230.

Author: Trac Migrate

2021-02-06T19:56:47.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”96ea09ac4c781955c22ee810e3a05669b9a6a00a/rtems” 96ea09ac/rtems]:

score: Add barrier thread queue operations

This fixes a missing decrement of the number of waiting threads during a
barrier wait timeout.

Close #4230.

Author: Amar Takhar

2024-04-25T20:48:35.304Z

changed the description

4228 - rtems_build_name() depends on the signedness of char type

Id

4228

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-02T14:35:42.000Z

Updated

2024-04-25T20:48:34.833Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4228

Merges

0

Original author: sebastian.huber

The rtems_build_name() is implemented by: {{{!c

define _Objects_Build_name( _C1, _C2, _C3, _C4 ) \

( (uint32_t)(_C1) << 24 | (uint32_t)(_C2) << 16 | (uint32_t)(_C3) << 8 | (uint32_t)(_C4) ) }}} If the name is build from four “char” components, then the result depends on the signedness of the char type. The macro should first cast the chars to uint8_t.

Author: Trac Migrate

2021-02-03T05:17:44.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”98549e452476d5e05a06f2861467b4cd7bef8181/rtems” 98549e45/rtems]:

score: _Objects_Build_name() signed/unsigned char

Change _Objects_Build_name() so that the result is independent of the
signedness of char.

Close #4228.

Author: Amar Takhar

2024-04-25T20:48:34.873Z

changed the description

4223 - Missing “extern” in RTEMS_LINKER_ROSET_ITEM_ORDERED_DECLARE()

Id

4223

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-01-25T05:43:09.000Z

Updated

2024-04-25T20:48:34.358Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4223

Merges

0

Original author: sebastian.huber

The fix for #3865 there is a missing “extern”.

Author: Trac Migrate

2021-01-25T05:47:20.000Z

Original author: sebastian.huber

Fixed by c709017efba6de38225afc697a5ed2381cc12071.

Author: Trac Migrate

2021-01-25T05:47:30.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Author: Amar Takhar

2024-04-25T20:48:34.405Z

changed the description

4217 - Change status code for nested obtain of MrsP semaphores

Id

4217

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-01-20T09:36:07.000Z

Updated

2024-04-25T20:48:33.924Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4217

Merges

0

Original author: sebastian.huber

Return RTEMS_INCORRECT_STATE to indicate a nested obtain since this is a kind of deadlock. This status code is also used for other deadlocks.

Author: Trac Migrate

2021-01-21T09:11:11.000Z

Original author: sebastian.huber

In [changeset:”8ee22b29751f7bd984f06695a6db0667757bcd07/rtems” 8ee22b2/rtems]:

mrsp: Change error status for a nested seize

Return STATUS_DEADLOCK (RTEMS_INCORRECT_STATE) to indicate a nested
seize since this is a kind of deadlock.  This status code is also used
for other deadlocks.

Update #4217.

Author: Trac Migrate

2021-09-29T14:12:22.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Documentation was also adjusted.

Author: Amar Takhar

2024-04-25T20:48:33.961Z

changed the description

4196 - Improve gcov support provided by GCC for RTEMS

Id

4196

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-12-02T09:38:15.000Z

Updated

2024-04-25T20:48:30.998Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, tool::gcc, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4196

Merges

0

Original author: sebastian.huber

If we want to use gcov in RTEMS to get code coverage in all system states, then we need some tweaks in GCC:

https://gcc.gnu.org/pipermail/gcc/2020-November/234164.html

The linker set based gcov information registration is already included in GCC:

https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fprofile-info-section

There is a discussion about how the gcov information can be transferred from the embedded system to the host:

https://gcc.gnu.org/pipermail/gcc-patches/2020-November/559342.html

The following patch set was integrated in GCC 13:

https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593536.html

https://gcc.gnu.org/onlinedocs/gcc/Freestanding-Environments.html#Freestanding-Environments

Author: Trac Migrate

2020-12-02T09:54:29.000Z

Original author: sebastian.huber

Author: Trac Migrate

2020-12-02T10:24:27.000Z

Original author: sebastian.huber

In [changeset:”1d9f5d01c360bfb12182dfcfa251f604df84f104/rtems-source-builder” 1d9f5d0/rtems-source-builder]:

6: Add support for gcov info section

Update #4196.

Author: Trac Migrate

2021-07-21T09:44:53.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-07-21T09:45:10.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-07-21T13:33:53.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-08-06T05:33:18.000Z

Original author: sebastian.huber

The __gcov_info_to_gcda() function is now integrated in GCC:

https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=9124bbe1857f0d3a3015d6461d5f8d04f07cab85

Author: Trac Migrate

2021-08-06T15:24:11.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-08-06T16:39:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”6c0d7b62a9934a150c71858b9711095170ebbdbd/rtems-source-builder” 6c0d7b6/rtems-source-builder]:

6: Back port __gcov_info_to_gcda() to GCC 10

Close #4196.

Author: Trac Migrate

2021-08-09T15:21:01.000Z

Original author: sebastian.huber

There are issues with multi-threaded programs:

https://gcc.gnu.org/pipermail/gcc/2021-August/237058.html

Author: Trac Migrate

2021-08-09T15:29:56.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-08-09T15:59:04.000Z

Original author: sebastian.huber

In [changeset:”ca5c27d12f2bf5cad02feaa3997f95dda7cd3788/rtems-source-builder” ca5c27d/rtems-source-builder]:

6: Back port v2 of __gcov_info_to_gcda() to GCC 10

Update #4196.

Author: Trac Migrate

2021-08-09T18:44:12.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-08-09T19:05:23.000Z

Original author: sebastian.huber

In [changeset:”ec495e091743061d4e140e2d0bd8aab1a8d69ae7/rtems-source-builder” ec495e0/rtems-source-builder]:

6: Back port v3 of __gcov_info_to_gcda() to GCC 10

Update #4196.

Author: Trac Migrate

2021-08-30T08:48:43.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-08-30T12:02:33.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-09-01T15:50:46.000Z

Original author: sebastian.huber

In [changeset:”a1f7b3b60e5c532a46e728c8606d2fe5bcb3a562/rtems-source-builder” a1f7b3b/rtems-source-builder]:

6: Back port v5 of __gcov_info_to_gcda() to GCC 10

Update #4196.

Author: Trac Migrate

2022-05-03T06:01:44.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

If we want to use gcov in RTEMS to get code coverage in all system states, then we need some tweaks in GCC:

https://gcc.gnu.org/pipermail/gcc/2020-November/234164.html

The linker set based gcov information registration is already included in GCC:

https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fprofile-info-section

There is a discussion about how the gcov information can be transferred from the embedded system to the host:

https://gcc.gnu.org/pipermail/gcc-patches/2020-November/559342.html

- The GCC integration needs to wait for the GCC 12 development start.
+ The following patch set was integrated in GCC 13:
+
+ https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593536.html
+
+ https://gcc.gnu.org/onlinedocs/gcc/Freestanding-Environments.html#Freestanding-Environments

Author: Trac Migrate

2022-05-03T06:13:16.000Z

Original author: sebastian.huber

Author: Trac Migrate

2022-05-04T05:47:29.000Z

Original author: sebastian.huber

In [changeset:”22e32ecc272353a9047d429358aee2d61687ccc7/rtems-source-builder” 22e32ec/rtems-source-builder]:

7: Back port gcov-tool merge-stream to GCC 12

Update #4196.

Author: Trac Migrate

2022-06-21T07:15:58.000Z

Original author: sebastian.huber

Author: Trac Migrate

2022-06-21T14:16:49.000Z

Original author: sebastian.huber

In [changeset:”cf0914f151e6554c875faa42c212ff7bb55dc502/rtems-source-builder” cf0914f/rtems-source-builder]:

6: Back port v6 of gcov improvements to GCC 10

Update #4196.

Author: Trac Migrate

2022-06-29T07:19:49.000Z

Original author: sebastian.huber

Author: Trac Migrate

2022-06-29T08:31:28.000Z

Original author: sebastian.huber

Author: Trac Migrate

2022-06-29T09:29:52.000Z

Original author: sebastian.huber

In [changeset:”9474bb8ee29833d27da1a3f3ec5b2826ac9cf338/rtems-source-builder” 9474bb8/rtems-source-builder]:

6: Back port v8 of gcov improvements to GCC 10

Update #4196.

Author: Amar Takhar

2024-04-25T20:48:31.088Z

changed the description

4195 - Add gr740 support available in SIS 2.25 to the RTEMS Tester

Id

4195

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-12-02T09:16:21.000Z

Updated

2024-04-25T20:48:30.537Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4195

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-12-02T09:39:10.000Z

Original author: sebastian.huber

In [changeset:”97fe5bf8a3868e0632e0e783042385d27c4958ba/rtems-tools” 97fe5bf/rtems-tools]:

tester: Add support for sparc/gr740 BSP

Update #4195.

Author: Trac Migrate

2020-12-02T09:42:28.000Z

Original author: sebastian.huber

In [changeset:”675e73f0eaf78838b874269a2d3d5d0a0baf2afc/rtems-source-builder” 675e73f/rtems-source-builder]:

devel/sis: Update to 2.25

Update #4195.

Author: Trac Migrate

2020-12-02T09:42:30.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”d79b04468f08e61db34b93308620f75b44555699/rtems-source-builder” d79b044/rtems-source-builder]:

6/7: Update to the latest rtems-tools

Close #4195.

Author: Amar Takhar

2024-04-25T20:48:30.574Z

changed the description

4181 - Add CONFIGURE_INIT_TASK_STORAGE_SIZE

Id

4181

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-11-20T07:31:23.000Z

Updated

2024-04-25T20:48:27.963Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4181

Merges

0

Original author: sebastian.huber

Currently, the Classic API initialization task is created with rtems_task_create(). In order to better support applications which use the new rtems_task_construct() directive add a configuration options which constructs the Classic API initialization task with rtems_task_construct():

/* Generated from spec:/acfg/if/init-task-storage-size */

/**
* @brief This configuration option is an integer define.
*
* The value of this configuration option defines the task storage size of the
* Classic API initialization task.  If this configuration option is specified,
* then the Classic API initialization task is constructed by
* rtems_task_construct() instead of using rtems_task_create().
*
* @par Default Value
* The default value is 0.
*
* @par Value Constraints
* @parblock
* The value of this configuration option shall satisfy all of the following
* constraints:
*
* * It shall be greater than or equal to #CONFIGURE_MINIMUM_TASK_STACK_SIZE.
*
* * It shall be defined using RTEMS_TASK_STORAGE_SIZE().
* @endparblock
*
* @par Notes
* @parblock
* A task storage area of the specified size is defined by the configuration
* for the Classic API initialization task.  The
*
* * #CONFIGURE_INIT_TASK_STACK_SIZE and
*
* * ``CONFIGURE_INIT_TASK_STORAGE_SIZE``
*
* configuration options are mutually exclusive.
* @endparblock
*/
#define CONFIGURE_INIT_TASK_STORAGE_SIZE

Author: Trac Migrate

2020-11-27T07:47:03.000Z

Original author: sebastian.huber

In [changeset:”bc175a1cabdccfc28deee3ae67ff5e9a0b5aef49/rtems” bc175a1/rtems]:

Avoid INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL

Replace a runtime check with a compile time assertion.  This makes the
INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL obsolete.

Update #4181.

Author: Trac Migrate

2020-11-27T07:47:07.000Z

Original author: sebastian.huber

In [changeset:”657e30c135f22c4448cfd13f8113b23e72776dad/rtems” 657e30c1/rtems]:

config: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE

In order to better support applications which use the new
rtems_task_construct() directive add the
CONFIGURE_INIT_TASK_CONSTURCT_STORAGE_SIZE configuration option.  If
this option is specified, then the Classic API initialization task is
constructed with rtems_task_construct().

Update #4181.

Author: Trac Migrate

2020-11-27T07:47:13.000Z

Original author: sebastian.huber

In [changeset:”06386fc76fe773aab15a51f4801ff391f142f264/rtems” 06386fc7/rtems]:

Use CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE

Update #4181.

Author: Trac Migrate

2020-11-27T08:16:58.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”00b3444afdbbb29aeef5b4448419b10a76f90378/rtems-docs” 00b3444/rtems-docs]:

c-user: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE

Document new configuration option
CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE.

Close #4181.

Author: Trac Migrate

2020-11-27T08:52:57.000Z

Original author: sebastian.huber

In [changeset:”6e566badc770a78cf89e34be6b29aa66cb7cf1b7/rtems” 6e566bad/rtems]:

config: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE

Fix the documentation.

Update #4181.

Author: Trac Migrate

2020-12-12T12:53:44.000Z

Original author: sebastian.huber

In [changeset:”fcd9618ac84e04d363741419e67b5d618ebe6a81/rtems” fcd9618a/rtems]:

config: Fix invalid static assertions in C

Expressions in static assertions must be integral constant expressions.  In
integral constant expressions the use of address constant expressions is not
allowed.

In static initializers the address constant expressions are allowed.  Introduce
a new macro _CONFIGURE_ASSERT_NOT_NULL() which leads to a compile time error if
the second parameter is NULL.  It generates error messages like this if for
example

#define CONFIGURE_INIT_TASK_ENTRY_POINT NULL

is provided by the application:

cpukit/include/rtems/confdefs/inittask.h:51:26: error: size of unnamed array is negative
51 |     ( _type ) sizeof( int[ ( _value ) != NULL ? 1 : -1 ] ) )
|                          ^
cpukit/include/rtems/confdefs/inittask.h:170:3: note: in expansion of macro '_CONFIGURE_ASSERT_NOT_NULL'
170 |   _CONFIGURE_ASSERT_NOT_NULL(
|   ^~~~~~~~~~~~~~~~~~~~~~~~~~

This fix relates to CID 1470570 (PARSE_ERROR).

Update #4181.

Author: Amar Takhar

2024-04-25T20:48:28.007Z

changed the description

4157 - pthread_spin_unlock() may corrupt the thread stack if RTEMS_PROFILING and RTEMS_SMP is enabled

Id

4157

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-19T15:33:11.000Z

Updated

2024-04-25T20:48:24.106Z

Milestone

6.1

Labels

api::posix, priority::normal, qualification, resolution::fixed, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4157

Merges

0

Original author: sebastian.huber

The call to _SMP_lock_Stats_register_or_max_section_time() registers a dummy statistics block which resides on the thread stack.

Author: Trac Migrate

2020-10-19T15:33:52.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”2b9fb3141cb10b8bbfa1a18a6aab42474988a636/rtems” 2b9fb314/rtems]:

posix: Fix pthread_spin_unlock()

Prevent a call to _SMP_lock_Stats_register_or_max_section_time().  This fixes a
thread stack corruption in case RTEMS_PROFILING and RTEMS_SMP is enabled.

Close #4157.

Author: Amar Takhar

2024-04-25T20:48:24.143Z

changed the description

4155 - Add a workaround for the LEON3FT RETT Restart errata: TN-0018

Id

4155

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-16T05:47:11.000Z

Updated

2024-04-25T20:48:23.665Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4155

Merges

0

Original author: sebastian.huber

See also:

https://www.gaisler.com/doc/antn/GRLIB-TN-0018.pdf

Author: Trac Migrate

2020-10-16T14:58:41.000Z

Original author: sebastian.huber

This is the proposed GCC10 patch for master, it shuold be applied for RSB/sparc too.

https://lists.rtems.org/pipermail/devel/2020-October/062837.html

Author: Trac Migrate

2020-10-16T15:12:09.000Z

Original author: sebastian.huber

The patch looks fine.

Author: Trac Migrate

2021-03-07T15:29:16.000Z

Original author: sebastian.huber

The GCC patch has been accepted upstreams into master and GCC-10 branch: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=4b690f161b82e428dbe648075da215daa52be0ea https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=1aed3f059ebd08fffe1346ac7ecf8e8606359875

Author: Trac Migrate

2021-03-11T16:52:57.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b2da982c87e9e86561d1b6db18c01ea98c628467/rtems” b2da982/rtems]:

leon,tn-0018: work around GRLIB-TN-0018 errata

Overview
========

The errata is worked around in the kernel without requiring toolchain
modifications. It is triggered the JMPL/RETT return from trap instruction
sequence never generated by the compiler and. There are also other
conditions that must must be true to trigger the errata, for example the
instruction that the trap returns to has to be a JMPL instruction. The
errata can only be triggered if certain data is corrected by ECC
(inflicted by radiation), thus it can not be triggered under normal
operation. For more information see:
www.gaisler.com/notes

Affected RTEMS target BSPs:
* GR712RC
* UT699
* UT700/699E

The work around is enabled by defining __FIX_LEON3_TN0018 at build time.
After applying the following GCC patch, GCC will set the define when
compiling for an affected multilib:
* GR712RC (-mcpu=leon3 -mfix-gr712rc)
* UT700/UT699E (-mpcu=leon3 -mfix-ut700)
* UT699 (-mcpu=leon -mfix-ut699)
When building for another multilib and TN0018 is still required, it
is possible to enable it on the RTEMS kernel configure line using the
TARGET_CFLAGS (-D__FIX_LEON3FT_TN0018) or other by other means.

The following GCC patch sets __FIX_LEON3FT_TN0018 for the affected RTEMS
multilibs:
---------
diff --git a/gcc/config/sparc/rtemself.h b/gcc/config/sparc/rtemself.h
index 6570590..ddec98c 100644
--- a/gcc/config/sparc/rtemself.h
+++ b/gcc/config/sparc/rtemself.h
@@ -33,6 +33,8 @@
builtin_assert ("system=rtems");        \\
if (sparc_fix_b2bst)                    \\
builtin_define ("__FIX_LEON3FT_B2BST"); \\
+       if (sparc_fix_gr712rc || sparc_fix_ut700 || sparc_fix_ut699) \\
+         builtin_define ("__FIX_LEON3FT_TN0018"); \\
}                                          \\
while (0)
---------

Workaround Implementation
=========================

In general there are two approaches that the workaround uses:
A) avoid ECC restarting the RETT instruction
B) avoid returning from trap to a JMPL instruction

Where A) comes at a higher performance cost than B), so B) is used
where posssible. B) can be achived for certain returns from trap
handlers if trap entry is controlled by assembly, such as system calls.

A)
A special JMPL/RETT sequence where instruction cache is disabled
temporarily to avoid RETT containing ECC errors, and reading of RETT
source registers to "clean" them from incorrect ECC just before RETT
is executed.

B)
The work around prevents JMPL after system calls (TA instruction) and
modifies assembly code on return from traps jumping back to application
code. Note that for some traps the trapped instruction is always
re-executed and can therefore not trigger the errata, for example the
SAVE instruction causing window overflow or an float instruction causing
FPU disabled trap.

RTEMS SPARC traps workaround implementation:
NAME                 NOTE   TRAP   COMMENT
* window overflow         1 - 0x05   always returns to a SAVE
* window underflow        1 - 0x06   always returns to a RESTORE
* interrupt traps         2 - 0x10..1f special rett sequence workaround
* syscall                 3 - 0x80   shutdown system - never returns
* ABI flush windows       2 - 0x83   special rett sequence workaround
* syscall_irqdis          4 - 0x89
* syscall_irqen           4 - 0x8A
* syscall_irqdis_fp       1 - 0x8B   always jumps back to FP instruction
* syscall_lazy_fp_switch  5 - 0x04   A) jumps back to FP instruction, or to
B) _Internal_error() starting with SAVE

Notes:
1) no workaround needed because trap always returns to non-JMPL instruction
2) workaround implemented by special rett sequence
3) no workaround needed because system call never returns
4) workaround implemented by inserting NOP in system call generation. Thus
fall into 1) when workaround is enabled and no trap handler fix needed.
5) trap handler branches into both 1) and returning to _Internal_error()
which starts with a SAVE and besides since it shuts down the system that
RETT should never be in cache (only executed once) so fix not necessary
in this case.

Any custom trap handlers may also have to be updated. To simplify that,
helper work around assembly code in macros are available in a separate
include file <libcpu/grlib-tn-0018.h>.

Close #4155.

Author: Amar Takhar

2024-04-25T20:48:23.707Z

changed the description

4131 - “fdisk DISK_NAME mount” in bdpart-mount.c uses non-existing file system type “msdos”

Id

4131

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-07T14:27:18.000Z

Updated

2024-04-25T20:48:21.301Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4131

Merges

0

Original author: frank_k

The function rtems_bdpart_mount() seems to be only used by the ‘fdisk’ shell command to mount all partitions of a disk with a single command:

fdisk DISK_NAME mount
mounts the file system of each partition of the disk

fdisk DISK_NAME unmount
unmounts the file system of each partition of the disk

The whole command does not work because in file cpukit/libblock/src/bdpart-mount.c line 103 specifies the file system type of each partition to be “msdos”. Yet, “msdos” does not exist. The name must be “dosfs”.

Beside of this fundamental problem, there are more issues with the code in bdpart-mount.c:

  1. The function returns RTEMS_SUCCESSFUL despite the mount always fails.

  2. The reason for errors is not written to the terminal.

  3. The directory ‘/mnt’ is created but not deleted later on (failure or not).

  1. There is no documentation about this special ‘fdisk’ feature in the RTEMS Shell Guide.

  2. Only “msdos” formatted partitions can be mounted and all partitions are mounted read only. This is hard coded and cannot be changed by options. Moreover, there is no information about this to the user of the shell (i.e. using ‘fdisk’ mount requires insider knowledge).

How to reproduce:

  1. For testing I use the ‘testsuites/samples/fileio/init.c’ sample and since I do not know the ‘root’ password, the password must be removed from that file to login as ‘root’ without password:

index 86b34b99dd..51507f9a53 100644
--- a/testsuites/samples/fileio/init.c
+++ b/testsuites/samples/fileio/init.c
@@ -563,8 +563,7 @@ static void fileio_start_shell(void)
writeFile(
"/etc/passwd",
0644,
-    "root:$6$$FuPOhnllx6lhW2qqlnmWvZQLJ8Thr/09I7ESTdb9VbnTOn5.65"
-      "/Vh2Mqa6FoKXwT0nHS/O7F0KfrDc6Svb/sH.:0:0:root::/:/bin/sh\\n"
+    "root::0:0:root::/:/bin/sh\\n"
"rtems::1:1:RTEMS Application::/:/bin/sh\\n"
"test:$1$$oPu1Xt2Pw0ngIc7LyDHqu1:2:2:test account::/:/bin/sh\\n"
"tty:*:3:3:tty owner::/:/bin/false\\n"
  1. I run the fileio sample using qemu:

cd rtems
env QEMU_AUDIO_DRV="none" qemu-system-arm -net none -nographic -M realview-pbx-a9 -m 256M -kernel build/arm/realview_pbx_a9_qemu/testsuites/samples/fileio.exe
  1. Type any key to stop the timer and enter the sample tool. Type ‘s’ to enter the shell, login as ‘root’ with empty password.

  2. Type the following shell commands (they create a RAM disk, partition it, regsiter it, format it and try to mount it):

mkrd
fdisk /dev/rda fat32 16 write mbr
fdisk /dev/rda register
mkdos /dev/rda1
fdisk /dev/rda mount
  1. The last line above is the command which fails - without an error message. There exists a ‘/mnt’ directory but no ‘/mnt/rda1’ directory as it shoud be:

ls -la /mnt
  1. If you change line 103 of ‘cpukit/libblock/src/bdpart-mount.c’ from “msdos” to “dosfs”, compile and build the executable and re-run the above test, ‘/mnt/rda1’ exists (but the file system is mounted read-only).

Author: Trac Migrate

2020-10-12T11:19:08.000Z

Original author: frank_k

In [changeset:”a479686c112144119866391ceb21c48be6a3eca9/rtems” a479686/rtems]:

shell: Remove not functioning fdisk mount/unmount

The shell has an 'fdisk' command which has sub-commands 'mount' and 'unmount'.
These two sub-commands have a bug which causes them to be not able
to mount anything. This proposed patch removes the buggy file
cpukit/libblock/src/bdpart-mount.c and the mount/unmount commands
from 'fdisk' as bug fix. The 'fdisk' command itself is not removed.
The reasons for removing the sub-commands (instead of fixing the issue) are:

1) The bug has been introduced on 2010-May-31 with commit
29e92b090c8bc35745aa5c89231ce806bcb11e57. Since ten years no one
can use this feature, nor has anybody complained about it.

2) Besides of the 'fdisk' 'mount' sub-command, the shell has the
usual 'mount' and 'unmount' commands which can serve as
substitutes.

3) There are additional minor issues (see further down) which needed to
be addressed when the file will be kept.

What follows below is the precise bug description.

The bug is in function rtems_bdpart_mount() which is only be used
by the 'fdisk' shell command to mount all partitions of a disk with a
single command:



  fdisk DISK_NAME mount
  mounts the file system of each partition of the disk
  fdisk DISK_NAME unmount
  unmounts the file system of each partition of the disk

  The whole command does not work because in file
  cpukit/libblock/src/bdpart-mount.c line 103 specifies the file system type
  of each partition to be "msdos". Yet, "msdos" does not exist. The name
  must be "dosfs".

  Beside of this fundamental problem, there are more issues with the code
  in bdpart-mount.c:

  1) The function returns RTEMS_SUCCESSFUL despite the mount always fails.

  2) The reason for errors is not written to the terminal.

  3) The directory '/mnt' is created but not deleted later on (failure or not).

  3) There is no documentation about this special 'fdisk' feature in the
  RTEMS Shell Guide ('fdisk' is mentioned but its documentation is a
  bit short):
  https://docs.rtems.org/branches/master/shell/
  file_and_directory.html#fdisk-format-disk

  4) Only "msdos" formatted partitions can be mounted and all partitions
  are mounted read-only. This is hard coded and cannot be changed by
  options. Moreover, there is no information about this to the user of
  the shell (i.e. using 'fdisk' mount requires insider knowledge).

  How to reproduce:

  1) For testing, I use the 'testsuites/samples/fileio.exe' sample with qemu:



    cd rtems
    env QEMU_AUDIO_DRV="none" qemu-system-arm -net none -nographic \\
    -M realview-pbx-a9 -m 256M -kernel \\
    build/arm/realview_pbx_a9_qemu/testsuites/samples/fileio.exe

    2) Type any key to stop the timer and enter the sample tool.
    Type 's' to enter the shell, login as 'root' with the password
    shown in the terminal.

    3) Type the following shell commands (they create a RAM disk,
    partition it, register it, format it and try to mount it):



      mkrd
      fdisk /dev/rda fat32 16 write mbr
      fdisk /dev/rda register
      mkdos /dev/rda1
      fdisk /dev/rda mount

      4) The last line above is the command which fails - without an error
      message. There exists a '/mnt' directory but no '/mnt/rda1' directory
      as it should be:



        ls -la /mnt

        5) If you change line 103 of 'cpukit/libblock/src/bdpart-mount.c'
        from "msdos" to "dosfs", compile and build the executable and
        re-run the above test, '/mnt/rda1' exists (but the file system
        is mounted read-only).

        Close #4131

Author: Amar Takhar

2024-04-25T20:48:21.436Z

changed the description

4122 - Change RTEMS_NO_RETURN to use C11 and C++11 standard means

Id

4122

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-06T06:04:45.000Z

Updated

2024-04-25T20:48:20.879Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4122

Merges

0

Original author: sebastian.huber

C11 has a _Noreturn keyword and C++11 has a [[noreturn]] attribute. The standards are a bit less flexible than the GNU attribute with respect to the position of the attribute.

Author: Trac Migrate

2020-10-10T12:01:39.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”d7a48e1b259316533a5c775e27934760e1fcd313/rtems” d7a48e1/rtems]:

rtems: Improve RTEMS_NO_RETURN attribute

Provide RTEMS_NO_RETURN also in case RTEMS_DEBUG is defined to prevent errors
like this:

error: no return statement in function returning non-void [-Werror=return-type]

Use C11 and C++11 standard means to declare a no-return function.

Close #4122.

Author: Amar Takhar

2024-04-25T20:48:20.918Z

changed the description

4105 - Add RTEMS_PARTITION_ALIGNMENT

Id

4105

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-09-30T11:55:29.000Z

Updated

2024-04-25T20:48:20.402Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4105

Merges

0

Original author: sebastian.huber

The storage area for partitions is usually statically allocated. Add RTEMS_PARTITION_ALIGNMENT so that these areas can meet the minimum alignment required by rtems_partition_create().

This is related to #4013.

Author: Trac Migrate

2020-10-07T06:11:41.000Z

Original author: sebastian.huber

In [changeset:”97e9728306a692ce7870db29c6b5d86dd9560692/rtems” 97e9728/rtems]:

rtems: Add RTEMS_PARTITION_ALIGNMENT

Update #4105.

Author: Trac Migrate

2021-09-02T06:03:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Author: Amar Takhar

2024-04-25T20:48:20.448Z

changed the description

4074 - Add CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE

Id

4074

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-09-10T13:17:40.000Z

Updated

2024-04-25T20:48:19.516Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::config, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4074

Merges

0

Original author: sebastian.huber

This configuration option can be used to reserve space for the dynamic linking of modules with thread-local storage objects. See also:

https://lists.rtems.org/pipermail/devel/2020-September/061867.html

Author: Trac Migrate

2020-09-10T13:20:30.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- This configuration option can be used to reserve space for the dynamic linking of modules with thread-local storage objects.
+ This configuration option can be used to reserve space for the dynamic linking of modules with thread-local storage objects.  See also:
?                                                                                                                             +++++++++++

+
+ https://lists.rtems.org/pipermail/devel/2020-September/061867.html

Author: Trac Migrate

2020-09-11T07:09:20.000Z

Original author: sebastian.huber

In [changeset:”f86a0cec854286d9e26465fc9c364bb96c12a969/rtems-tools” f86a0ce/rtems-tools]:

linkers/exeinfo: Output TLS data

Updates #4074

Author: Trac Migrate

2020-09-17T16:09:22.000Z

Original author: sebastian.huber

In [changeset:”641b31a48d48c59ef73c47a225f1012b11e0eea7/rtems” 641b31a4/rtems]:

rtems: Add RTEMS_ALIGN_DOWN()

Update #3959.
Update #4074.

Author: Trac Migrate

2020-09-17T16:09:25.000Z

Original author: sebastian.huber

In [changeset:”dce1cdf19e6d8d7c5f72163401171648093d27bb/rtems” dce1cdf1/rtems]:

rtems: Add RTEMS_ALIGN_UP()

Update #3959.
Update #4074.

Author: Trac Migrate

2020-09-17T16:09:29.000Z

Original author: sebastian.huber

In [changeset:”c312f3110ebd6b38c3971910fe034b6c97ebb28c/rtems” c312f31/rtems]:

CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE

Add this application configuration option.  This configuration option can be
used to reserve space for the dynamic linking of modules with thread-local
storage objects.

Add RTEMS_TASK_STORAGE_ALIGNMENT to define the minium alignment of a
thread-local storage size.

Update #4074.

Author: Trac Migrate

2020-09-17T16:14:43.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a5fe9aad19fe003748e0100243c14da5fb9a7d66/rtems-docs” a5fe9aa/rtems-docs]:

c-user: CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE

Document this application configuration option.

Close #4074.

Author: Amar Takhar

2024-04-25T20:48:19.556Z

changed the description

4054 - RTEMS_BARRIER_AUTOMATIC_RELEASE and RTEMS_BINARY_SEMAPHORE options have the same value

Id

4054

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-08-17T10:27:55.000Z

Updated

2024-04-25T20:48:18.162Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4054

Merges

0

Original author: sebastian.huber

The RTEMS_BARRIER_AUTOMATIC_RELEASE and RTEMS_BINARY_SEMAPHORE options have the same value. In order to better detect a misuse of option values (for example using RTEMS_BINARY_SEMAPHORE for rtems_barrier_create()), the options should have unique values.

Author: Trac Migrate

2020-08-19T04:48:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”593a67f6c891f48b8cebc8bf0db1b47faafbfc2a/rtems” 593a67f6/rtems]:

rtems: Use unique option values

The RTEMS_BARRIER_AUTOMATIC_RELEASE and RTEMS_BINARY_SEMAPHORE options
had the same value.  In order to better detect a misuse of option values
(for example using RTEMS_BINARY_SEMAPHORE for rtems_barrier_create()),
the options should have unique values.

Close #4054.

Author: Amar Takhar

2024-04-25T20:48:18.199Z

changed the description

4032 - Make deferred free in malloc() support optional

Id

4032

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-07-23T11:54:48.000Z

Updated

2024-04-25T20:48:17.136Z

Milestone

6.1

Labels

library, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4032

Merges

0

Original author: sebastian.huber

The free() implementation in RTEMS supports that allocated memory is freed in interrupt context. Since the heap is protected by a mutex, the frees issued in interrupt context cannot immediately be freed to the heap, instead they are placed on a deferred free list. This list is emptied by the core allocation function rtems_heap_allocate_aligned_with_boundary(). This adds a dependency to free() in rtems_heap_allocate_aligned_with_boundary(). In order to better support applications which only allocate memory an never free it, this dependency should be avoided. This can be done with a weak default implementation of _Malloc_Process_deferred_frees(). In the free() module a strong implementation can be provided.

Author: Trac Migrate

2020-07-24T05:14:22.000Z

Original author: sebastian.huber

In [changeset:”6f94a830bd750bc744b3e605be52978d1cd006e3/rtems” 6f94a83/rtems]:

score: Add RTEMS_WEAK

Update #4032.

Author: Trac Migrate

2020-07-24T05:14:26.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7746b0def9787e9806f80a28efbe4c64d2b9e561/rtems” 7746b0de/rtems]:

malloc: Make deferred free support optional

Only include the deferred free support if free() is actually used by the
application.

The free() implementation in RTEMS supports that allocated memory is
freed in interrupt context.  Since the heap is protected by a mutex, the
frees issued in interrupt context cannot immediately be freed to the
heap, instead they are placed on a deferred free list.  This list is
emptied by the core allocation function
rtems_heap_allocate_aligned_with_boundary().  This adds a dependency to
free() in rtems_heap_allocate_aligned_with_boundary(). In order to
better support applications which only allocate memory and never free
it, this dependency should be avoided.  Provide a weak default
implementation of _Malloc_Process_deferred_frees() for
rtems_heap_allocate_aligned_with_boundary().  In the free() module
provide the strong implementation.

Close #4032.

Author: Trac Migrate

2020-07-24T05:32:01.000Z

Original author: sebastian.huber

In [changeset:”4444094d0281488f28d9a58d6f3fad1eb6ef49f8/rtems” 4444094d/rtems]:

spmisc01: Include missing header file

Update #4032.

Author: Amar Takhar

2024-04-25T20:48:17.175Z

changed the description

4007 - Add rtems_message_queue_construct()

Id

4007

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-06-17T08:08:44.000Z

Updated

2024-04-25T20:48:16.642Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4007

Merges

0

Original author: sebastian.huber

In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. Similar to #3959 a new directive to build Classic API message queues without using the workspace is proposed:

/**
* @brief The message queue configuration to construct a message queue.
*/
typedef struct {
/**
* @brief The name of the message queue.
*/
rtems_name name;

/**
* @brief The count of the provided buffers.
*
* This value defines the maximum number of pending messages.
*/
size_t buffer_count;

/**
* @brief The size of the provided buffers in bytes.
*/
size_t buffer_size;

/**
* @brief The array of count message buffers.
*
* Each buffer shall have the size of the buffer_size member.  The maximum
* message size is buffer_size minus sizeof( rtems_message_queue_buffer ).
*/
rtems_message_queue_buffer *buffers;

/**
* @brief The attribute set of the message queue.
*/
rtems_attribute attributes;
} rtems_message_queue_config;

/**
* @brief Constructs a message queue according to the specified configuration.
*
* @param config The message queue configuration.
* @param[out] id The message queue identifier of the new message queue.
*
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_INVALID_ADDRESS The id parameter is @c NULL.
* @retval RTEMS_INVALID_NAME The message queue name is invalid.
* @retval RTEMS_TOO_MANY No message queue is available.
*/
rtems_status_code rtems_message_queue_construct(
const rtems_message_queue_config *config,
rtems_id                         *id
);

Author: Trac Migrate

2020-09-17T16:18:59.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. Similar to #3959 a new directive to build Classic API message queues without using the workspace is proposed:
{{{
/**
-  * @brief The message queue configuration to build a message queue.
?                                              ^ ^^^

+  * @brief The message queue configuration to construct a message queue.
?                                              ^^^^^^ ^^

*/
typedef struct {
/**
* @brief The name of the message queue.
*/
rtems_name name;

/**
* @brief The count of the provided buffers.
*
* This value defines the maximum number of pending messages.
*/
size_t buffer_count;

/**
* @brief The size of the provided buffers in bytes.
*/
size_t buffer_size;

/**
* @brief The array of count message buffers.
*
* Each buffer shall have the size of the buffer_size member.  The maximum
* message size is buffer_size minus sizeof( rtems_message_queue_buffer ).
*/
rtems_message_queue_buffer *buffers;

/**
* @brief The attribute set of the message queue.
*/
rtems_attribute attribute_set;
} rtems_message_queue_config;

/**
-  * @brief Builds a message queue according to the specified configuration.
?           ^ ^^^

+  * @brief Constructs a message queue according to the specified configuration.
?           ^^^^^^ ^^

*
* @param config The message queue configuration.
* @param[out] id The message queue identifier of the new message queue.
*
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_INVALID_ADDRESS The id parameter is @c NULL.
* @retval RTEMS_INVALID_NAME The message queue name is invalid.
* @retval RTEMS_TOO_MANY No message queue is available.
*/
- rtems_status_code rtems_message_queue_build(
?                                       ^ ^^^

+ rtems_status_code rtems_message_queue_construct(
?                                       ^^^^^^ ^^

const rtems_message_queue_config *config,
rtems_id                         *id
);
}}}
  • Status changed from assigned to accepted

  • Summary changed from Add rtems_message_queue_build() to Add rtems_message_queue_construct()

Author: Trac Migrate

2020-09-17T16:19:28.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. Similar to #3959 a new directive to build Classic API message queues without using the workspace is proposed:
{{{
/**
* @brief The message queue configuration to construct a message queue.
*/
typedef struct {
/**
* @brief The name of the message queue.
*/
rtems_name name;

/**
* @brief The count of the provided buffers.
*
* This value defines the maximum number of pending messages.
*/
size_t buffer_count;

/**
* @brief The size of the provided buffers in bytes.
*/
size_t buffer_size;

/**
* @brief The array of count message buffers.
*
* Each buffer shall have the size of the buffer_size member.  The maximum
* message size is buffer_size minus sizeof( rtems_message_queue_buffer ).
*/
rtems_message_queue_buffer *buffers;

/**
* @brief The attribute set of the message queue.
*/
-   rtems_attribute attribute_set;
?                            - --

+   rtems_attribute attributes;
} rtems_message_queue_config;

/**
* @brief Constructs a message queue according to the specified configuration.
*
* @param config The message queue configuration.
* @param[out] id The message queue identifier of the new message queue.
*
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_INVALID_ADDRESS The id parameter is @c NULL.
* @retval RTEMS_INVALID_NAME The message queue name is invalid.
* @retval RTEMS_TOO_MANY No message queue is available.
*/
rtems_status_code rtems_message_queue_construct(
const rtems_message_queue_config *config,
rtems_id                         *id
);
}}}

Author: Trac Migrate

2020-09-28T05:17:56.000Z

Original author: sebastian.huber

In [changeset:”3c0255766d591e2ae5718003416456af91debd55/rtems” 3c025576/rtems]:

score: Use RTEMS_ALIGN_UP()

Update #4007.

Author: Trac Migrate

2020-09-28T05:17:59.000Z

Original author: sebastian.huber

In [changeset:”fe2cb7c47c9960cd6efbefa2347274c300959e45/rtems” fe2cb7c4/rtems]:

score: Fix allocation size calculation

The previous multiplication error check is broken on 64-bit machines.  Use the
recommended check from SEI CERT C Coding Standard, "INT30-C. Ensure that
unsigned integer operations do not wrap".

Make sure the message size computation does not overflow.

Update #4007.

Author: Trac Migrate

2020-09-28T05:18:03.000Z

Original author: sebastian.huber

In [changeset:”34dd90a560454842595845b95b7aed8b871d5da9/rtems” 34dd90a5/rtems]:

score: Gather message queue control initialization

Initialize the structure in a single code block after the error checks and
calculations.

Update #4007.

Author: Trac Migrate

2020-09-28T05:18:06.000Z

Original author: sebastian.huber

In [changeset:”5bc7c3724fbb06d934401400ac5922bcae2c6e95/rtems” 5bc7c37/rtems]:

score: Improve _CORE_message_queue_Initialize()

Return a status code and differentiate between error conditions.

Update #4007.

Author: Trac Migrate

2020-09-28T05:18:09.000Z

Original author: sebastian.huber

In [changeset:”69b4fe592fb26f3421add3c564677d78022bcf5a/rtems” 69b4fe59/rtems]:

score: Simplify CORE_message_queue_Buffer

Merge CORE_message_queue_Buffer structure into
CORE_message_queue_Buffer_control.

Use a zero-length array for the actual message buffer.  This reduces the
structure size on all targets.

Update #4007.

Author: Trac Migrate

2020-09-28T05:18:13.000Z

Original author: sebastian.huber

In [changeset:”2c09f54fc41b86265af137716013bce2e2e92b27/rtems” 2c09f54f/rtems]:

score: Add <rtems/score/coremsgbuffer.h>

Move the CORE_message_queue_Buffer definition to a separate header file to be
able to use it independent of the remaining Message Queue Handler API.

Change license to BSD-2-Clause according to file history.

Update #3053.
Update #4007.

Author: Trac Migrate

2020-09-28T05:18:16.000Z

Original author: sebastian.huber

In [changeset:”24ea1cebeb5e64ba2371c8e740ebe3c81d565ca2/rtems” 24ea1ce/rtems]:

rtems: Remove Message_queue_Control::attribute_set

Add Message_queue_Control::is_global if RTEMS_MULTIPROCESSING is defined.  This
reduces the Message_queue_Control size in standard RTEMS configurations.

Update #4007.

Author: Trac Migrate

2020-09-28T05:18:20.000Z

Original author: sebastian.huber

In [changeset:”4a4f41ed642cd5d9f4056b12d86bbf80e8da983a/rtems” 4a4f41e/rtems]:

rtems: Add rtems_message_queue_construct()

In contrast to message queues created by rtems_message_queue_create(), the
message queues constructed by this directive use a user-provided message buffer
storage area.

Add RTEMS_MESSAGE_QUEUE_BUFFER() to define a message buffer type for message
buffer storage areas.

Update #4007.

Author: Trac Migrate

2020-09-28T05:18:23.000Z

Original author: sebastian.huber

In [changeset:”febc66048aaeb74ae1ccd2375003d033107e28f8/rtems” febc6604/rtems]:

validation: Test rtems_message_queue_construct()

Update #4007.

Author: Trac Migrate

2021-04-23T06:25:29.000Z

Original author: sebastian.huber

In [changeset:”03747b508779ccddef3b7e39da825a7037fa8453/rtems” 03747b50/rtems]:

rtems: Check for NULL config in msgq construct

Since there are already excessive NULL pointer checks in the Classic
API, do this also in rtems_message_queue_construct().

Update #4007.

Author: Trac Migrate

2021-05-11T05:49:48.000Z

Original author: sebastian.huber

In [changeset:”ab5aeb1be1e7f501388cf4c8915f98efaaef754a/rtems” ab5aeb1/rtems]:

score: Rename _Stack_Free_nothing()

Rename _Stack_Free_nothing() in _Objects_Free_nothing() to make it
reusable for the message queue buffers.

Update #4007.

Author: Trac Migrate

2021-05-11T05:49:51.000Z

Original author: sebastian.huber

In [changeset:”c2687666b199c44dacfa8d5e9b9939fa2dc8521e/rtems” c268766/rtems]:

rtems: Use _Objects_Free_nothing() for msg queues

Use _Objects_Free_nothing() for rtems_message_queue_construct() to avoid
unreachable code in _CORE_message_queue_Close() in case only
user-provided message buffers are used.

Update #4007.

Author: Trac Migrate

2021-09-02T06:00:40.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

The new directive was documented, implemented, and tested:

https://docs.rtems.org/branches/master/c-user/message/directives.html#rtems-message-queue-construct

Author: Amar Takhar

2024-04-25T20:48:16.695Z

changed the description

3994 - Generate Doxygen markup for the application configuration options

Id

3994

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-06-01T11:26:30.000Z

Updated

2024-04-25T20:48:14.142Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3994

Merges

0

Original author: sebastian.huber

The application configuration options are now available as specification items. From these items, the documentation in the RTEMS Classic API Guide is generated. The same approach can be used to generate Doxygen markup.

Author: Trac Migrate

2020-08-07T05:15:35.000Z

Original author: sebastian.huber

In [changeset:”db22500e842ed26b56865cd7c06fc28d4551ff35/rtems-docs” db22500/rtems-docs]:

c-user: Improve refs and formatting in appl config

The formatting is generated through references within the specification.

Update #3994.

Author: Trac Migrate

2020-08-07T05:15:37.000Z

Original author: sebastian.huber

In [changeset:”63764a6d27e225867ef7753b803e7b90583a07b3/rtems-docs” 63764a6/rtems-docs]:

c-user: Add automatically generated warning

Update #3994.

Author: Trac Migrate

2020-08-07T05:24:30.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e812f81c89dba6c73474c4bf60c03bc9df04f993/rtems” e812f81/rtems]:

Document application configuration options

Add a new directory for Doxygen-specific documentation content.  Add a
Doxygen only header file containing documentation of the application
configuration options.  The header file is generated from specification
items.

Close #3994.

Author: Trac Migrate

2020-10-08T05:40:41.000Z

Original author: sebastian.huber

In [changeset:”e697baf8d7d203f7b03f9910c9c136dbe7502ab6/rtems” e697baf/rtems]:

doxygen: Add "Generated from ..." comments

Improve file header comment.

Update #3994.

Author: Amar Takhar

2024-04-25T20:48:14.181Z

changed the description

3993 - Specify the RTEMS Classic API

Id

3993

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-29T13:49:44.000Z

Updated

2024-04-25T20:48:13.532Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3993

Merges

0

Original author: sebastian.huber

For the RTEMS Qualification project we need a specification of the RTEMS Classic API. This specification can be used to generate an Interface Control Document (ICD), header files with Doxygen markup and content for the RTEMS Classic API Guide. The RTEMS Classic API is mainly defined in the following header files:

  • <rtems.h>

  • <rtems/config.h>

  • <rtems/extension.h>

  • <rtems/fatal.h>

  • <rtems/init.h>

  • <rtems/io.h>

  • <rtems/rtems/barrier.h>

  • <rtems/rtems/cache.h>

  • <rtems/rtems/clock.h>

  • <rtems/rtems/config.h>

  • <rtems/rtems/dpmem.h>

  • <rtems/rtems/event.h>

  • <rtems/rtems/intr.h>

  • <rtems/rtems/message.h>

  • <rtems/rtems/modes.h>

  • <rtems/rtems/mp.h>

  • <rtems/rtems/object.h>

  • <rtems/rtems/options.h>

  • <rtems/rtems/part.h>

  • <rtems/rtems/ratemon.h>

  • <rtems/rtems/region.h>

  • <rtems/rtems/sem.h>

  • <rtems/rtems/signal.h>

  • <rtems/rtems/status.h>

  • <rtems/rtems/support.h>

  • <rtems/rtems/tasks.h>

  • <rtems/rtems/timer.h>

  • <rtems/rtems/types.h>

  • <rtems/score/stack.h>

Examples for interface specification items are available here:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec/if/rtems/status

You find an example for a generated header file here:

https://git.rtems.org/sebh/rtems.git/tree/cpukit/include/rtems/rtems/status.h?h=qual

The header files are generated by this script:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec2rtems.py

As preliminary work, remove all RTEMS APIs deprecated in RTEMS 5.1.

Use and improve the Interface Specification How-To during the work on this ticket.

Carry out the following tasks for each header file:

  1. Add a interface specification item for each variable, typedef, enum, enumerator, define, macro, function, struct, and union.

  2. For each item analyse the change history using git log -p --follow to determine the copyright holders of the Doxygen markup. Use only Doxygen markup for the specification items from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899 are not considered to be copyrightable information.

  3. Use the RTEMS documentation sources to document the API. Use only content from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899.

  4. Add unspecified interface items for interfaces to the implementation, C language, compiler, user provided defines, build system provided defines, etc.

  5. Run the RTEMS test suite with all tests enabled and check for regressions (in particular new warnings).

  6. Create a commit for each header file and send it to the RTEMS mailing list for review.

Author: Trac Migrate

2020-06-01T11:16:17.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

For the RTEMS Qualification project we need a specification of the RTEMS Classic API. This specification can be used to generate an Interface Control Document (ICD), header files with Doxygen markup and content for the RTEMS Classic API Guide.  The RTEMS Classic API is mainly defined in the following header files:

* <rtems.h>
* <rtems/config.h>
* <rtems/extension.h>
* <rtems/fatal.h>
* <rtems/init.h>
* <rtems/io.h>
* <rtems/rtems/barrier.h>
* <rtems/rtems/cache.h>
* <rtems/rtems/clock.h>
* <rtems/rtems/config.h>
* <rtems/rtems/dpmem.h>
* <rtems/rtems/event.h>
* <rtems/rtems/intr.h>
* <rtems/rtems/message.h>
* <rtems/rtems/mp.h>
* <rtems/rtems/object.h>
* <rtems/rtems/options.h>
* <rtems/rtems/part.h>
* <rtems/rtems/ratemon.h>
* <rtems/rtems/region.h>
* <rtems/rtems/sem.h>
* <rtems/rtems/signal.h>
* <rtems/rtems/status.h>
* <rtems/rtems/support.h>
* <rtems/rtems/tasks.h>
* <rtems/rtems/timer.h>
* <rtems/rtems/types.h>
* <rtems/score/stack.h>

Examples for interface specification items are available here:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec/if/rtems/status

You find an example for a generated header file here:

https://git.rtems.org/sebh/rtems.git/tree/cpukit/include/rtems/rtems/status.h?h=qual

The header files are generated by this script:

https://git.rtems.org/sebh/rtems-qual.git/tree/specif.py

+ As preliminary work, remove all RTEMS APIs deprecated in RTEMS 5.1.
+
Carry out the following tasks for each header file:

1. Add a interface specification item for each variable, typedef, enum, enumerator, define, macro, function, struct, and union.

2. For each item analyse the change history using `git log -p --follow` to determine the copyright holders of the Doxygen markup. Use only Doxygen markup for the specification items from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899. Use this information to provide copyright statements for the items. The API parts alone (e.g. function names, parameter names, type names, etc.) are not considered to be copyrightable information.

3. Use the RTEMS documentation sources to document the API. Use only content from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899.

4. Add unspecified interface items for interfaces to the implementation, C language, compiler, user provided defines, build system provided defines, etc.

5. Run the RTEMS test suite with all tests enabled and check for regressions (in particular new warnings).

6. Create a commit for each header file and send it to the RTEMS mailing list for review.

Author: Trac Migrate

2020-06-01T11:46:42.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

For the RTEMS Qualification project we need a specification of the RTEMS Classic API. This specification can be used to generate an Interface Control Document (ICD), header files with Doxygen markup and content for the RTEMS Classic API Guide.  The RTEMS Classic API is mainly defined in the following header files:

* <rtems.h>
* <rtems/config.h>
* <rtems/extension.h>
* <rtems/fatal.h>
* <rtems/init.h>
* <rtems/io.h>
* <rtems/rtems/barrier.h>
* <rtems/rtems/cache.h>
* <rtems/rtems/clock.h>
* <rtems/rtems/config.h>
* <rtems/rtems/dpmem.h>
* <rtems/rtems/event.h>
* <rtems/rtems/intr.h>
* <rtems/rtems/message.h>
* <rtems/rtems/mp.h>
* <rtems/rtems/object.h>
* <rtems/rtems/options.h>
* <rtems/rtems/part.h>
* <rtems/rtems/ratemon.h>
* <rtems/rtems/region.h>
* <rtems/rtems/sem.h>
* <rtems/rtems/signal.h>
* <rtems/rtems/status.h>
* <rtems/rtems/support.h>
* <rtems/rtems/tasks.h>
* <rtems/rtems/timer.h>
* <rtems/rtems/types.h>
* <rtems/score/stack.h>

Examples for interface specification items are available here:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec/if/rtems/status

You find an example for a generated header file here:

https://git.rtems.org/sebh/rtems.git/tree/cpukit/include/rtems/rtems/status.h?h=qual

The header files are generated by this script:

https://git.rtems.org/sebh/rtems-qual.git/tree/specif.py

As preliminary work, remove all RTEMS APIs deprecated in RTEMS 5.1.

+ Use and improve the [Interface Specification How-To](https://docs.rtems.org/branches/master/eng/req/howto.html#interface-specification) during the work on this ticket.
+
Carry out the following tasks for each header file:

1. Add a interface specification item for each variable, typedef, enum, enumerator, define, macro, function, struct, and union.

2. For each item analyse the change history using `git log -p --follow` to determine the copyright holders of the Doxygen markup. Use only Doxygen markup for the specification items from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899. Use this information to provide copyright statements for the items. The API parts alone (e.g. function names, parameter names, type names, etc.) are not considered to be copyrightable information.

3. Use the RTEMS documentation sources to document the API. Use only content from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899.

4. Add unspecified interface items for interfaces to the implementation, C language, compiler, user provided defines, build system provided defines, etc.

5. Run the RTEMS test suite with all tests enabled and check for regressions (in particular new warnings).

6. Create a commit for each header file and send it to the RTEMS mailing list for review.

Author: Trac Migrate

2020-06-04T12:32:13.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

For the RTEMS Qualification project we need a specification of the RTEMS Classic API. This specification can be used to generate an Interface Control Document (ICD), header files with Doxygen markup and content for the RTEMS Classic API Guide.  The RTEMS Classic API is mainly defined in the following header files:

* <rtems.h>
* <rtems/config.h>
* <rtems/extension.h>
* <rtems/fatal.h>
* <rtems/init.h>
* <rtems/io.h>
* <rtems/rtems/barrier.h>
* <rtems/rtems/cache.h>
* <rtems/rtems/clock.h>
* <rtems/rtems/config.h>
* <rtems/rtems/dpmem.h>
* <rtems/rtems/event.h>
* <rtems/rtems/intr.h>
* <rtems/rtems/message.h>
* <rtems/rtems/mp.h>
* <rtems/rtems/object.h>
* <rtems/rtems/options.h>
* <rtems/rtems/part.h>
* <rtems/rtems/ratemon.h>
* <rtems/rtems/region.h>
* <rtems/rtems/sem.h>
* <rtems/rtems/signal.h>
* <rtems/rtems/status.h>
* <rtems/rtems/support.h>
* <rtems/rtems/tasks.h>
* <rtems/rtems/timer.h>
* <rtems/rtems/types.h>
* <rtems/score/stack.h>

Examples for interface specification items are available here:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec/if/rtems/status

You find an example for a generated header file here:

https://git.rtems.org/sebh/rtems.git/tree/cpukit/include/rtems/rtems/status.h?h=qual

The header files are generated by this script:

- https://git.rtems.org/sebh/rtems-qual.git/tree/specif.py
?                                                    ^^

+ https://git.rtems.org/sebh/rtems-qual.git/tree/spec2rtems.py
?                                                    ^^^^^^


As preliminary work, remove all RTEMS APIs deprecated in RTEMS 5.1.

Use and improve the [Interface Specification How-To](https://docs.rtems.org/branches/master/eng/req/howto.html#interface-specification) during the work on this ticket.

Carry out the following tasks for each header file:

1. Add a interface specification item for each variable, typedef, enum, enumerator, define, macro, function, struct, and union.

2. For each item analyse the change history using `git log -p --follow` to determine the copyright holders of the Doxygen markup. Use only Doxygen markup for the specification items from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899. Use this information to provide copyright statements for the items. The API parts alone (e.g. function names, parameter names, type names, etc.) are not considered to be copyrightable information.

3. Use the RTEMS documentation sources to document the API. Use only content from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899.

4. Add unspecified interface items for interfaces to the implementation, C language, compiler, user provided defines, build system provided defines, etc.

5. Run the RTEMS test suite with all tests enabled and check for regressions (in particular new warnings).

6. Create a commit for each header file and send it to the RTEMS mailing list for review.
  • Owner set to sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2020-06-04T17:38:29.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

For the RTEMS Qualification project we need a specification of the RTEMS Classic API. This specification can be used to generate an Interface Control Document (ICD), header files with Doxygen markup and content for the RTEMS Classic API Guide.  The RTEMS Classic API is mainly defined in the following header files:

* <rtems.h>
* <rtems/config.h>
* <rtems/extension.h>
* <rtems/fatal.h>
* <rtems/init.h>
* <rtems/io.h>
* <rtems/rtems/barrier.h>
* <rtems/rtems/cache.h>
* <rtems/rtems/clock.h>
* <rtems/rtems/config.h>
* <rtems/rtems/dpmem.h>
* <rtems/rtems/event.h>
* <rtems/rtems/intr.h>
* <rtems/rtems/message.h>
+ * <rtems/rtems/modes.h>
* <rtems/rtems/mp.h>
* <rtems/rtems/object.h>
* <rtems/rtems/options.h>
* <rtems/rtems/part.h>
* <rtems/rtems/ratemon.h>
* <rtems/rtems/region.h>
* <rtems/rtems/sem.h>
* <rtems/rtems/signal.h>
* <rtems/rtems/status.h>
* <rtems/rtems/support.h>
* <rtems/rtems/tasks.h>
* <rtems/rtems/timer.h>
* <rtems/rtems/types.h>
* <rtems/score/stack.h>

Examples for interface specification items are available here:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec/if/rtems/status

You find an example for a generated header file here:

https://git.rtems.org/sebh/rtems.git/tree/cpukit/include/rtems/rtems/status.h?h=qual

The header files are generated by this script:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec2rtems.py

As preliminary work, remove all RTEMS APIs deprecated in RTEMS 5.1.

Use and improve the [Interface Specification How-To](https://docs.rtems.org/branches/master/eng/req/howto.html#interface-specification) during the work on this ticket.

Carry out the following tasks for each header file:

1. Add a interface specification item for each variable, typedef, enum, enumerator, define, macro, function, struct, and union.

2. For each item analyse the change history using `git log -p --follow` to determine the copyright holders of the Doxygen markup. Use only Doxygen markup for the specification items from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899. Use this information to provide copyright statements for the items. The API parts alone (e.g. function names, parameter names, type names, etc.) are not considered to be copyrightable information.

3. Use the RTEMS documentation sources to document the API. Use only content from contributors which agreed on a dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899.

4. Add unspecified interface items for interfaces to the implementation, C language, compiler, user provided defines, build system provided defines, etc.

5. Run the RTEMS test suite with all tests enabled and check for regressions (in particular new warnings).

6. Create a commit for each header file and send it to the RTEMS mailing list for review.

Author: Trac Migrate

2020-09-03T05:00:43.000Z

Original author: sebastian.huber

In [changeset:”16ee8cf45bfd2c02ec2bd5d2fcabc6876cb2de65/rtems-docs” 16ee8cf/rtems-docs]:

c-user: Split up semaphore manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:00:46.000Z

Original author: sebastian.huber

In [changeset:”ba6825ca6359da5ded33f8b9bedcd53eadec579b/rtems-docs” ba6825c/rtems-docs]:

c-user: Split up event manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:00:48.000Z

Original author: sebastian.huber

In [changeset:”91f0f97698dd628842b35dc2fe76ecf537f593ba/rtems-docs” 91f0f97/rtems-docs]:

c-user: Split up barrier manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:00:50.000Z

Original author: sebastian.huber

In [changeset:”86c39ef2c4c24dde4fdef57d5f3b3eff27cc5000/rtems-docs” 86c39ef/rtems-docs]:

c-user: Split up clock manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:00:52.000Z

Original author: sebastian.huber

In [changeset:”623a9a11e8b4daf2ccfba0a3cff23e5063453e75/rtems-docs” 623a9a1/rtems-docs]:

c-user: Split up dual-ported memory manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:00:54.000Z

Original author: sebastian.huber

In [changeset:”72295d47f6907e9c3eca59554e356601e5172c87/rtems-docs” 72295d4/rtems-docs]:

c-user: Split up interrupt manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:00:57.000Z

Original author: sebastian.huber

In [changeset:”980734f1cdd4630eabe8bd82fe2ac21128b9a336/rtems-docs” 980734f/rtems-docs]:

c-user: Split up IO manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:00:59.000Z

Original author: sebastian.huber

In [changeset:”c75ded25eae1c64c1b4dba796acdda741710519e/rtems-docs” c75ded2/rtems-docs]:

c-user: Split up message manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:01.000Z

Original author: sebastian.huber

In [changeset:”a4119a9f1ce98f753ac6b9cfa0a5555f7c6a7c5e/rtems-docs” a4119a9/rtems-docs]:

c-user: Split up partition manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:03.000Z

Original author: sebastian.huber

In [changeset:”082054b63d6365333df356a7a26381e836705354/rtems-docs” 082054b/rtems-docs]:

c-user: Split up rate-monotonic manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:05.000Z

Original author: sebastian.huber

In [changeset:”aebb6fd7c7abd598d803ca0b8013e2761633f03a/rtems-docs” aebb6fd/rtems-docs]:

c-user: Split up region manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:08.000Z

Original author: sebastian.huber

In [changeset:”e3523ed062f50def78cc159f9ac7a24946116943/rtems-docs” e3523ed/rtems-docs]:

c-user: Split up signal manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:10.000Z

Original author: sebastian.huber

In [changeset:”ccb384b6233c3a31ade96b419026dc9049ad9c5b/rtems-docs” ccb384b/rtems-docs]:

c-user: Split up task manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:12.000Z

Original author: sebastian.huber

In [changeset:”a99bbaec5f4c412ddc55030872aa2113e79ea37e/rtems-docs” a99bbae/rtems-docs]:

c-user: Split up timer manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:14.000Z

Original author: sebastian.huber

In [changeset:”80df4d6a473093362092ea2dccad7f34e78664d5/rtems-docs” 80df4d6/rtems-docs]:

c-user: Split up user extensions manager

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-03T05:01:16.000Z

Original author: sebastian.huber

In [changeset:”ba9dfcf92c8aeb832c6f2c7ea7c4150064960d63/rtems-docs” ba9dfcf/rtems-docs]:

c-user: Split up scheduling concepts

Introduce a background section.

This makes it easier to automatically generate parts of the scheduling
concepts documentation in the future.

Update #3993.

Author: Trac Migrate

2020-09-18T16:57:09.000Z

Original author: sebastian.huber

In [changeset:”0b410b8ac75b829dca7651163da904c1a099351b/rtems” 0b410b8a/rtems]:

rtems: Generate <rtems.h>

Change license to BSD-2-Clause according to file history and
documentation re-licensing agreement.

Update #3053.
Update #3899.
Update #3993.

Author: Trac Migrate

2020-10-08T05:40:38.000Z

Original author: sebastian.huber

In [changeset:”f815d044ee14cc9e945a95d52b687a447abe550e/rtems” f815d04/rtems]:

rtems: Add "Generated from ..." comments

Improve file header comment.

Update #3993.

Author: Trac Migrate

2020-10-11T13:27:04.000Z

Original author: sebastian.huber

In [changeset:”4aae24d5b5cd9aa33ecf857d0f51210437d9b098/rtems-docs” 4aae24d/rtems-docs]:

c-user: Generate I/O Manager documentation

The manager documentation is a consolidation of the comments in Doxygen
markup and the documentation sources in Sphinx markup.  The
documentation was transfered to interface specification items.  This
header file was generated from the items by a script.

Update #3993.

Author: Trac Migrate

2020-10-11T14:07:39.000Z

Original author: sebastian.huber

In [changeset:”8111a6ba883e98d1f94d48dcafc07ac03c854449/rtems” 8111a6ba/rtems]:

rtems: Generate <rtems/io.h>

The manager documentation is a consolidation of the comments in Doxygen
markup and the documentation sources in Sphinx markup.  The
documentation was transfered to interface specification items.  This
header file was generated from the items by a script.

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T06:47:02.000Z

Original author: sebastian.huber

In [changeset:”ec4dcc0098b139fe70e12c2d576540a0e130e747/rtems-docs” ec4dcc0/rtems-docs]:

c-user: Generate Event Manager documentation

The manager documentation is a consolidation of the comments in Doxygen
markup and the documentation sources in Sphinx markup.  The
documentation was transfered to interface specification items.  This
header file was generated from the items by a script.

Update #3993.

Author: Trac Migrate

2020-11-12T06:47:04.000Z

Original author: sebastian.huber

In [changeset:”530bc2b0e34cb0ba2624e59b5f08e951153282ae/rtems-docs” 530bc2b/rtems-docs]:

c-user: Generate Partition Manager documentation

The manager documentation is a consolidation of the comments in Doxygen
markup and the documentation sources in Sphinx markup.  The
documentation was transfered to interface specification items.  This
header file was generated from the items by a script.

Update #3993.

Author: Trac Migrate

2020-11-12T07:55:26.000Z

Original author: sebastian.huber

In [changeset:”1af946088dae234233868a01860b9810b729b32c/rtems” 1af94608/rtems]:

rtems: Generate <rtems/config.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:30.000Z

Original author: sebastian.huber

In [changeset:”da44df31b151daf2bbeb0fcc587af82ec7eaa188/rtems” da44df3/rtems]:

rtems: Generate <rtems/rtems/config.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:33.000Z

Original author: sebastian.huber

In [changeset:”c0327d8617f632c673d5e1b61522497c98210481/rtems” c0327d8/rtems]:

rtems: Generate <rtems/rtems/status.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:37.000Z

Original author: sebastian.huber

In [changeset:”e05b100b3cb11fdf0497fc4b84995f500a2c81fb/rtems” e05b100/rtems]:

rtems: Generate <rtems/rtems/modes.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:40.000Z

Original author: sebastian.huber

In [changeset:”8de874b7666062e811ab825cce1dc1aad5f42251/rtems” 8de874b/rtems]:

rtems: Generate <rtems/rtems/options.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:44.000Z

Original author: sebastian.huber

In [changeset:”9b4458e78e5a6190f5f9857e6220aa915cfef07b/rtems” 9b4458e7/rtems]:

rtems: Generate <rtems/rtems/types.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:47.000Z

Original author: sebastian.huber

In [changeset:”f75e240f8cd206d92d9eeffee1ad394e5e8c059d/rtems” f75e240/rtems]:

rtems: Generate <rtems/rtems/attr.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:50.000Z

Original author: sebastian.huber

In [changeset:”007ee134a40753dac41275f49f6c2e55e9a3e546/rtems” 007ee13/rtems]:

rtems: Generate <rtems/rtems/event.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:54.000Z

Original author: sebastian.huber

In [changeset:”ecc6b2f56c0c8e569d1f4e8972223e1d2ad388c9/rtems” ecc6b2f/rtems]:

rtems: Generate <rtems/rtems/part.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-12T07:55:57.000Z

Original author: sebastian.huber

In [changeset:”21af87199297460470578479293ec6bc8c4e04b2/rtems” 21af871/rtems]:

rtems: Generate <rtems/score/basedefs.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-11-20T13:27:03.000Z

Original author: sebastian.huber

In [changeset:”05f06aa7e70bc6d8bf303b56b5744b464bae5011/rtems-docs” 05f06aa/rtems-docs]:

c-user: Split up object services

This makes it easier to automatically generate parts of the module
documentation in the future.

Update #3993.

Author: Trac Migrate

2020-12-01T13:42:47.000Z

Original author: sebastian.huber

In [changeset:”7995329f5cdc3900d0f71746341408a7d0974ddd/rtems” 7995329/rtems]:

rtems: Fix documentation in <rtems/rtems/part.h>

Update #3993.

Author: Trac Migrate

2020-12-01T13:46:11.000Z

Original author: sebastian.huber

In [changeset:”284e8d042175796330030d64c253f39318af0adf/rtems-docs” 284e8d0/rtems-docs]:

c-user: Fix format in Partition Manager

Update #3993.

Author: Trac Migrate

2020-12-02T07:20:08.000Z

Original author: sebastian.huber

In [changeset:”29e6caa311e766aaa4cb43f710f54d6f2040a623/rtems-docs” 29e6caa/rtems-docs]:

c-user: Clarify rtems_partition_create()

The rtems_partition_create() returns an object identifier and not just a
partition identifier.

Update #3993.

Author: Trac Migrate

2020-12-02T07:20:10.000Z

Original author: sebastian.huber

In [changeset:”346bbe698dbded0b66feb66574f5f2e9a0e758fa/rtems-docs” 346bbe6/rtems-docs]:

c-user: Clarify rtems_partition_delete()

Move the PTCB sentence to the notes to be in line with
rtems_partition_create().

Update #3993.

Author: Trac Migrate

2020-12-02T07:20:44.000Z

Original author: sebastian.huber

In [changeset:”8756d5ce06d8d5f8f9f205601cd051211681d470/rtems” 8756d5c/rtems]:

rtems: Clarify rtems_partition_create()

The rtems_partition_create() returns an object identifier and not just a
partition identifier.

Update #3993.

Author: Trac Migrate

2020-12-02T07:20:47.000Z

Original author: sebastian.huber

In [changeset:”5a285e3844462117293c0055944a6d8189e01f46/rtems” 5a285e3/rtems]:

rtems: Clarify rtems_partition_delete()

Move the PTCB sentence to the notes to be in line with
rtems_partition_create().

Update #3993.

Author: Trac Migrate

2020-12-02T07:31:31.000Z

Original author: sebastian.huber

In [changeset:”66bcecfd286542fc13afe8e5afb275906f6c941c/rtems-docs” 66bcecf/rtems-docs]:

c-user: Clarify invalid identifier descriptions

Update #3993.

Author: Trac Migrate

2020-12-02T07:34:30.000Z

Original author: sebastian.huber

In [changeset:”1af4493bdb20cda2879af65e92bc97bf9c60c3b5/rtems” 1af4493/rtems]:

rtems: Clarify invalid identifier descriptions

Update #3993.

Author: Trac Migrate

2020-12-03T06:25:06.000Z

Original author: sebastian.huber

In [changeset:”65969c1b730db50c98f85c83c5c7d244a38814c1/rtems” 65969c1/rtems]:

rtems: Generate <rtems/rtems/object.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-12-03T06:25:18.000Z

Original author: sebastian.huber

In [changeset:”768327d06de3fbcf372ae2fe04199a036bc3234a/rtems” 768327d0/rtems]:

rtems: Generate <rtems/rtems/timer.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2020-12-09T08:20:55.000Z

Original author: sebastian.huber

In [changeset:”dad89ce7a9bb17eaaa5712547bf1661dd1dd5a19/rtems-docs” dad89ce/rtems-docs]:

c-user: Generate Object Services documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2020-12-09T08:20:57.000Z

Original author: sebastian.huber

In [changeset:”d716c79070901195912526c6e49d43defad00bdd/rtems-docs” d716c79/rtems-docs]:

c-user: Generate Timer Manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-01-27T05:02:10.000Z

Original author: sebastian.huber

In [changeset:”b35ac9901caac823c5aa4aeeb81c4bb2c6bc58fd/rtems” b35ac99/rtems]:

rtems: Add "Notes" paragraph header

Place the paragraphs in the same order as the directive documentation in
the RTEMS Classic API Guide.

Update #3993.

Author: Trac Migrate

2021-02-03T05:17:38.000Z

Original author: sebastian.huber

In [changeset:”8a95e6f820f066451e1325592c9c0f18fa205c17/rtems” 8a95e6f8/rtems]:

rtems: Rework object services API

Add a "Constraints" paragraph to the documentation.

Provide prototypes for programming language bindings.  Use the macro
implementation to implement the corresponding functions.

Update #3993.

Author: Trac Migrate

2021-02-03T05:17:47.000Z

Original author: sebastian.huber

In [changeset:”aa0060f4c15e37b76d0a22be3ba21c9dca70eb87/rtems” aa0060f4/rtems]:

rtems: Clarify partition manager documentation

Unify the wording across similar directives of other managers.  Add
"Constraints" paragraph.

Update #3993.

Author: Trac Migrate

2021-02-03T05:20:14.000Z

Original author: sebastian.huber

In [changeset:”95e2f933cb59f8ff5da34a006daae28c82af40c2/rtems-docs” 95e2f93/rtems-docs]:

c-user: Clarify object services

Add a "Constraints" paragraph to the documentation.  Use function
prototypes for the directives.

Update #3993.

Author: Trac Migrate

2021-02-03T05:20:16.000Z

Original author: sebastian.huber

In [changeset:”66c9808db09c4a3f8f82f03389d8699e3fded6cd/rtems-docs” 66c9808/rtems-docs]:

c-user: Clarify partition manager documentation

Unify the wording across similar directives of other managers.  Add
"CONSTRAINTS" section.

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:39.000Z

Original author: sebastian.huber

In [changeset:”4d9b0b4a10b582ba73753861540709ab905f02db/rtems-docs” 4d9b0b4/rtems-docs]:

c-user: Clarify timer manager documentation

Unify the wording across similar directives of other managers.  Add
"CONSTRAINTS" section.

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:42.000Z

Original author: sebastian.huber

In [changeset:”775380c5576a0827957d6cfbb796d39d67f66452/rtems-docs” 775380c/rtems-docs]:

c-user: Clarify event manager documentation

Unify the wording across similar directives of other managers.  Add
"CONSTRAINTS" section.

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:46.000Z

Original author: sebastian.huber

In [changeset:”e357ccf65bd35cb48555502bc7c5dee0d77170e4/rtems-docs” e357ccf/rtems-docs]:

c-user: Clarify IO manager documentation

Unify the wording across similar directives of other managers.

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:48.000Z

Original author: sebastian.huber

In [changeset:”261491f4ad8b6981f60efc59b7bff45c2247c7c4/rtems-docs” 261491f/rtems-docs]:

c-user: Clarify object services documentation

Unify the wording across similar directives of other managers.

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:50.000Z

Original author: sebastian.huber

In [changeset:”4e09c0958cb414036a2fac6ddde412513e4411cb/rtems-docs” 4e09c09/rtems-docs]:

c-user: Add labels to the manager chapters

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:52.000Z

Original author: sebastian.huber

In [changeset:”a1c5d680b982c486d6aa8956ae4880e4e5aca5af/rtems-docs” a1c5d68/rtems-docs]:

c-user: Add control block acronyms

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:55.000Z

Original author: sebastian.huber

In [changeset:”698580033b5e8d367d9d8146f567ad14b763f064/rtems-docs” 6985800/rtems-docs]:

c-user: Move deprecated/removed directives

This makes it easier to automatically generate parts of the manager
documentation in the future.

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:57.000Z

Original author: sebastian.huber

In [changeset:”fd56f7e469991b0c27826577e75a69668ff6411f/rtems-docs” fd56f7e/rtems-docs]:

c-user: Generate semaphore manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-02-17T17:46:59.000Z

Original author: sebastian.huber

In [changeset:”62718adaa877c7b7ffb93270e7ddc48eebd7e368/rtems-docs” 62718ad/rtems-docs]:

c-user: Generate barrier manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-02-17T17:47:02.000Z

Original author: sebastian.huber

In [changeset:”4aead847d249956d34b9c128e71afc187c86bdd6/rtems-docs” 4aead84/rtems-docs]:

c-user: Generate user extensions manager docs

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-02-17T17:47:04.000Z

Original author: sebastian.huber

In [changeset:”a60c5b4b3ed683b1ca13149309bc84de84615a71/rtems-docs” a60c5b4/rtems-docs]:

c-user: Generate clock manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-02-17T19:26:45.000Z

Original author: sebastian.huber

In [changeset:”2730599ca147f2ac58536a9a7e7f2188e98233a3/rtems” 2730599c/rtems]:

rtems: Clarify event manager documentation

Unify the wording across similar directives of other managers.  Add
"CONSTRAINTS" section.

Update #3993.

Author: Trac Migrate

2021-02-17T19:26:49.000Z

Original author: sebastian.huber

In [changeset:”f9dc44afc75a629adf6d4d50da0a5ca152316802/rtems” f9dc44a/rtems]:

rtems: Clarify timer manager documentation

Unify the wording across similar directives of other managers.  Add
"CONSTRAINTS" section.

Update #3993.

Author: Trac Migrate

2021-02-17T19:26:52.000Z

Original author: sebastian.huber

In [changeset:”bf3b9f45365f64762a4ac9362782fd5640a57854/rtems” bf3b9f45/rtems]:

rtems: Clarify partition manager documentation

Unify the wording across similar directives of other managers.

Update #3993.

Author: Trac Migrate

2021-02-17T19:26:55.000Z

Original author: sebastian.huber

In [changeset:”7a1828ac611331f475e47c82f2ccbf25bd8a8449/rtems” 7a1828ac/rtems]:

rtems: Clarify IO manager documentation

Unify the wording across similar directives of other managers.

Update #3993.

Author: Trac Migrate

2021-02-17T19:26:59.000Z

Original author: sebastian.huber

In [changeset:”97825daf9c4f80f3f228f92f63d29d02c6ccf3f4/rtems” 97825da/rtems]:

rtems: Clarify object services documentation

Unify the wording across similar directives of other managers.

Update #3993.

Author: Trac Migrate

2021-02-17T19:27:02.000Z

Original author: sebastian.huber

In [changeset:”0c4c03532c625f5f34232c2e4eabc2ecc4fa036c/rtems” 0c4c035/rtems]:

rtems: Generate <rtems/rtems/barrier.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-02-17T19:27:06.000Z

Original author: sebastian.huber

In [changeset:”276828053ef00406b6d24bafc5b0b9da12068bf0/rtems” 2768280/rtems]:

rtems: Generate <rtems/rtems/clock.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-02-17T19:27:10.000Z

Original author: sebastian.huber

In [changeset:”407e351e11d3c4d0db8eb2d23ae2554f35f31697/rtems” 407e351/rtems]:

rtems: Generate <rtems/rtems/sem.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-02-19T06:06:15.000Z

Original author: sebastian.huber

In [changeset:”c87d8c2af341d4b9193690e6c948612d62b00e3b/rtems-docs” c87d8c2/rtems-docs]:

c-user: Generate signal manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-02-19T06:09:24.000Z

Original author: sebastian.huber

In [changeset:”8b1b9872015b689172990556e8d958a732d88196/rtems” 8b1b9872/rtems]:

rtems: Generate <rtems/rtems/signal.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-19T05:18:08.000Z

Original author: sebastian.huber

In [changeset:”9bf0184a3e0773dc8f466479da548ff6243eff50/rtems-docs” 9bf0184/rtems-docs]:

c-user: Document rtems_semaphore_obtain() errors

Update #3993.

Author: Trac Migrate

2021-04-22T05:13:44.000Z

Original author: sebastian.huber

In [changeset:”f3262d40745c4109f529e0456e011c85bf134917/rtems-docs” f3262d4/rtems-docs]:

c-user: Split up initialization manager

This makes it easier to automatically generate parts of the module
documentation in the future.

Update #3993.

Author: Trac Migrate

2021-04-22T05:13:46.000Z

Original author: sebastian.huber

In [changeset:”62ca9c1bc3e09119aaed095dc709f7712d8b3997/rtems-docs” 62ca9c1/rtems-docs]:

c-user: Split up fatal error manager

This makes it easier to automatically generate parts of the module
documentation in the future.

Update #3993.

Author: Trac Migrate

2021-04-22T05:13:48.000Z

Original author: sebastian.huber

In [changeset:”86b48fb09e78d756cce2329213c0a5b48662cc52/rtems-docs” 86b48fb/rtems-docs]:

c-user: Split up multiprocessing manager

This makes it easier to automatically generate parts of the module
documentation in the future.

Update #3993.

Author: Trac Migrate

2021-04-22T05:13:52.000Z

Original author: sebastian.huber

In [changeset:”5a3cb76d38fa15ac8482be1d55be357594a8c54e/rtems-docs” 5a3cb76/rtems-docs]:

c-user: Generate initialization manager docs

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-22T05:13:54.000Z

Original author: sebastian.huber

In [changeset:”d946f307e9f194e00839851681479d61383e76a1/rtems-docs” d946f30/rtems-docs]:

c-user: Generate fatal error manager docs

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-22T05:13:57.000Z

Original author: sebastian.huber

In [changeset:”a99562097a255351e10498041d9e99a0b3c3faa5/rtems-docs” a995620/rtems-docs]:

c-user: Generate multiprocessing manager docs

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-22T05:13:59.000Z

Original author: sebastian.huber

In [changeset:”03fc1d6514ca76e3e694545e5ba16e59abb1541b/rtems-docs” 03fc1d6/rtems-docs]:

c-user: Generate dual-ported memory manager docs

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-22T05:14:39.000Z

Original author: sebastian.huber

In [changeset:”97ba94b929cb273efe3227c248c56ae0812b8dc1/rtems” 97ba94b/rtems]:

rtems: Generate <rtems/fatal.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-22T05:14:43.000Z

Original author: sebastian.huber

In [changeset:”71a2e7eec7ea25eb1af7dd2114149e23d1efc15f/rtems” 71a2e7e/rtems]:

rtems: Generate <rtems/init.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-22T05:14:47.000Z

Original author: sebastian.huber

In [changeset:”0be4b8821f5cf71319a4511a77f70f7b421a9dc6/rtems” 0be4b882/rtems]:

rtems: Generate <rtems/rtems/dpmem.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-22T05:14:50.000Z

Original author: sebastian.huber

In [changeset:”e8be00473df52eb71eeaaf12d2ca7334060558f2/rtems” e8be0047/rtems]:

rtems: Generate <rtems/rtems/mp.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-22T05:14:54.000Z

Original author: sebastian.huber

In [changeset:”b229b4c2d63198c47c1eb0ab0aade0eef9cfceaf/rtems” b229b4c/rtems]:

rtems: Generate <rtems/rtems/support.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-23T06:32:43.000Z

Original author: sebastian.huber

In [changeset:”61cbbd2e2392271eb8c602244b9e79c1f78ba7d7/rtems-docs” 61cbbd2/rtems-docs]:

c-user: Generate rate-monotonic manager docs

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-23T06:32:45.000Z

Original author: sebastian.huber

In [changeset:”63a9e0c55c48baa496fbfbc906c79debf8692812/rtems-docs” 63a9e0c/rtems-docs]:

c-user: Generate message manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-23T06:44:36.000Z

Original author: sebastian.huber

In [changeset:”73a0175406f734852e7ef083a9a15726e38ce678/rtems” 73a0175/rtems]:

rtems: Generate <rtems/rtems/message.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-23T06:44:40.000Z

Original author: sebastian.huber

In [changeset:”de6e5153c51e6e6c990c58f474471c236f6926b7/rtems” de6e515/rtems]:

rtems: Generate <rtems/rtems/ratemon.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-28T07:02:58.000Z

Original author: sebastian.huber

In [changeset:”0b9e307f24a28c68acc90b874198a125b1207ab6/rtems” 0b9e307/rtems]:

rtems: Generate <rtems/rtems/intr.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-28T07:03:03.000Z

Original author: sebastian.huber

In [changeset:”b3d3186dc7c1315b48b71328cd174cd81f832420/rtems” b3d3186d/rtems]:

rtems: Generate <rtems/rtems/region.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-28T07:03:07.000Z

Original author: sebastian.huber

In [changeset:”a1679af38053ec37f3e8c4d71f4f175fd58ce754/rtems” a1679af3/rtems]:

rtems: Generate <rtems/rtems/tasks.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3899.
Update #3993.

Author: Trac Migrate

2021-04-28T07:04:10.000Z

Original author: sebastian.huber

In [changeset:”f6b433727c82958db118a0c004573e7dda46a3c2/rtems-docs” f6b4337/rtems-docs]:

c-user: Generate interrupt manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-28T07:04:13.000Z

Original author: sebastian.huber

In [changeset:”4a3259f1616fb6244f0ad72912487c5a38b5c300/rtems-docs” 4a3259f/rtems-docs]:

c-user: Generate scheduling concepts documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-28T07:04:19.000Z

Original author: sebastian.huber

In [changeset:”2ae3364b107942b0b5b41aa57f41c8c6b76a601c/rtems-docs” 2ae3364/rtems-docs]:

c-user: Generate task manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-04-28T07:04:21.000Z

Original author: sebastian.huber

In [changeset:”35cbb42a42f7c9f7d1a08dc165584b24782aad60/rtems-docs” 35cbb42/rtems-docs]:

c-user: Generate region manager documentation

The documentation is a consolidation of the comments in Doxygen markup
and the documentation sources in Sphinx markup.  The documentation was
transfered to interface specification items.  The documentation source
files were generated from the items by a script.

Update #3993.

Author: Trac Migrate

2021-06-15T05:47:59.000Z

Original author: sebastian.huber

In [changeset:”c70715baea93828a0e7b27f4ae583dc254e1a6a9/rtems-docs” c70715b/rtems-docs]:

c-user: Use a common phrase for pointer parameters

Mention the type of the pointer in the parameter description.  Use the
more general term "object" instead of "variable".

Update #3993.

Author: Trac Migrate

2021-06-15T08:40:28.000Z

Original author: sebastian.huber

In [changeset:”6abdd89f191a5e6d64055093f68a4fce10554f82/rtems” 6abdd89/rtems]:

Use a common phrase for pointer parameters

Mention the type of the pointer in the parameter description.  Use the
more general term "object" instead of "variable".

Update #3993.

Author: Trac Migrate

2021-07-27T05:43:11.000Z

Original author: sebastian.huber

In [changeset:”c4eafae27958ac0b2f356c953876a3b0aa6fa966/rtems” c4eafae2/rtems]:

rtems: Generate <rtems/irq-extension.h>

Use <rtems/score/chain.h> which just provides the data types and avoid a
dependency on <rtems/chain.h> which contains the full chain
implementation.

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3269.
Update #3899.
Update #3993.

Author: Trac Migrate

2021-08-02T05:15:51.000Z

Original author: sebastian.huber

In [changeset:”d999f865eaef44b887b5c40799572e849ac4ca78/rtems” d999f865/rtems]:

rtems: Generate <rtems/bspIo.h>

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Place the group into the I/O Manager group.  Add all source files to the
group.

Update #3899.
Update #3993.
Update #4482.

Author: Trac Migrate

2022-01-26T13:27:56.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

Work is done.

Author: Trac Migrate

2022-10-04T08:39:36.000Z

Original author: sebastian.huber

In [changeset:”cc43dc3e22b21ddf902b7748fb27f16c9aee3719/rtems” cc43dc3e/rtems]:

rtems: Clarify application config info API

Update #3993.

Author: Amar Takhar

2024-04-25T20:48:13.624Z

changed the description

3991 - Remove deprecated Thread typedef

Id

3991

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-28T13:48:02.000Z

Updated

2024-04-25T20:48:13.049Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3991

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:27:17.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a3ed42193994f969e799581aa979448519caa13e/rtems” a3ed4219/rtems]:

score: Remove deprecated Thread

This type was deprecated in RTEMS 5.1.

Close #3991.

Author: Amar Takhar

2024-04-25T20:48:13.087Z

changed the description

3990 - Remove deprecated rtems_get_processor_count()

Id

3990

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-28T13:29:14.000Z

Updated

2024-04-25T20:48:12.621Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3990

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:26:46.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”13a4b880771a18e705e889bf6bd653d109606371/rtems” 13a4b880/rtems]:

rtems: Remove rtems_get_processor_count()

This function was deprecated in RTEMS 5.1.

Close #3990.

Author: Amar Takhar

2024-04-25T20:48:12.658Z

changed the description

3989 - Remove deprecated rtems_get_current_processor()

Id

3989

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-28T13:28:09.000Z

Updated

2024-04-25T20:48:12.194Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3989

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:26:42.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e4215e433bc016bd46b69566c0b3a7561869e375/rtems” e4215e43/rtems]:

rtems: Remove rtems_get_current_processor()

This function was deprecated in RTEMS 5.1.

Close #3989.

Author: Amar Takhar

2024-04-25T20:48:12.231Z

changed the description

3988 - Remove deprecated rtems_extension

Id

3988

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-28T12:17:13.000Z

Updated

2024-04-25T20:48:11.768Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3988

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:26:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”6a3fcd4974320d7d05b8d601a41ef19bb5d5bb18/rtems” 6a3fcd4/rtems]:

rtems: Remove deprecated rtems_extension

This type was deprecated in RTEMS 5.1.

Close #3988.

Author: Amar Takhar

2024-04-25T20:48:11.804Z

changed the description

3980 - Remove deprecated <rtems/system.h>

Id

3980

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-11T05:50:27.000Z

Updated

2024-04-25T20:48:10.487Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3980

Merges

0

Original author: sebastian.huber

This header file is included by <rtems.h> and contains only deprecated or internal content. Remove this deprecated header file.

Author: Trac Migrate

2020-05-11T06:15:27.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Trac Migrate

2020-07-14T05:26:35.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”39c2e28410bae130c29b9981be589f47de9f70b9/rtems” 39c2e28/rtems]:

rtems: Remove deprecated <rtems/system.h>

Close #3980.

Author: Amar Takhar

2024-04-25T20:48:10.526Z

changed the description

3979 - Remove RTEMS_MAXIMUM_NAME_LENGTH

Id

3979

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-11T05:49:22.000Z

Updated

2024-04-25T20:48:10.059Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3979

Merges

0

Original author: sebastian.huber

Remove this deprecated define.

Author: Trac Migrate

2020-07-14T05:26:28.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b3686d7eb54843f18060c60ad48c386f43dbe1c9/rtems” b3686d7/rtems]:

rtems: Remove RTEMS_MAXIMUM_NAME_LENGTH

Close #3979.

Author: Amar Takhar

2024-04-25T20:48:10.097Z

changed the description

3978 - Move _RTEMS_version to implementation header file

Id

3978

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-11T05:48:32.000Z

Updated

2024-04-25T20:48:09.631Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3978

Merges

0

Original author: sebastian.huber

The global variable _RTEMS_version was declared via <rtems.h> and may be used directly by application code. Applications should use rtems_get_version_string() instead. Move it to an implementation header file in RTEMS 6.

Author: Trac Migrate

2020-07-14T05:26:24.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”90390118c0eaa76da6f98ee81f775391b7bfb695/rtems” 9039011/rtems]:

rtems: Move declartion of _RTEMS_version

Close #3978.

Author: Amar Takhar

2024-04-25T20:48:09.670Z

changed the description

3959 - Add rtems_task_construct()

Id

3959

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-04-17T06:55:13.000Z

Updated

2024-04-25T20:48:06.575Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3959

Merges

0

Original author: sebastian.huber

In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. One missing piece is the support for statically allocated RTEMS tasks. The rtems_task_create() function allocates the task stack from a heap. We need an alternative function which allocates an RTEMS tasks with a user provided stack (similar to the POSIX threads).

There does need to be documentation on the allocation strategies, when to use, limitations, and particularly the use of rtems-exeinfo to get the TLS size. This is one case for sure where an RTEMS Tool needs explicit mention in both the API and configure option sections.

Proposed API:

/**
* @brief This structure defines the configuration of a task constructed by
*   rtems_task_construct().
*/
typedef struct {
/**
* @brief This member defines the name of the task.
*/
rtems_name name;

/**
* @brief This member defines the initial priority of the task.
*/
rtems_task_priority initial_priority;

/**
* @brief This member shall point to the task storage area begin.
*
* The task storage area will contain the task stack, the thread-local storage,
* and the floating-point context on architectures with a separate
* floating-point context.
*
* The task storage area begin address and size should be aligned by
* #RTEMS_TASK_STORAGE_ALIGNMENT.  To avoid memory waste, use RTEMS_ALIGNED()
* and #RTEMS_TASK_STORAGE_ALIGNMENT to enforce the recommended alignment of a
* statically allocated task storage area.
*/
void *storage_area;

/**
* @brief This member defines size of the task storage area in bytes.
*
* Use the RTEMS_TASK_STORAGE_SIZE() macro to determine the recommended task
* storage area size.
*/
size_t storage_size;

/**
* @brief This member defines the maximum thread-local storage size supported
*   by the task storage area.
*
* Use RTEMS_ALIGN_UP() and #RTEMS_TASK_STORAGE_ALIGNMENT to adjust the size to
* meet the minimum alignment requirement of a thread-local storage area used
* to construct a task.
*
* If the value is less than the actual thread-local storage size, then the
* task construction by rtems_task_construct() fails.
*
* If the is less than the task storage area size, then the task construction
* by rtems_task_construct() fails.
*
* The actual thread-local storage size is determined when the application
* executable is linked.  The ``rtems-exeinfo`` command line tool included in
* the RTEMS Tools can be used to obtain the thread-local storage size and
* alignment of an application executable.
*
* The application may configure the maximum thread-local storage size for all
* threads explicitly through the #CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
* configuration option.
*/
size_t maximum_thread_local_storage_size;

/**
* @brief This member defines the optional handler to free the task storage
*   area.
*
* It is called on exactly two mutually exclusive occasions.  Firstly, when the
* task construction aborts due to a failed task create extension, or secondly,
* when the task is deleted.  It is called from task context under protection
* of the object allocator lock.  It is allowed to call free() in this handler.
* If handler is NULL, then no action will be performed.
*/
void ( *storage_free )( void * );

/**
* @brief This member defines the initial modes of the task.
*/
rtems_mode initial_modes;

/**
* @brief This member defines the attributes of the task.
*/
rtems_attribute attributes;
} rtems_task_config;

/**
* @brief Constructs a task from the specified the task configuration.
*
* In contrast to tasks created by rtems_task_create(), the tasks constructed
* by this directive use a user-provided task storage area.  The task storage
* area contains the task stack, the thread-local storage, and the
* floating-point context on architectures with a separate floating-point
* context.
*
* This directive is intended for applications which do not want to use the
* RTEMS Workspace and instead statically allocate all operating system
* resources.  It is not recommended to use rtems_task_create() and
* rtems_task_construct() together in an application.  It is also not
* recommended to use rtems_task_construct() for drivers or general purpose
* libraries.  The reason for these recommendations is that the task
* configuration needs settings which can be only given with a through
* knowledge of the application resources.
*
* An application based solely on static allocation can avoid any runtime
* memory allocators.  This can simplfiy the application architecture as well
* as any analysis that may be required.
*
* The stack space estimate done by <rtems/confdefs.h> assumes that all tasks
* are created by rtems_task_create().  The estimate can be adjusted to take
* user-provided task storage areas into account through the
* #CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE application
* configuration option.
*
* The #CONFIGURE_MAXIMUM_TASKS should include tasks constructed by
* rtems_task_construct().
*
* @param config is the task configuration.
*
* @param[out] id is the pointer to an object identifier variable.  The
*   identifier of the constructed task object will be stored in this variable,
*   in case of a successful operation.
*
* @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
*
* @retval ::RTEMS_INVALID_ADDRESS The id parameter was NULL.
*
* @retval ::RTEMS_INVALID_NAME The task name was invalid.
*
* @retval ::RTEMS_INVALID_PRIORITY The initial task priority was invalid.
*
* @retval ::RTEMS_INVALID_SIZE The thread-local storage size is greater than
*   the maximum thread-local storage size specified in the task configuration.
*   The thread-local storage size is determined by the thread-local variables
*   used by the application and #CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE.
*
* @retval ::RTEMS_INVALID_SIZE The task storage area was too small to provide
*   a task stack of the configured minimum size, see
*   #CONFIGURE_MINIMUM_TASK_STACK_SIZE. The task storage area contains the
*   task stack, the thread-local storage, and the floating-point context on
*   architectures with a separate floating-point context.
*
* @retval ::RTEMS_TOO_MANY There was no inactive task object available to
*   construct a task.
*
* @retval ::RTEMS_TOO_MANY In multiprocessing configurations, there was no
*   inactive global object available to construct a global task.
*
* @retval ::RTEMS_UNSATISFIED One of the task create extensions failed during
*   the task construction.
*
* @retval ::RTEMS_UNSATISFIED In SMP configurations, the non-preemption mode
*   was not supported.
*
* @retval ::RTEMS_UNSATISFIED In SMP configurations, the interrupt level mode
*   was not supported.
*/
rtems_status_code rtems_task_construct(
const rtems_task_config *config,
rtems_id                *id
);

Author: Trac Migrate

2020-04-17T07:32:59.000Z

Original author: sebastian.huber

Author: Trac Migrate

2020-09-02T16:03:13.000Z

Original author: sebastian.huber

In [changeset:”91c811a132696e10efca58f138e7af08a360ad71/rtems” 91c811a1/rtems]:

score: Add _Freechain_Push()

Update #3959.

Author: Trac Migrate

2020-09-02T16:03:17.000Z

Original author: sebastian.huber

In [changeset:”354c2b50a3d707bbdf8d5b553869062cdedaf4fb/rtems” 354c2b5/rtems]:

score: Add <rtems/score/freechainimpl.h>

Hide implementation details.

Update #3959.

Author: Trac Migrate

2020-09-02T16:03:20.000Z

Original author: sebastian.huber

In [changeset:”159db411662deb72f9d312e4cb38caf9beb9fd4f/rtems” 159db411/rtems]:

score: Use _Freechain_Push()

The nodes are never NULL.

Update #3959.

Author: Trac Migrate

2020-09-02T16:03:24.000Z

Original author: sebastian.huber

In [changeset:”d8172209b3f1288761ba410f52b89adeb56394fe/rtems” d817220/rtems]:

score: Add _Stack_Allocator_do_initialize()

Do the stack allocator initialization and sanity check only if a
user-provided stack allocator was configured.  This avoids a dependency
of _Thread_Handler_initialization() on the stack allocator.

Update #3959.

Author: Trac Migrate

2020-09-02T16:03:27.000Z

Original author: sebastian.huber

In [changeset:”2d5510307af3222572238f139bd355952614f482/rtems” 2d551030/rtems]:

score: Move _Stack_Allocator_free to separate file

This decouples the task stack allocation from the deallocation.

Update #3959.

Author: Trac Migrate

2020-09-02T16:03:30.000Z

Original author: sebastian.huber

In [changeset:”aedd92d1477df0025821b77c06b2f2b2dc7aaf67/rtems” aedd92d/rtems]:

score: Add stack free handler to TCB

This avoids a dependency to the stack free function in the thread
destruction.

Update #3959.

Author: Trac Migrate

2020-09-03T04:33:56.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. One missing piece is the support for statically allocated RTEMS tasks. The rtems_task_create() function allocates the task stack from a heap. We need an alternative function which allocates an RTEMS tasks with a user provided stack (similar to the POSIX threads). Proposed API:
{{{
/**
* @brief The task configuration to build a task.
*/
typedef struct {
/**
* @brief The name of the task.
*/
rtems_name name;

/**
* @brief The initial priority of the task.
*/
rtems_task_priority initial_priority;

/**
* @brief The task stack area begin address for the task.
*/
void *stack_area;

/**
* @brief The task stack area size in bytes for the task.
*/
size_t stack_size;

/**
* @brief The function to free the task stack area if the task gets deleted.
*/
void ( *stack_free )( void * );

/**
* @brief The initial modes of the task.
*/
rtems_mode initial_modes;

/**
* @brief The attribute set of the task.
*/
rtems_attribute attribute_set;
} rtems_task_config;

/**
* @brief Builds a task according to the specified configuration.
*
* @param config The task configuration.
* @param[out] id The task identifier of the new task.
*
* @retval RTEMS_SUCCESSFUL Successful operation.
* @retval RTEMS_INVALID_ADDRESS The id parameter is @c NULL.
* @retval RTEMS_INVALID_NAME The task name is invalid.
* @retval RTEMS_INVALID_PRIORITY The initial priority of the task is invalid.
* @retval RTEMS_TOO_MANY No task is available.
* @retval RTEMS_UNSATISFIED A task create extension failed.
*/
- rtems_status_code rtems_task_build(
+ rtems_status_code rtems_task_create_from_config(
const rtems_task_config *config,
rtems_id                *id
);
}}}
  • Summary changed from Add rtems_task_build() to Add rtems_task_create_from_config()

Author: Trac Migrate

2020-09-11T13:47:33.000Z

Original author: sebastian.huber

In [changeset:”dd734d467d6e0961a88bdabbafccede6cccb2156/rtems” dd734d46/rtems]:

score: Fix _Thread_Initialize()

Fix an error cleanup path in SMP configurations to avoid a NULL pointer access.

Update #3959.

Author: Trac Migrate

2020-09-13T08:25:35.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. One missing piece is the support for statically allocated RTEMS tasks. The rtems_task_create() function allocates the task stack from a heap. We need an alternative function which allocates an RTEMS tasks with a user provided stack (similar to the POSIX threads). Proposed API:
?                                                                                                                                                                                                                                                                                                                                                                                                          --------------

+ In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. One missing piece is the support for statically allocated RTEMS tasks. The rtems_task_create() function allocates the task stack from a heap. We need an alternative function which allocates an RTEMS tasks with a user provided stack (similar to the POSIX threads).
- {{{
+
+ There does need to be documentation on the allocation
+ strategies, when to use, limitations, and particularly the
+ use of rtems-exeinfo to get the TLS size. This is one case
+ for sure where an RTEMS Tool needs explicit mention in
+ both the API and configure option sections.
+
+ Proposed API:
+ {{{#!c
/**
+  * @brief This variable attribute defines the recommended alignment of a task
+  *   storage area.
+  */
+ #define RTEMS_TASK_STORAGE_ALIGNMENT RTEMS_ALIGNED( CPU_STACK_ALIGNMENT )
+
+ /**
+  * @brief Returns the recommended task storage area size for the specified size
+  *   and task attributes.
+  *
+  * @param _size is the size dedicated to the task stack and thread-local
+  *   storage in bytes.
+  *
+  * @param _attributes is the attribute set of the task using the storage area.
+  *
+  * @return The recommended task storage area size calculated from the input
+  *   parameters is returned.
+  */
+ #if CPU_ALL_TASKS_ARE_FP == TRUE
+   #define RTEMS_TASK_STORAGE_SIZE( _size, _attributes ) \\
+     ( ( _size ) + CONTEXT_FP_SIZE )
+ #else
+   #define RTEMS_TASK_STORAGE_SIZE( _size, _attributes ) \\
+     ( ( _size ) + \\
+       ( ( ( _attributes ) & RTEMS_FLOATING_POINT ) != 0 ? \\
+         CONTEXT_FP_SIZE : 0 ) )
+ #endif
+
+ /**
-  * @brief The task configuration to build a task.
+  * @brief This structure defines a task configuration used to build a task.
?             +++++++++++ ++++++++++                    +++++

+  *   This structure defines the configuration of a task created by
+  *   rtems_task_create_from_config().
*/
typedef struct {
/**
-    * @brief The name of the task.
+    * @brief This member defines the name of the task.
?               ++++ ++++++++++++++++

*/
rtems_name name;

/**
-    * @brief The initial priority of the task.
+    * @brief This member defines the initial priority of the task.
?               ++++ ++++++++++++++++

*/
rtems_task_priority initial_priority;

/**
-    * @brief The task stack area begin address for the task.
+    * @brief This member shall point to the task storage area begin.
+    *
+    * The task storage area will contain the task stack, the thread-local storage,
+    * and the floating-point context on architectures with a separate
+    * floating-point context.
+    *
+    * There are no alignment requirements for the task storage area.  To avoid
+    * memory waste, use the #RTEMS_TASK_STORAGE_ALIGNMENT variable attribute to
+    * enforce the recommended alignment of the task storage area.
*/
-   void *stack_area;
?            ^^

+   void *storage_area;
?           ++ ^^


/**
-    * @brief The task stack area size in bytes for the task.
+    * @brief This member defines size of the task storage area in bytes.
+    *
+    * Use the RTEMS_TASK_STORAGE_SIZE() macro to determine the recommended task
+    * storage area size.
*/
-   size_t stack_size;
?             ^^

+   size_t storage_size;
?            ++ ^^


/**
-    * @brief The function to free the task stack area if the task gets deleted.
+    * @brief This member defines the maximum thread-local storage size supported
+    *   by the task storage area.
+    *
+    * If the value is less than the actual thread-local storage size, then the
+    * task creation by rtems_task_create_from_config() fails.
+    *
+    * If the is less than the task storage area size, then the task creation by
+    * rtems_task_create_from_config() fails.
*/
-   void ( *stack_free )( void * );
+   size_t maximum_thread_local_storage_size;

/**
+    * @brief This member defines the optional handler to free the task storage
+    *   area.
+    *
+    * It is called when the task creation aborts due to a failed task create
+    * extension or the task is deleted.  It is called from task context under
+    * protection of the object allocator lock.  It is allowed to call free() in
+    * this handler.  The handler may be NULL.
+    */
+   void ( *storage_free )( void * );
+
+   /**
-    * @brief The initial modes of the task.
+    * @brief This member defines the initial modes of the task.
?               ++++ ++++++++++++++++

*/
rtems_mode initial_modes;

/**
-    * @brief The attribute set of the task.
?                          - --

+    * @brief This member defines the attributes of the task.
?               ++++ ++++++++++++++++

*/
-   rtems_attribute attribute_set;
?                            - --

+   rtems_attribute attributes;
} rtems_task_config;

/**
-  * @brief Builds a task according to the specified configuration.
+  * @brief Creates a task from the specified the task configuration.
*
-  * @param config The task configuration.
-  * @param[out] id The task identifier of the new task.
+  * In contrast to tasks created by rtems_task_create(), the tasks created by
+  * this directive use a user-provided task storage area.  The task storage area
+  * contains the task stack, the thread-local storage, and the floating-point
+  * context on architectures with a separate floating-point context.
*
-  * @retval RTEMS_SUCCESSFUL Successful operation.
+  * It is not recommended to mix rtems_task_create() and
+  * rtems_task_create_from_config() in an application. This directive is
+  * intended for applications which do not want to use the RTEMS Workspace and
+  * instead statically allocate all operating system resources.  The stack space
+  * estimate done by <rtems/confdefs.h> assumes that all tasks are created by
+  * rtems_task_create().  The estimate can be adjusted to take user-provided
+  * task storage areas into account through the
+  * #CONFIGURE_TASKS_CREATED_FROM_CONFIG application configuration option or a
+  * custom task stack allocator, see #CONFIGURE_TASK_STACK_ALLOCATOR.
+  *
+  * @param config is the task configuration.
+  *
+  * @param[out] id is the pointer to an object identifier variable.  The
+  *   identifier of the created task object will be stored in this variable, in
+  *   case of a successful operation.
+  *
+  * @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
+  *
-  * @retval RTEMS_INVALID_ADDRESS The id parameter is @c NULL.
?                                                   ^ ---

+  * @retval ::RTEMS_INVALID_ADDRESS The id parameter was NULL.
?            ++                                       ^^

+  *
-  * @retval RTEMS_INVALID_NAME The task name is invalid.
?                                             ^

+  * @retval ::RTEMS_INVALID_NAME The task name was invalid.
?            ++                                 ^^

+  *
-  * @retval RTEMS_INVALID_PRIORITY The initial priority of the task is invalid.
?                                                        ^^^^^^^^  ----

+  * @retval ::RTEMS_INVALID_PRIORITY The initial task priority was invalid.
?            ++                                  +++++          ^

-  * @retval RTEMS_TOO_MANY No task is available.
+  *
+  * @retval ::RTEMS_TOO_MANY There was no inactive task object available to
+  *   create a task.
+  *
+  * @retval ::RTEMS_TOO_MANY In multiprocessing configurations, there was no
+  *   inactive global object available to create a global task.
+  *
+  * @retval ::RTEMS_INVALID_SIZE The thread-local storage size is greater than
+  *   the maximum thread-local storage size specified in the task configuration.
+  *   The thread-local storage size is determined by the thread-local variables
+  *   used by the application and #CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE.
+  *
+  * @retval ::RTEMS_INVALID_SIZE The task storage area was too small to provide
+  *   a task stack of the configured minimum size, see
+  *   #CONFIGURE_MINIMUM_TASK_STACK_SIZE.  The task storage area contains the
+  *   task stack, the thread-local storage, and the floating-point context on
+  *   architectures with a separate floating-point context.
+  *
-  * @retval RTEMS_UNSATISFIED A task create extension failed.
?                              ^                             ^

+  * @retval ::RTEMS_UNSATISFIED One of the task create extensions failed during
?            ++                  ^^^^^^^^^^                      +       ^^^^^^^

+  *   the task creation.
+  *
+  * @retval ::RTEMS_UNSATISFIED In SMP configurations, the non-preemption mode
+  *   was not supported.
+  *
+  * @retval ::RTEMS_UNSATISFIED In SMP configurations, the interrupt level mode
+  *   was not supported.
*/
rtems_status_code rtems_task_create_from_config(
const rtems_task_config *config,
rtems_id                *id
);
}}}

Author: Chris Johns

2020-09-13T23:03:33.000Z

Original author: sebastian.huber

The following are some suggested updates. It is hard to comment on stuff in the ticket header in a way that does not change it so I hope doing this is OK?

Updated ….

/**
* @brief This structure defines a task configuration used to create
*        a task with user provided storage.
*   This structure defines the configuration of a task created by
*   rtems_task_create_from_config().
*/

With this …

* There are no alignment requirements for the task storage area.  To avoid
* memory waste, use the #RTEMS_TASK_STORAGE_ALIGNMENT variable attribute to
* enforce the recommended alignment of the task storage area.

… I understand the alignment for a user is anything but internally the memory may be aligned and that will potentially create some waste. For example I could provide 0x1 as an address but the stack base or the start of the TLS may need to be aligned depending on the arch, _TLS_Alignment, or something. Does this need to be explained?

Updated …

* It is called when the task creation aborts due to a failed task create
* extension or the task is deleted.  It is called from task context under
* protection of the object allocator lock.  It is allowed to call free() in
* this handler.  The handler may be NULL to disable.

Updated …

* @brief Creates a task from the specified the task configuration.
*
* In contrast to tasks created by rtems_task_create(), the tasks created by
* this directive use a user-provided task storage area.  The task storage area
* contains the task stack, the thread-local storage, and the floating-point
* context on architectures with a separate floating-point context.
*
* It is recommended rtems_task_create() and rtems_task_create_from_config()
* are not used together in an application. This means
* rtems_task_create_from_config() is not recommended for drivers or libraries
* an application may use. This directive is intended for applications which
* do not want to use the RTEMS Workspace and instead statically allocate all
* operating system resources.
*
* An application based solely on static allocation can avoid any runtime
* memory allocators. This can simplfiy the application architecture as well
* as any analysis that may be required.
*
* The stack space estimate done by <rtems/confdefs.h> assumes that all tasks
* are created by rtems_task_create().  The estimate can be adjusted to take
* user-provided task storage areas into account through the
* #CONFIGURE_TASKS_CREATED_FROM_CONFIG application configuration option or a
* custom task stack allocator, see #CONFIGURE_TASK_STACK_ALLOCATOR.
*
* The #CONFIGURE_MAXIMUM_TASKS should includes tasks created with
* rtems_task_create_from_config().

Author: Trac Migrate

2020-09-14T17:48:12.000Z

Original author: sebastian.huber

Yes, the storage internal alignment is something which needs to be better explained.

I think we should change RTEMS_TASK_STORAGE_ALIGNMENT to be just the alignment value and say that the maximum thread-local storage size shall have at least this alignment.

CONTEXT_FP_SIZE should be aligned by RTEMS_TASK_STORAGE_ALIGNMENT. For RTEMS_TASK_STORAGE_ALIGNMENT we should use CPU_HEAP_ALIGNMENT.

Author: Chris Johns

2020-09-15T02:50:02.000Z

Original author: sebastian.huber

Sure. What about adding “RTEMS_TASK_STORAGE_ALIGNMENT will optimally use the provided storage”? We do not need to hand hold into the detail but we should hint at the best approach.

Author: Trac Migrate

2020-09-17T16:09:22.000Z

Original author: sebastian.huber

In [changeset:”641b31a48d48c59ef73c47a225f1012b11e0eea7/rtems” 641b31a4/rtems]:

rtems: Add RTEMS_ALIGN_DOWN()

Update #3959.
Update #4074.

Author: Trac Migrate

2020-09-17T16:09:25.000Z

Original author: sebastian.huber

In [changeset:”dce1cdf19e6d8d7c5f72163401171648093d27bb/rtems” dce1cdf1/rtems]:

rtems: Add RTEMS_ALIGN_UP()

Update #3959.
Update #4074.

Author: Trac Migrate

2020-09-17T16:09:32.000Z

Original author: sebastian.huber

In [changeset:”6942e5f99171d1cb38c2c573aba8cb9212d7efd8/rtems” 6942e5f/rtems]:

rtems: Add rtems_task_construct()

In contrast to rtems_task_create() this function constructs a task with
a user-provided task storage area.  The new directive uses a
configuration structure instead of individual parameters.

Add RTEMS_TASK_STORAGE_SIZE() to calculate the recommended size of a
task storage area based on the task attributes and the size dedicated to
the task stack and thread-local storage.  This macro may allow future
extensions without breaking the API.

Add application configuration option
CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE to adjust RTEMS
Workspace size estimate.

Update #3959.

Author: Trac Migrate

2020-09-17T16:09:36.000Z

Original author: sebastian.huber

In [changeset:”ad22c6552a5cbfea0da1262db1c07ca05cd10086/rtems” ad22c65/rtems]:

doxygen: Move top-level group definitions

Update #3959.

Author: Trac Migrate

2020-09-17T16:09:39.000Z

Original author: sebastian.huber

In [changeset:”139ffa25d92ad7dd702278fde672a38f1138af7b/rtems” 139ffa2/rtems]:

validation: Add general purpose test suite

Add a general purpose test suite for validation tests.

This is the first test suite generated from a specification item in the
rtems-central repository.

Update #3959.

Author: Trac Migrate

2020-09-17T16:09:42.000Z

Original author: sebastian.huber

In [changeset:”3dd4cbb50d13e39146dcfb68b0cf0e98bff707fb/rtems” 3dd4cbb/rtems]:

validation: rtems_task_construct() errors

This is the first test case generated from a specification item in the
rtems-central repository.

Update #3959.

Author: Trac Migrate

2020-09-17T16:14:45.000Z

Original author: sebastian.huber

In [changeset:”28db97275b29b3b9bd624fe9f053dd46656bad61/rtems-docs” 28db972/rtems-docs]:

c-user: CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE

Document this application configuration option.

Update #3959.

Author: Trac Migrate

2020-09-17T16:17:25.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

In RTEMS 5 a lot of development was done to allow a static allocation of resources provided by RTEMS and avoid the use of a heap. One missing piece is the support for statically allocated RTEMS tasks. The rtems_task_create() function allocates the task stack from a heap. We need an alternative function which allocates an RTEMS tasks with a user provided stack (similar to the POSIX threads).

There does need to be documentation on the allocation
strategies, when to use, limitations, and particularly the
use of rtems-exeinfo to get the TLS size. This is one case
for sure where an RTEMS Tool needs explicit mention in
both the API and configure option sections.

Proposed API:
- {{{#!c
+ {{{
+ #!c
/**
-  * @brief This variable attribute defines the recommended alignment of a task
-  *   storage area.
-  */
- #define RTEMS_TASK_STORAGE_ALIGNMENT RTEMS_ALIGNED( CPU_STACK_ALIGNMENT )
-
- /**
-  * @brief Returns the recommended task storage area size for the specified size
-  *   and task attributes.
-  *
-  * @param _size is the size dedicated to the task stack and thread-local
-  *   storage in bytes.
-  *
-  * @param _attributes is the attribute set of the task using the storage area.
-  *
-  * @return The recommended task storage area size calculated from the input
-  *   parameters is returned.
-  */
- #if CPU_ALL_TASKS_ARE_FP == TRUE
-   #define RTEMS_TASK_STORAGE_SIZE( _size, _attributes ) \\
-     ( ( _size ) + CONTEXT_FP_SIZE )
- #else
-   #define RTEMS_TASK_STORAGE_SIZE( _size, _attributes ) \\
-     ( ( _size ) + \\
-       ( ( ( _attributes ) & RTEMS_FLOATING_POINT ) != 0 ? \\
-         CONTEXT_FP_SIZE : 0 ) )
- #endif
-
- /**
-  * @brief This structure defines a task configuration used to build a task.
-  *   This structure defines the configuration of a task created by
?    ^                                                      ^^

+  * @brief This structure defines the configuration of a task constructed by
?    ^^^^^^                                                     ++++ ^^

-  *   rtems_task_create_from_config().
+  *   rtems_task_construct().
*/
typedef struct {
/**
* @brief This member defines the name of the task.
*/
rtems_name name;

/**
* @brief This member defines the initial priority of the task.
*/
rtems_task_priority initial_priority;

/**
* @brief This member shall point to the task storage area begin.
*
* The task storage area will contain the task stack, the thread-local storage,
* and the floating-point context on architectures with a separate
* floating-point context.
*
-    * There are no alignment requirements for the task storage area.  To avoid
-    * memory waste, use the #RTEMS_TASK_STORAGE_ALIGNMENT variable attribute to
-    * enforce the recommended alignment of the task storage area.
+    * The task storage area begin address and size should be aligned by
+    * #RTEMS_TASK_STORAGE_ALIGNMENT.  To avoid memory waste, use RTEMS_ALIGNED()
+    * and #RTEMS_TASK_STORAGE_ALIGNMENT to enforce the recommended alignment of a
+    * statically allocated task storage area.
*/
void *storage_area;

/**
* @brief This member defines size of the task storage area in bytes.
*
* Use the RTEMS_TASK_STORAGE_SIZE() macro to determine the recommended task
* storage area size.
*/
size_t storage_size;

/**
* @brief This member defines the maximum thread-local storage size supported
*   by the task storage area.
*
+    * Use RTEMS_ALIGN_UP() and #RTEMS_TASK_STORAGE_ALIGNMENT to adjust the size to
+    * meet the minimum alignment requirement of a thread-local storage area used
+    * to construct a task.
+    *
* If the value is less than the actual thread-local storage size, then the
-    * task creation by rtems_task_create_from_config() fails.
+    * task construction by rtems_task_construct() fails.
*
-    * If the is less than the task storage area size, then the task creation by
?                                                                      ^^    ---

+    * If the is less than the task storage area size, then the task construction
?                                                                     ++++ ^^

-    * rtems_task_create_from_config() fails.
+    * by rtems_task_construct() fails.
+    *
+    * The actual thread-local storage size is determined when the application
+    * executable is linked.  The ``rtems-exeinfo`` command line tool included in
+    * the RTEMS Tools can be used to obtain the thread-local storage size and
+    * alignment of an application executable.
+    *
+    * The application may configure the maximum thread-local storage size for all
+    * threads explicitly through the #CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
+    * configuration option.
*/
size_t maximum_thread_local_storage_size;

/**
* @brief This member defines the optional handler to free the task storage
*   area.
*
-    * It is called when the task creation aborts due to a failed task create
+    * It is called on exactly two mutually exclusive occasions.  Firstly, when the
+    * task construction aborts due to a failed task create extension, or secondly,
-    * extension or the task is deleted.  It is called from task context under
?      ^^^  -------

+    * when the task is deleted.  It is called from task context under protection
?      ^^                                                             +++++++++++

-    * protection of the object allocator lock.  It is allowed to call free() in
?     -----------

+    * of the object allocator lock.  It is allowed to call free() in this handler.
?                                                                    ++++++++++++++

-    * this handler.  The handler may be NULL.
+    * If handler is NULL, then no action will be performed.
*/
void ( *storage_free )( void * );

/**
* @brief This member defines the initial modes of the task.
*/
rtems_mode initial_modes;

/**
* @brief This member defines the attributes of the task.
*/
rtems_attribute attributes;
} rtems_task_config;

/**
-  * @brief Creates a task from the specified the task configuration.
?             ^ -----

+  * @brief Constructs a task from the specified the task configuration.
?            ++++ ^^^^^

*
-  * In contrast to tasks created by rtems_task_create(), the tasks created by
?                                                                     ^^   ---

+  * In contrast to tasks created by rtems_task_create(), the tasks constructed
?                                                                    ++++ ^^

-  * this directive use a user-provided task storage area.  The task storage area
?                                                                           -----

+  * by this directive use a user-provided task storage area.  The task storage
?   +++

-  * contains the task stack, the thread-local storage, and the floating-point
?                                                              ---------------

+  * area contains the task stack, the thread-local storage, and the
?   +++++

-  * context on architectures with a separate floating-point context.
+  * floating-point context on architectures with a separate floating-point
+  * context.
*
+  * This directive is intended for applications which do not want to use the
+  * RTEMS Workspace and instead statically allocate all operating system
-  * It is not recommended to mix rtems_task_create() and
?                             ^^^

+  * resources.  It is not recommended to use rtems_task_create() and
?   ++++++++++++                          ^^^

-  * rtems_task_create_from_config() in an application. This directive is
-  * intended for applications which do not want to use the RTEMS Workspace and
-  * instead statically allocate all operating system resources.  The stack space
+  * rtems_task_construct() together in an application.  It is also not
+  * recommended to use rtems_task_construct() for drivers or general purpose
+  * libraries.  The reason for these recommendations is that the task
+  * configuration needs settings which can be only given with a through
+  * knowledge of the application resources.
+  *
+  * An application based solely on static allocation can avoid any runtime
+  * memory allocators.  This can simplfiy the application architecture as well
+  * as any analysis that may be required.
+  *
-  * estimate done by <rtems/confdefs.h> assumes that all tasks are created by
?                                                              ---------------

+  * The stack space estimate done by <rtems/confdefs.h> assumes that all tasks
?   ++++++++++++++++

-  * rtems_task_create().  The estimate can be adjusted to take user-provided
?                                                              --------------

+  * are created by rtems_task_create().  The estimate can be adjusted to take
?   +++++++++++++++

-  * task storage areas into account through the
+  * user-provided task storage areas into account through the
?   ++++++++++++++

-  * #CONFIGURE_TASKS_CREATED_FROM_CONFIG application configuration option or a
-  * custom task stack allocator, see #CONFIGURE_TASK_STACK_ALLOCATOR.
+  * #CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE application
+  * configuration option.
+  *
+  * The #CONFIGURE_MAXIMUM_TASKS should include tasks constructed by
+  * rtems_task_construct().
*
* @param config is the task configuration.
*
* @param[out] id is the pointer to an object identifier variable.  The
-  *   identifier of the created task object will be stored in this variable, in
?                          ^^                                                ---

+  *   identifier of the constructed task object will be stored in this variable,
?                         ++++ ^^

-  *   case of a successful operation.
+  *   in case of a successful operation.
?     +++

*
* @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
*
* @retval ::RTEMS_INVALID_ADDRESS The id parameter was NULL.
*
* @retval ::RTEMS_INVALID_NAME The task name was invalid.
*
* @retval ::RTEMS_INVALID_PRIORITY The initial task priority was invalid.
*
-  * @retval ::RTEMS_TOO_MANY There was no inactive task object available to
-  *   create a task.
-  *
-  * @retval ::RTEMS_TOO_MANY In multiprocessing configurations, there was no
-  *   inactive global object available to create a global task.
-  *
* @retval ::RTEMS_INVALID_SIZE The thread-local storage size is greater than
*   the maximum thread-local storage size specified in the task configuration.
*   The thread-local storage size is determined by the thread-local variables
*   used by the application and #CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE.
*
* @retval ::RTEMS_INVALID_SIZE The task storage area was too small to provide
*   a task stack of the configured minimum size, see
-  *   #CONFIGURE_MINIMUM_TASK_STACK_SIZE.  The task storage area contains the
?                                          -

+  *   #CONFIGURE_MINIMUM_TASK_STACK_SIZE. The task storage area contains the
*   task stack, the thread-local storage, and the floating-point context on
*   architectures with a separate floating-point context.
*
+  * @retval ::RTEMS_TOO_MANY There was no inactive task object available to
+  *   construct a task.
+  *
+  * @retval ::RTEMS_TOO_MANY In multiprocessing configurations, there was no
+  *   inactive global object available to construct a global task.
+  *
* @retval ::RTEMS_UNSATISFIED One of the task create extensions failed during
-  *   the task creation.
?                 ^^

+  *   the task construction.
?                ++++ ^^

*
* @retval ::RTEMS_UNSATISFIED In SMP configurations, the non-preemption mode
*   was not supported.
*
* @retval ::RTEMS_UNSATISFIED In SMP configurations, the interrupt level mode
*   was not supported.
*/
- rtems_status_code rtems_task_create_from_config(
?                               ------------  ^^^

+ rtems_status_code rtems_task_construct(
?                                 ^^^^^^

const rtems_task_config *config,
rtems_id                *id
);
}}}
  • Summary changed from Add rtems_task_create_from_config() to Add rtems_task_construct()

Author: Trac Migrate

2020-09-17T18:08:26.000Z

Original author: sebastian.huber

In [changeset:”2f65e136e58d8db701ddd116bae8c1bdef295622/rtems” 2f65e13/rtems]:

rtems: Fix typo

Update #3959.

Author: Trac Migrate

2021-04-23T06:25:33.000Z

Original author: sebastian.huber

In [changeset:”f14cf0cd743b6ac128ce5b9007023c57e322500f/rtems” f14cf0c/rtems]:

rtems: Check for NULL config in task construct

Since there are already excessive NULL pointer checks in the Classic
API, do this also in rtems_task_construct().

Update #3959.

Author: Trac Migrate

2021-09-02T05:59:46.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

The new directive was documented, implemented, and tested:

https://docs.rtems.org/branches/master/c-user/task/directives.html#rtems-task-construct

Author: Amar Takhar

2024-04-25T20:48:06.642Z

changed the description

Author: Amar Takhar

2024-04-25T20:48:16.758Z

mentioned in issue #4007

3957 - Review wiki/Developer for deletion

Id

3957

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-04-16T23:51:14.000Z

Updated

2024-04-25T20:48:05.724Z

Milestone

6.1

Labels

gsoc::small, priority::normal, resolution::fixed, tickettype::enhancement

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3957

Merges

0

https://devel.rtems.org/wiki/Developer has minimal content. All should likely point to somewhere in the Users Guide now rather than the Wiki.

Also this page is a candidate for deletion. Verify the references and delete it. Check rtems.org also.

Author: Joel Sherrill

2022-12-15T16:39:38.000Z

  • Milestone set to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Done. Subtree removed and links now point to the Software Engineering Guide.

Author: Amar Takhar

2024-04-25T20:48:05.764Z

changed the description

3947 - fdt_rw.c: Unchecked return value (CID #1047324)

Id

3947

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-04-10T15:33:05.000Z

Updated

2024-04-25T20:48:02.638Z

Milestone

6.1

Labels

gsoc::small, library, priority::normal, resolution::fixed, scan::coverity, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3947

Merges

0

git blams says Sebastian.

*** CID 1047324:  Error handling issues  (CHECKED_RETURN)
/home/joel/rtems-work/rtems/cpukit/dtc/libfdt/fdt_rw.c: 351 in fdt_add_subnode_namelen()
345             if (offset >= 0)
346                     return -FDT_ERR_EXISTS;
347             else if (offset != -FDT_ERR_NOTFOUND)
348                     return offset;
349
350             /* Try to place the new node after the parent's properties */


      CID 1047324:  Error handling issues  (CHECKED_RETURN)
      Calling "fdt_next_tag" without checking return value (as is done elsewhere 7 out of 8 times).
      351             fdt_next_tag(fdt, parentoffset, &nextoffset); /* skip the BEGIN_NODE */
      352             do {
      353                     offset = nextoffset;
      354                     tag = fdt_next_tag(fdt, offset, &nextoffset);
      355             } while ((tag == FDT_PROP) || (tag == FDT_NOP));
      356

Author: Trac Migrate

2020-04-10T20:13:59.000Z

Maybe this is already fixed in the upstream. Otherwise it should be reported.

Author: Trac Migrate

2020-04-10T20:15:16.000Z

  • Milestone changed from %”5.1” to %”Indefinite”

Author: Trac Migrate

2022-07-19T07:29:23.000Z

  • Milestone changed from %”Indefinite” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

It is fixed for RTEMS 6.1 through updates from the dtc upstream. Fixing this in RTEMS 5 would require back porting several patches.

Author: Amar Takhar

2024-04-25T20:48:02.751Z

changed the description

3937 - Move content of bsp_specs to GCC

Id

3937

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-04-06T13:59:39.000Z

Updated

2024-04-25T20:48:01.188Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::project, tool::gcc, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3937

Merges

0

Original author: sebastian.huber

Move content of the bsp_specs to GCC 10. Once this is done, update the tools and delete the bsp_specs.

On powerpc this means we have to move the content of rtems_crti.S to GCC. It may not be possible to back port this to GCC 10 and we may have to maintain this as a patch until GCC 11 is released.

Add support for nostartfiles.

Author: Joel Sherrill

2020-04-06T14:01:29.000Z

Original author: sebastian.huber

Dupe of #3250

Author: Trac Migrate

2020-04-06T14:03:35.000Z

Original author: sebastian.huber

Replying to Joel Sherrill:

Dupe of #3250 I think this is a subtask.

Author: Trac Migrate

2020-04-06T14:49:54.000Z

Original author: sebastian.huber

Since -qrtems is not used to build GCC/Newlib. The rtems_crti.S could probably stay in RTEMS.

Author: Joel Sherrill

2020-04-06T14:56:00.000Z

Original author: sebastian.huber

The only crti/crtn not provided by GCC are these for the PowerPC. They really should move. Whatever is being done is a hack left over from the days when we were unwilling to modify GCC.

$ find . -name rtems_crt*
./bsps/powerpc/shared/start/rtems_crti.S
./bsps/powerpc/shared/start/rtems_crtn.S

“Remove hacks left over from when we were unwilling to modify GCC” should be the name of this ticket. :)

Author: Trac Migrate

2020-04-06T14:58:38.000Z

Original author: sebastian.huber

I will try to get the RTEMS-only changes in GCC 10.2. This already requires release manager approval.

I am not sure if they are happy if I try to change standard powerpc files for RTEMS on a release branch.

Author: Trac Migrate

2020-04-07T07:35:34.000Z

Original author: sebastian.huber

Author: Trac Migrate

2020-04-07T08:18:30.000Z

Original author: sebastian.huber

In [changeset:”b69f54d51740810dc54a50662f5da4d4ba0ddd18/rtems-source-builder” b69f54d/rtems-source-builder]:

6: Update unstable RTEMS 6 tool chain

Update #3937.

Author: Trac Migrate

2020-04-08T11:31:55.000Z

Original author: sebastian.huber

Author: Trac Migrate

2020-04-08T11:34:34.000Z

Original author: sebastian.huber

In [changeset:”f6286ff1d3e8ec6e906f609f827c77cebd70b0d7/rtems-source-builder” f6286ff/rtems-source-builder]:

6: Update unstable RTEMS 6 tool chain

Update #3937.

Author: Trac Migrate

2021-01-22T09:52:53.000Z

Original author: sebastian.huber

It turned out that the GCC specs processing is a bit more complicated and the current approach doesn’t work:

https://gcc.gnu.org/pipermail/gcc/2021-January/234728.html

Author: Trac Migrate

2021-01-22T11:59:20.000Z

Original author: sebastian.huber

Proposed workaround:

https://gcc.gnu.org/pipermail/gcc-patches/2021-January/564101.html

Author: Trac Migrate

2021-01-26T05:38:50.000Z

Original author: sebastian.huber

In [changeset:”ade089253e70d75105a8311844f82f6d20cc30a8/rtems-source-builder” ade0892/rtems-source-builder]:

6: Update tool chain

Close #3937.

Author: Trac Migrate

2021-11-29T14:48:15.000Z

Original author: sebastian.huber

In [changeset:”dd70c81699a90ca48ae74980e8053b3c708ae6bc/rtems” dd70c81/rtems]:

bsp_specs: Delete last remnants of these.

Updates #3937.

Author: Amar Takhar

2024-04-25T20:48:01.235Z

changed the description

3935 - Remove use of RTEMS_INLINE_ROUTINE in the RTEMS sources

Id

3935

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-04-06T07:08:19.000Z

Updated

2024-04-25T20:48:00.759Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3935

Merges

0

Original author: sebastian.huber

Replace all uses of RTEMS_INLINE_ROUTINE with “static inline”. This makes it a bit easier for third-party tools to parse the RTEMS sources.

Author: Joel Sherrill

2020-04-06T13:20:41.000Z

Original author: sebastian.huber

Please cite where “static inline” became part of the C and C++ standards. Eons ago static inline meaning do not include method bodies in the generated object was a GNU extension. Other compilers had their own way of specifying this.

Author: Trac Migrate

2020-04-06T13:25:42.000Z

Original author: sebastian.huber

This is C99. The default language version is C11 since a while.

Author: Joel Sherrill

2020-04-06T13:33:01.000Z

Original author: sebastian.huber

Citation please. Section and paragraph.

Author: Trac Migrate

2020-04-06T13:40:56.000Z

Original author: sebastian.huber

I don’t understand the problem, we use this for a long time:

/**
*  The following (in conjunction with compiler arguments) are used
*  to choose between the use of static inline functions and macro
*  functions.   The static inline implementation allows better
*  type checking with no cost in code size or execution speed.
*/
#ifdef __GNUC__
#define RTEMS_INLINE_ROUTINE static __inline__
#else
#define RTEMS_INLINE_ROUTINE static inline
#endif

Wikipedia has some background information: https://en.wikipedia.org/wiki/Inline_function

Author: Trac Migrate

2022-09-19T07:01:30.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a660e9dc47c522fe1a1b7f6e4af1795dbd6c20b1/rtems” a660e9dc/rtems]:

Do not use RTEMS_INLINE_ROUTINE

Directly use "static inline" which is available in C99 and later.  This brings
the RTEMS implementation closer to standard C.

Close #3935.

Author: Amar Takhar

2024-04-25T20:48:00.796Z

changed the description

3866 - Add support for GCC 10 noinit attribute

Id

3866

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-02-05T09:43:33.000Z

Updated

2024-04-25T20:47:44.428Z

Milestone

6.1

Labels

bsp, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3866

Merges

0

Original author: sebastian.huber

In GCC 10 there is a new common variable attribute noinit:

https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-noinit-variable-attribute

https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;a=commit;h=f0033821c1c9ba386a1983499a666d5759cdd943

To support this, a change in the linker command files is necessary.

Author: Chris Johns

2020-02-05T21:47:47.000Z

Original author: sebastian.huber

Does clang have this support?

Author: Trac Migrate

2020-02-09T16:40:17.000Z

Original author: sebastian.huber

clang doesn’t support this attribute. I added an enhancement request for this:

https://bugs.llvm.org/show_bug.cgi?id=44811

As a workaround for clang and GCC < 10 you can use the section attribute. The key issue is to have support for .noinit section in the linker command files.

Author: Trac Migrate

2020-02-25T07:22:23.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Trac Migrate

2021-05-02T18:41:04.000Z

Original author: sebastian.huber

In [changeset:”a84bf966b541cd68ada3b5044080c6f38ff882f6/rtems” a84bf96/rtems]:

basedefs: Add RTEMS_NOINIT

Update #3866.

Author: Trac Migrate

2021-05-02T18:41:08.000Z

Original author: sebastian.huber

In [changeset:”e10dec0fe72c19320d2c93b905457a5327ec1235/rtems” e10dec0/rtems]:

bsps: Support RTEMS_NOINIT in linkcmds

Update #3866.

Author: Trac Migrate

2021-05-02T18:41:12.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”2df95414a7b7b38e5146e13b11d8a903bcc84342/rtems” 2df9541/rtems]:

spmisc01: Test RTEMS_NOINIT

Close #3866.

Author: Trac Migrate

2021-05-03T12:05:34.000Z

Original author: sebastian.huber

In [changeset:”eb7c33add034577701f73b184b6227c9d33aacee/rtems” eb7c33ad/rtems]:

bsps/riscv: Support RTEMS_NOINIT in linkcmds

Update #3866.

Author: Amar Takhar

2024-04-25T20:47:44.534Z

changed the description

3853 - Add and use project-wide glossary to documentation

Id

3853

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-01-07T14:19:50.000Z

Updated

2024-04-25T20:47:37.720Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3853

Merges

0

Original author: sebastian.huber

See discussion:

https://lists.rtems.org/pipermail/devel/2020-January/056728.html

Approach A

Use c-user/glossary.rst as the project-wide glossary. Generate document-specific glossaries from this file and the use of :term: in the specific document. Add new waf target “./waf regenerate” to carry out the glossary generation.

Approach B

Move the glossary terms to the RTEMS specification (e.g. in the RTEMS sources “spec/glossary/*.yml”) and generate the glossary.rst for the documents with a script. This gives us more flexibility and removes the need for the special parser code, see:

https://lists.rtems.org/pipermail/devel/2020-January/056811.html

The AV-2 mentioned of the DoD Architecture Framework (DoDAF) wants the glossary terms in categories. We could add categories to the glossary specification items. This would be difficult with a master glossary in reST.

Author: Trac Migrate

2020-01-08T06:38:00.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

See discussion:

https://lists.rtems.org/pipermail/devel/2020-January/056728.html

+ == Approach A
+
Use c-user/glossary.rst as the project-wide glossary. Generate document-specific glossaries from this file and the use of :term: in the specific document.  Add new waf target "./waf regenerate" to carry out the glossary generation.
+
+ == Approach B
+
+ Move the glossary terms to the RTEMS specification (e.g. in the RTEMS sources "spec/glossary/*.yml") and generate the glossary.rst for the documents with a script.  This gives us more flexibility and removes the need for the special parser code, see:
+
+ https://lists.rtems.org/pipermail/devel/2020-January/056811.html
+
+ The AV-2 mentioned of the DoD Architecture Framework (DoDAF) wants the glossary terms in categories. We could add categories to the glossary specification items. This would be difficult with a master glossary in reST.

Author: Trac Migrate

2020-02-24T13:58:46.000Z

Original author: sebastian.huber

In [changeset:”03facdaef8ab163b1ce4d7cad6df79ceccf98344/rtems-docs” 03facda/rtems-docs]:

c-user: Rework glossary

Define exactly one term per definition.  Use references for alternative
terms.  Add :term: text roles to acronym definitions of glossary defined
terms.

Update #3853.

Author: Trac Migrate

2020-02-27T12:15:10.000Z

Original author: sebastian.huber

In [changeset:”732c570ad8de09180c27d69dabef471d1e84a71b/rtems-docs” 732c570/rtems-docs]:

c-user: Canonicalize two glossary acronyms

Add :term: text roles to acronym definitions of glossary defined terms.

Update #3853.

Author: Trac Migrate

2020-03-02T07:14:50.000Z

Original author: sebastian.huber

In [changeset:”43b7eeb5b0ad7bf701195366130ac68eeea15001/rtems-docs” 43b7eeb/rtems-docs]:

c-user: Use four spaces per indent level

Four spaces per indent level is used in most files.

Update #3853.

Author: Trac Migrate

2020-03-02T07:14:52.000Z

Original author: sebastian.huber

In [changeset:”834dcf57e71b3a4ae73d329066ee3af7c6cf5a4d/rtems-docs” 834dcf5/rtems-docs]:

c-user: Clarify return code related terms

Remove duplicate "return code" definition.  Add all related terms and
use references.

Update #3853.

Author: Trac Migrate

2020-03-02T07:14:54.000Z

Original author: sebastian.huber

In [changeset:”d2acbca7373a077f99d4760e046dd631a0fc6774/rtems-docs” d2acbca/rtems-docs]:

c-user: Sort glossary terms

Update #3853.

Author: Trac Migrate

2020-03-02T07:14:56.000Z

Original author: sebastian.huber

In [changeset:”996592259469e8ce9074b7967bdae02361be4495/rtems-docs” 9965922/rtems-docs]:

c-user: Merge parition term definitions

Update #3853.

Author: Trac Migrate

2020-03-02T07:14:58.000Z

Original author: sebastian.huber

In [changeset:”bba4a8ce231c0428903fb9937eb52f062bfc9386/rtems-docs” bba4a8c/rtems-docs]:

c-user: Add copyrights to glossary

Use the file history to derive the copyright information.

Update #3853.

Author: Trac Migrate

2020-03-02T07:15:00.000Z

Original author: sebastian.huber

In [changeset:”7d05a3d801e0d44de250abc174e35daae3d4e475/rtems-docs” 7d05a3d/rtems-docs]:

eng: Add glossary

Update #3853.

Author: Trac Migrate

2020-03-03T06:19:02.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

A prototype for the RTEMS Specification Items and Qualification Tools is available here:

https://git.rtems.org/sebh/rtems-qual.git/

https://github.com/sebhub/rtems-qual

Author: Trac Migrate

2021-06-18T09:46:18.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Glossary term handling is implemented in:

https://git.rtems.org/rtems-central/

Author: Amar Takhar

2024-04-25T20:47:37.770Z

changed the description

3846 - Build system does not track the dependencies of start.o files

Id

3846

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-12-18T09:36:04.000Z

Updated

2024-04-25T20:47:35.474Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3846

Merges

0

Original author: sebastian.huber

This defect relates to the new waf based build system.

Most start.o are generated from start.S files which use the C preprocessor. The start.o files are not re-generated if header files (e.g. cpuopts.h, bspopts.h) change. The problem is that the automatic dependency generation via the GCC -MMD flags doesn’t work with the current asm rule:

def asm(self, bld, bic, source, target=None, deps=[], cppflags=[]):
if target is None:
target = os.path.splitext(source)[0] + ".o"
bld(
asflags=self.data["asflags"],
before=["cstlib"],
cppflags=cppflags + self.data["cppflags"],
features="asm c",
includes=bic.includes + self.data["includes"],
rule="${CC} ${ASFLAGS} ${CPPFLAGS} ${DEFINES_ST:DEFINES} ${CPPPATH_ST:INCPATHS} -c ${SRC[0]} -o ${TGT}",
source=[source] + deps,
target=target,
)
return target

Author: Trac Migrate

2020-09-17T06:58:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”4eea8d4bc44116b3465d7fdeb053d66bf95428f4/rtems” 4eea8d4/rtems]:

build: Fix dependencies for start and asm files

Add a feature to enforce an explicit target file for assembler sources.
Add a build start file node list and use it as a test program
dependency.

The fix for #3846 and #4080 needs to be combined, because the fix
for #3846 requires the removal of 'before=["cstlib"]'. This patch fixes
two issues:

1. The tracking of start file dependencies.

2. Reflect that executables depend on the start files.

We need a start.o file in the right path so that the linker can find is
as specified by the linker script, and not for example a start.S.17.o
file in some path. This part is addressed by the "explicit_asm_target"
feature.

This build process extension

@after("apply_link")
@feature("cprogram", "cxxprogram")
def process_start_files(self):
if getattr(self, "start_files", False):
self.link_task.dep_nodes.extend(self.bld.start_files)

addresses 2.

Close #3846.
Close #4080.

Author: Amar Takhar

2024-04-25T20:47:35.516Z

changed the description

3925 - Optimize work area initialization

Id

3925

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-04-02T08:48:23.000Z

Updated

2024-04-25T20:47:32.843Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3925

Merges

0

Original author: sebastian.huber

The new work area initialization introduced by #3838 can be avoided.

Author: Trac Migrate

2022-01-26T10:10:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

This was fixed by d7205f0083f8fdd0408404ce99c6eab9b8d120c7 and 3d0620b607ff6459fec9d30efc1e0589bbd010f9.

Author: Amar Takhar

2024-04-25T20:47:32.823Z

mentioned in issue #3838

3818 - New build system

Id

3818

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-11-07T08:28:42.000Z

Updated

2024-04-25T20:47:29.368Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::build, tickettype::enhancement, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3818

Merges

0

Original author: sebastian.huber

Replace the existing Autoconf and Automake based build system with something new. Goals:

  • Easier configuration of BSPs (BSP options)

  • Easier to maintain (nobody understands the details of the existing build system)

  • Faster builds (especially on Windows)

  • Reusable build specifications (e.g. generate documentation for BSP options for the user manual)

  • Validation of built artefacts (e.g. ensure that the objects are built as specified using the DWARF debug information)

  • Support building of BSPs external to the project

  • Customization of the build (e.g. build only a subset of the RTEMS functions)

  • Support alternative compilers such as clang instead of GCC

Proposed solution:

  • Use waf for the build system

  • Specify the build through build specification items maintained by Doorstop

Author: Trac Migrate

2019-11-07T08:30:03.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

Replace the existing Autoconf and Automake based build system with something new. Goals:

* Easier configuration of BSPs (BSP options)

* Easier to maintain (nobody understands the details of the existing build system)

* Faster builds (especially on Windows)

* Reusable build specifications (e.g. generate documentation for BSP options for the user manual)

* Validation of built artefacts (e.g. ensure that the objects are built as specified using the DWARF debug information)

* Support building of BSPs external to the project

* Customization of the build (e.g. build only a subset of the RTEMS functions)

+ * Support alternative compilers such as clang instead of GCC
+
Proposed solution:

* Use waf for the build system

* Specify the build through build specification items maintained by Doorstop

Author: Trac Migrate

2019-11-07T08:30:40.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2019-11-12T09:07:11.000Z

Original author: sebastian.huber

In [changeset:”9f3c558bbc7b6a9d71c0830ff1eb93a5cad44346/rtems” 9f3c558/rtems]:

tests: Remove superfluous SMPTESTS define

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:15.000Z

Original author: sebastian.huber

In [changeset:”f32e1197160cd45b01a27c3c6331001d1bf88240/rtems” f32e119/rtems]:

psxtests: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:18.000Z

Original author: sebastian.huber

In [changeset:”150fbaf9c94237072617fbcb10ee95a346c7e13d/rtems” 150fbaf9/rtems]:

psxtmtests: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:22.000Z

Original author: sebastian.huber

In [changeset:”a467f5996339ed1071bae350cd04f43c6f1e6ad3/rtems” a467f59/rtems]:

sptests: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:28.000Z

Original author: sebastian.huber

In [changeset:”51765553849a7236b19e4c2ca32cfca16fa4ef28/rtems” 51765553/rtems]:

sptests: Remove obsolete semaphore consume driver

This driver is no longer used by a test program.

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:31.000Z

Original author: sebastian.huber

In [changeset:”5ba4f38399c318191afcc7a2ee5cd6a19a6939ec/rtems” 5ba4f383/rtems]:

libtests: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:34.000Z

Original author: sebastian.huber

In [changeset:”c89a5dc821b48644a639c57bb3cca781185899be/rtems” c89a5dc8/rtems]:

samples: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:40.000Z

Original author: sebastian.huber

In [changeset:”34cbac1a0386450076023cc3bc47830e891dd889/rtems” 34cbac1/rtems]:

tmtests: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:43.000Z

Original author: sebastian.huber

In [changeset:”eae263c609a3c62af8a0cd9aae240ed6394780aa/rtems” eae263c/rtems]:

mptests/mp14: Make MAX_LONG_TEST_DURATION constant

If there is a real need, it can be made a configuration option again.

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:46.000Z

Original author: sebastian.huber

In [changeset:”786ae3f7dfabb56add80bc0aeacbab5b98ca71aa/rtems” 786ae3f/rtems]:

ada/samples: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:50.000Z

Original author: sebastian.huber

In [changeset:”0b520cb71804b355cf141ea5c5596aabed711824/rtems” 0b520cb/rtems]:

mptests: Avoid build system defined defines

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:53.000Z

Original author: sebastian.huber

In [changeset:”b88c7583b8f54b2612424dc46d4fb52021d0cf26/rtems” b88c7583/rtems]:

fstests: Use tmacros.h instead of pmacros.h

This avoids an extra include path.

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:56.000Z

Original author: sebastian.huber

In [changeset:”37d509b2499f75c7847dcc1a7041b5052d63b686/rtems” 37d509b/rtems]:

libtests: Remove superfluous include path

Update #3818.

Author: Trac Migrate

2019-11-12T09:07:59.000Z

Original author: sebastian.huber

In [changeset:”6da85f49eada484f5aa32d202b9ba9f00c1c5758/rtems” 6da85f49/rtems]:

block08: Use local include

Update #3818.

Author: Trac Migrate

2019-11-12T09:08:03.000Z

Original author: sebastian.huber

In [changeset:”1e343825f4bb6e907684e3752445d6511186f924/rtems” 1e343825/rtems]:

tests: Simplify fatal error test support

Move system.h to shared init.c.

Update #3818.

Author: Trac Migrate

2019-11-12T09:08:06.000Z

Original author: sebastian.huber

In [changeset:”1a48cbfa16bf54a442f9394e4c4d9c2211e82865/rtems” 1a48cbf/rtems]:

sptests: Avoid include path magic

Update #3818.

Author: Trac Migrate

2019-11-12T09:08:09.000Z

Original author: sebastian.huber

In [changeset:”f51594897cd2915b856e57cc0a066f929ab22209/rtems” f515948/rtems]:

ada/mptests: Make them compile clean

Fix all warnings.

Update #3818.

Author: Trac Migrate

2019-11-14T10:49:27.000Z

Original author: sebastian.huber

In [changeset:”984d7443bff76b46a080233da7fc880e5bd33d24/rtems” 984d7443/rtems]:

bsp/gumstix: Remove ON_SKYEYE Automake conditional

It is fine to build the drivers always.

Update #3818.

Author: Trac Migrate

2019-11-14T14:10:37.000Z

Original author: sebastian.huber

In [changeset:”bc28b65ff45d447d645426acc34690bfe74d5e43/rtems” bc28b65/rtems]:

bsp/beagle: Rename linker command file

This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.

Author: Trac Migrate

2019-11-14T14:10:40.000Z

Original author: sebastian.huber

In [changeset:”41ab50e4cdba53324fba5d176c27400ff1dbe269/rtems” 41ab50e4/rtems]:

bsp/t32mppc: Rename linker command file

This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.

Author: Trac Migrate

2019-11-15T06:46:01.000Z

Original author: sebastian.huber

In [changeset:”9c601b00d770009240c2e8043850728c77c5c248/rtems” 9c601b00/rtems]:

bsp/i386: Remove unused BSP_HAS_SMP

Update #3818.

Author: Trac Migrate

2019-11-15T06:46:04.000Z

Original author: sebastian.huber

In [changeset:”b882b07e84018ef083d12f1b4020666174f5aae9/rtems” b882b07/rtems]:

Remove BSP_SMALL_MEMORY BSP option

Use the test state configuration instead.

Update #3818.

Author: Trac Migrate

2019-11-15T06:46:07.000Z

Original author: sebastian.huber

In [changeset:”75d9e79f56706f45f957958d68fe99489ab3723c/rtems” 75d9e79f/rtems]:

bsp/lpc32xx: Remove unused TESTS_USE_PRINTK

Update #3818.

Author: Trac Migrate

2019-11-21T07:06:00.000Z

Original author: sebastian.huber

In [changeset:”af321aaf2b5ded5bf9265ee1e518be55f0ea612a/rtems” af321aa/rtems]:

bsp/altcycv_devkit: Rename linker command file

This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.

Author: Trac Migrate

2019-11-21T07:06:04.000Z

Original author: sebastian.huber

In [changeset:”a52d617469566d5b849d396bb689bad408cd94ce/rtems” a52d6174/rtems]:

bsp/imx7: Rename linker command file

This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.

Author: Trac Migrate

2019-11-21T07:06:11.000Z

Original author: sebastian.huber

In [changeset:”38207a31e41b8cb3f3978c1ccbe10c6467f85c51/rtems” 38207a31/rtems]:

Move feature macro before "config.h" include

This allows to use header includes in "config.h" to reduce the build
configuration checks.

Update #3818.

Author: Trac Migrate

2019-11-21T07:06:14.000Z

Original author: sebastian.huber

In [changeset:”f3779985681baaa4ac4e33dddfabab241008376c/rtems” f377998/rtems]:

imfs: Add IMFS_make_linfile()

Update #3818.

Author: Trac Migrate

2019-11-25T10:45:38.000Z

Original author: sebastian.huber

In [changeset:”3e9f5a55ad361fa0a96eb067ff1e92dd2c6780fe/rtems” 3e9f5a55/rtems]:

bsp/gen83xx: Remove obsolete linker command file

Update #3818.

Author: Trac Migrate

2019-11-25T10:45:42.000Z

Original author: sebastian.huber

In [changeset:”05a32e15c7a1fd2d886abce3321f4bf42c38cc27/rtems” 05a32e15/rtems]:

bsp/mpc55xxevb: Remove obsolete linker cmd file

Update #3818.

Author: Trac Migrate

2019-11-25T10:45:45.000Z

Original author: sebastian.huber

In [changeset:”a0304e8d62325b4f3c07c0c520220c7929eea1c0/rtems” a0304e8d/rtems]:

libtest: Output basename of source files

Output only the basename of source files to be independent of the build
system source paths.

In the future it may be better to use the GCC -fmacro-prefix-map option.
This option is available in GCC 8 and later.  It is not yet available in
clang.

Update #3818.

Author: Trac Migrate

2019-11-25T10:45:55.000Z

Original author: sebastian.huber

In [changeset:”273e8b72c8ff5780939dedce913e58fc01bb78e5/rtems” 273e8b7/rtems]:

libtests/tar0[12]:: Use static archive content

This simplifies the build process.  Do not generate the archive content
through the build system.  Let the version control system deal with
symbolic links.

Update #3818.

Author: Trac Migrate

2019-11-25T10:45:59.000Z

Original author: sebastian.huber

In [changeset:”8f021bdbf9a83a7bd5c94f1f4dc275da2135b52f/rtems” 8f021bd/rtems]:

libtests/dl*: Do not generate files via "echo"

Add the static files to the repository.  This simplifies the build.

Update #3818.

Author: Trac Migrate

2019-11-25T12:02:10.000Z

Original author: sebastian.huber

In [changeset:”5c2e7104e7de6ac70fae6e8d1e84c9f36c476d43/rtems” 5c2e7104/rtems]:

libtests: Use '-' for TAR file names

Use uniform pattern for all TAR file names.  Use the dl* tests as a
template.

Update #3818.

Author: Trac Migrate

2019-11-26T07:35:02.000Z

Original author: sebastian.huber

In [changeset:”4a056523cf7f721d674e4898e434184128d3d9f4/rtems” 4a05652/rtems]:

libtests/dl*: Rename source files

Rename source files to use a %.c -> %.o and %.cc -> %.o pattern.  Use
*.cc for C++ source files instead of *.cpp to be in line with other C++
source files.

Update #3818.

Author: Trac Migrate

2019-11-27T11:03:45.000Z

Original author: sebastian.huber

In [changeset:”1fca16659754d1e7c0ac12a81bd24003dbc80c56/rtems” 1fca1665/rtems]:

testsuites/ada: Introduce init.c files

Provide an init.c for each Ada test instead of the #include <config.h>
magic which works only due to hand crafted include paths.

Update #3818.

Author: Trac Migrate

2019-11-29T18:13:05.000Z

Original author: sebastian.huber

In [changeset:”ae716da79fe549c403cd2fcf4c221a9a57bf7b20/rtems” ae716da/rtems]:

ada/sp19: Add m4 generated sptest.adb

Update #3818.

Author: Trac Migrate

2019-12-02T06:47:45.000Z

Original author: sebastian.huber

In [changeset:”8f6b7abd1aed966f205cc26e09ef38f9b0d40744/rtems” 8f6b7abd/rtems]:

Move feature macro before "config.h" include

This allows to use header includes in "config.h" to reduce the build
configuration checks.

Update #3818.

Author: Trac Migrate

2019-12-04T06:43:57.000Z

Original author: sebastian.huber

In [changeset:”a6879a418dee37c31728af0d2491cb8924f23de3/rtems” a6879a4/rtems]:

testsuites: Remove rtems_test_pause*()

The rtems_test_pause() and rtems_test_pause_and_screen_number() macros
had different implementations depending on the RTEMS_TEST_NO_PAUSE
define.  This define was defined to 1 by default.  The user was able to
change this via the undocumented --disable-test-no-pause configure
command line option.

Pausing tests and waiting for user input contradicts the goal of having
automated test runs.  Remove this feature.

Update #3818.

Author: Trac Migrate

2019-12-05T06:52:52.000Z

Original author: sebastian.huber

In [changeset:”1380c822a53aa64fff190e2818610ca5732363cf/rtems” 1380c822/rtems]:

bsp/xen: Use BSP options for all linkcmds vars

Update #3818.

Author: Trac Migrate

2019-12-13T09:10:28.000Z

Original author: sebastian.huber

In [changeset:”f30dd1f13ba3cb653f4ea9cdcb37edbcfb0098ff/rtems” f30dd1f/rtems]:

mptests: Fix configuration

Update #3818.

Author: Trac Migrate

2020-02-25T07:21:40.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Trac Migrate

2020-09-13T12:01:52.000Z

Original author: sebastian.huber

In [changeset:”449fc7463f77a75d9acc8cd54abffec1825f7e05/rtems-docs” 449fc74/rtems-docs]:

eng: Add BSP build system chapter

Update #3818.

Author: Trac Migrate

2020-09-13T12:01:54.000Z

Original author: sebastian.huber

In [changeset:”4ea43e39c76ba4a5407916a21d0300a7099305e9/rtems-docs” 4ea43e3/rtems-docs]:

user: Document BSP new build system

Update #3818.

Author: Trac Migrate

2020-09-14T07:00:02.000Z

Original author: sebastian.huber

In [changeset:”f3f0370f1054f4e49aa8f5ea70485d673e8e94b6/rtems” f3f0370f/rtems]:

build: Alternative build system based on waf

Update #3818.

Author: Trac Migrate

2020-09-14T21:14:39.000Z

Original author: sebastian.huber

with new build system smp enabled build of pc686 fails. Linkage of samples fails with

/export/home/karel/sfw/rtems/6-tools-core2/lib/gcc/i386-rtems6/10.2.1/../../../../i386-rtems6/bin/ld: ./librtemsbsp.a(smp-imps.c.10.o): in function `boot_cpu':
/export/home/karel/git/rtems/rtems-head/build/i386/pc686/../../../bsps/i386/pc386/start/smp-imps.c:274: undefined reference to `_binary_appstart_bin_start'
/export/home/karel/sfw/rtems/6-tools-core2/lib/gcc/i386-rtems6/10.2.1/../../../../i386-rtems6/bin/ld: /export/home/karel/git/rtems/rtems-head/build/i386/pc686/../../../bsps/i386/pc386/start/smp-imps.c:274: undefined reference to `_binary_appstart_bin_size'
collect2: error: ld returned 1 exit status

that’s due to fact this part of Makefile based build was not translated to the new build system:

appcpustart.$(OBJEXT): ../../../../../../bsps/i386/pc386/start/startAP.S
$(CPPASCOMPILE) $(AM_CPPFLAGS) -o $@ -c $<

appstart.$(OBJEXT): appcpustart.$(OBJEXT)
$(LD) -N  \\
-Ttext 0x70000 -e app_processor_start -nostdlib \\
-o appstart_tmp.exe $<
$(OBJCOPY) -O binary appstart_tmp.exe appstart.bin
$(OBJCOPY) -I binary -O elf32-i386 -B i386 appstart.bin $@

besides this there is also error in files (getcpuid.c seems to be gone, bspsmp.c needs to be there:

diff --git a/spec/build/bsps/i386/pc386/objsmp.yml b/spec/build/bsps/i386/pc386/objsmp.yml
index af882cb425..9e83bd7a01 100644
--- a/spec/build/bsps/i386/pc386/objsmp.yml
+++ b/spec/build/bsps/i386/pc386/objsmp.yml
@@ -11,6 +11,7 @@ includes: []
install: []
links: []
source:
-- bsps/i386/pc386/start/getcpuid.c
+#- bsps/i386/pc386/start/getcpuid.c
+- bsps/i386/pc386/start/bspsmp.c
- bsps/i386/pc386/start/smp-imps.c
type: build

unfortunately so far I struggle with translating this to waf, probably should look for some waf doc or so. E.g. linking steps of appcpustart.o into appstart.o is what makes me trouble. Also I’m not able to find out how rtemsbsp lib is linked and its dependency specified…

Author: Trac Migrate

2020-09-15T07:20:48.000Z

Original author: sebastian.huber

In [changeset:”127c3ea527658b140dac74d6b3ca72e3e9b19e12/rtems” 127c3ea5/rtems]:

build: Fix i386/pc386 with SMP enabled

Update #3818.

Author: Trac Migrate

2020-09-15T07:24:54.000Z

Original author: sebastian.huber

Replying to kgardas:

unfortunately so far I struggle with translating this to waf, probably should look for some waf doc or so. E.g. linking steps of appcpustart.o into appstart.o is what makes me trouble. Also I’m not able to find out how rtemsbsp lib is linked and its dependency specified…

Thanks testing the new build system and for the bug report. I checked in a fix, could you please test if this fixes the issues on this BSP.

Working with waf is also not easy for me. Fortunately, we don’t have that many areas in the build which need a special treatment like this. It was the first spot which needed to include a specially build object file in a library.

Author: Trac Migrate

2020-09-15T08:02:05.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

Replying to kgardas:

unfortunately so far I struggle with translating this to waf, probably should look for some waf doc or so. E.g. linking steps of appcpustart.o into appstart.o is what makes me trouble. Also I’m not able to find out how rtemsbsp lib is linked and its dependency specified…

Thanks testing the new build system and for the bug report. I checked in a fix, could you please test if this fixes the issues on this BSP. Working with waf is also not easy for me. Fortunately, we don’t have that many areas in the build which need a special treatment like this. It was the first spot which needed to include a specially build object file in a library.

Build builds both no-SMP and SMP BSPs fine, but neither of them runs on neither qemu nor on real hardware. If you find helpful, then qemu connected gdb shows those 3 traces over few seconds of BSP run:

Program received signal SIGINT, Interrupt.
0x00008d54 in _RBTree_Insert_inline (less=<optimized out>, key=<synthetic pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at ../../../cpukit/include/rtems/score/rbtree.h:523
523       while ( *link != NULL ) {
(gdb) where
#0  0x00008d54 in _RBTree_Insert_inline (less=<optimized out>, key=<synthetic pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at ../../../cpukit/include/rtems/score/rbtree.h:523
#1  _Priority_Plain_insert (priority=0, node=0x5ccc3d04, aggregation=0xc031 <vesa_realmode_bootup_init+3305>) at ../../../cpukit/include/rtems/score/priorityimpl.h:417
#2  _Thread_queue_Priority_do_enqueue (heads=0xc031 <vesa_realmode_bootup_init+3305>, queue_context=0x6c6c6544, the_thread=0x74 <_establish_stack+19>, queue=0x726f5020)
at ../../../cpukit/score/src/threadqops.c:484
#3  _Thread_queue_Queue_enqueue (enqueue=<optimized out>, initialize=<optimized out>, queue_context=0x6c6c6544, the_thread=0x74 <_establish_stack+19>, queue=0x726f5020)
at ../../../cpukit/score/src/threadqops.c:96
#4  _Thread_queue_Priority_enqueue (queue=0x726f5020, the_thread=0x74 <_establish_stack+19>, queue_context=0x6c6c6544) at ../../../cpukit/score/src/threadqops.c:566
#5  0x6c616972 in ?? ()
#6  0x00000000 in ?? ()
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00008d48 in _Chain_Insert_unprotected (the_node=0x283d4 <idtHdl+2708>, after_node=0x9002d0ff) at ../../../cpukit/include/rtems/score/chainimpl.h:666
666       before_node->previous = the_node;
(gdb) where
#0  0x00008d48 in _Chain_Insert_unprotected (the_node=0x283d4 <idtHdl+2708>, after_node=0x9002d0ff) at ../../../cpukit/include/rtems/score/chainimpl.h:666
#1  _Chain_Prepend_unprotected (the_node=0x283d4 <idtHdl+2708>, the_chain=0x9002d0ff) at ../../../cpukit/include/rtems/score/chainimpl.h:737
#2  _Thread_queue_Queue_enqueue (enqueue=<optimized out>, initialize=<optimized out>, queue_context=0x6c6c6544, the_thread=0x74 <_establish_stack+19>, queue=0x726f5020)
at ../../../cpukit/score/src/threadqops.c:95
#3  _Thread_queue_Priority_enqueue (queue=0x726f5020, the_thread=0x74 <_establish_stack+19>, queue_context=0x6c6c6544) at ../../../cpukit/score/src/threadqops.c:566
#4  0x6c616972 in ?? ()
#5  0x00000000 in ?? ()
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00008d54 in _RBTree_Insert_inline (less=<optimized out>, key=<synthetic pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at ../../../cpukit/include/rtems/score/rbtree.h:523
523       while ( *link != NULL ) {
(gdb) where
#0  0x00008d54 in _RBTree_Insert_inline (less=<optimized out>, key=<synthetic pointer>, the_node=0x5ccc3d04, the_rbtree=0x736f4d74) at ../../../cpukit/include/rtems/score/rbtree.h:523
#1  _Priority_Plain_insert (priority=0, node=0x5ccc3d04, aggregation=0xc031 <vesa_realmode_bootup_init+3305>) at ../../../cpukit/include/rtems/score/priorityimpl.h:417
#2  _Thread_queue_Priority_do_enqueue (heads=0xc031 <vesa_realmode_bootup_init+3305>, queue_context=0x6c6c6544, the_thread=0x74 <_establish_stack+19>, queue=0x726f5020)
at ../../../cpukit/score/src/threadqops.c:484
#3  _Thread_queue_Queue_enqueue (enqueue=<optimized out>, initialize=<optimized out>, queue_context=0x6c6c6544, the_thread=0x74 <_establish_stack+19>, queue=0x726f5020)
at ../../../cpukit/score/src/threadqops.c:96
#4  _Thread_queue_Priority_enqueue (queue=0x726f5020, the_thread=0x74 <_establish_stack+19>, queue_context=0x6c6c6544) at ../../../cpukit/score/src/threadqops.c:566
#5  0x6c616972 in ?? ()
#6  0x00000000 in ?? ()
(gdb)

Author: Trac Migrate

2020-09-15T08:09:11.000Z

Original author: sebastian.huber

Replying to kgardas: […]

Build builds both no-SMP and SMP BSPs fine, but neither of them runs on neither qemu nor on real hardware. If you find helpful, then qemu connected gdb shows those 3 traces over few seconds of BSP run: With the old build system both configuration work I guess?

What is the qemu command line to test this BSP?

Author: Trac Migrate

2020-09-15T08:26:14.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

Replying to kgardas: […]

Build builds both no-SMP and SMP BSPs fine, but neither of them runs on neither qemu nor on real hardware. If you find helpful, then qemu connected gdb shows those 3 traces over few seconds of BSP run:

With the old build system both configuration work I guess?

Yes, hello/smp works

What is the qemu command line to test this BSP?

qemu-system-i386 -m 128 -no-reboot -nographic -append "--video=off --console=/dev/com1" -kernel ./hello.exe

Author: Trac Migrate

2020-09-15T11:33:18.000Z

Original author: sebastian.huber

In [changeset:”3be2380927e3cc5ff302e05a6b539d3a2c842e27/rtems” 3be23809/rtems]:

build: Fix i386/pc386 ABI flags

Update #3818.

Author: Trac Migrate

2020-09-15T11:33:22.000Z

Original author: sebastian.huber

In [changeset:”d9d31b381c301d921dde7a691d8e27e2e39d68f3/rtems” d9d31b3/rtems]:

build: Add RELOCADDR to i386/pc386 options

Update #3818.

Author: Trac Migrate

2020-09-15T13:14:56.000Z

Original author: sebastian.huber

In [changeset:”8f424e4580b23e1212b7e56009dbc784937a2ab4/rtems” 8f424e45/rtems]:

build: Fix i386/pc386 link of SMP start file

Update #3818.

Author: Trac Migrate

2020-09-15T13:15:00.000Z

Original author: sebastian.huber

In [changeset:”2a4ccc4f8d699ac87cfa057ec887855377d702c1/rtems” 2a4ccc4/rtems]:

bsp/pc386: Remove support for obsolete Binutils

Update #3818.

Author: Trac Migrate

2020-09-15T13:16:33.000Z

Original author: sebastian.huber

Replying to kgardas:

Replying to Sebastian Huber:

Replying to kgardas: […]

Build builds both no-SMP and SMP BSPs fine, but neither of them runs on neither qemu nor on real hardware. If you find helpful, then qemu connected gdb shows those 3 traces over few seconds of BSP run:

With the old build system both configuration work I guess?

Yes, hello/smp works

With the recent fixes I was able to run the tests on Qemu.

What is the qemu command line to test this BSP?

{{{ qemu-system-i386 -m 128 -no-reboot -nographic -append “–video=off –console=/dev/com1” -kernel ./hello.exe }}}

Author: Trac Migrate

2020-09-15T13:47:12.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

With the recent fixes I was able to run the tests on Qemu.

Thanks a lot for fast fixes! I can confirm running no-SMP hello and SMP smp01 on both qemu and real hardware. Thanks!

Author: Trac Migrate

2020-09-17T16:09:15.000Z

Original author: sebastian.huber

In [changeset:”845674e3fb51dcbdd4e4f2e93a4e5fa4e6b311d2/rtems” 845674e/rtems]:

build: Fix mghttpd01 test exclude

Update #3818.

Author: Trac Migrate

2020-09-17T16:09:18.000Z

Original author: sebastian.huber

In [changeset:”11c1b862df08e841a57c6fde5db63d7dd314302f/rtems” 11c1b862/rtems]:

build: Allow test program item UIDs with a "-"

Update #3818.

Author: Trac Migrate

2020-09-20T15:32:24.000Z

Original author: sebastian.huber

In [changeset:”2b1a4ac84fd5fee86426fcb56ca0e78e94599eca/rtems” 2b1a4ac/rtems]:

build: Fix linker path

Use -B for the linker since some architectures use extra start files defined by
the GCC specification and provided by the BSP, for example powerpc.  Start
files are not found by -L.

In the long run, the GCC defined start files should be provided by GCC.  This
is a GCC 11 topic.

Update #3818

Author: Trac Migrate

2020-09-21T04:47:26.000Z

Original author: sebastian.huber

In [changeset:”d110e6e3b3611d66734954a3567d02c11ab0b737/rtems” d110e6e3/rtems]:

bsp/gen83xx: Add missing source file

Update #3818.

Author: Trac Migrate

2020-09-25T16:51:26.000Z

Original author: sebastian.huber

In [changeset:”73926320d7f00ab079f04777fd924fee48d84000/rtems” 7392632/rtems]:

build: Add RTEMS_PROFILING

Update #3818.

Author: Trac Migrate

2020-09-25T16:56:48.000Z

Original author: sebastian.huber

In [changeset:”2fb86e27ce4dc4bf061867efa9df11131c357939/rtems-docs” 2fb86e2/rtems-docs]:

user: Add migration hints from old build system

Update #3818.

Author: Trac Migrate

2020-09-27T07:40:41.000Z

Original author: sebastian.huber

In [changeset:”9a27c9cfd8b661af7b1135c3cb17896e61551abd/rtems” 9a27c9c/rtems]:

build: Simplify get_compiler()

Update #3818.

Author: Trac Migrate

2020-09-27T07:40:44.000Z

Original author: sebastian.huber

In [changeset:”b8d84015a4bc30f280b3e39f3f806e1ec0b2ec7a/rtems” b8d8401/rtems]:

build: Fix enabled-by evaluation

For the enabled-by evaluation we have to use the BSP name defined by the
build specification and not the user.

Update #3818.

Author: Trac Migrate

2020-09-27T07:40:48.000Z

Original author: sebastian.huber

In [changeset:”71ccc156a55af6abda1be611610ceb0420c5e923/rtems” 71ccc15/rtems]:

build: Fix option default values

For the option default values we have to use the BSP name defined by the build
specification and not the user.

Update #3818.

Author: Trac Migrate

2020-09-28T04:21:56.000Z

Original author: sebastian.huber

In [changeset:”cbd4f542ec6550e3aaaaf80989f5b86213b070d1/rtems” cbd4f54/rtems]:

build: Add comment

Update #3818.

Author: Trac Migrate

2020-09-30T11:02:08.000Z

Original author: sebastian.huber

In [changeset:”31c333d71c5146edac27566e6d066b73a411739e/rtems” 31c333d/rtems]:

build: Include cpuopts.h in "config.h"

The Autoconf/Automake build system did something similar.  This fixes
the build of sigprogmask.c which uses RTEMS_POSIX_API and expects to get
it defined via "config.h".

Update #3818.

Author: Trac Migrate

2020-10-02T14:30:05.000Z

Original author: sebastian.huber

In [changeset:”f53712a0e39be59773d171da8cd281d98f16bed2/rtems” f53712a/rtems]:

build: Use exact match by default for BSP names

Update #3818.

Author: Trac Migrate

2020-10-07T06:06:50.000Z

Original author: sebastian.huber

In [changeset:”94b8d85b1612bdd52744afa977e05a612954926a/rtems” 94b8d85b/rtems]:

build: Fix BSP name

Update #3818.

Author: Trac Migrate

2021-04-26T12:06:12.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

The new build system is operational. Issues with the new build system should use new tickets.

Author: Amar Takhar

2024-04-25T20:47:29.422Z

changed the description

3726 - Select a requirements engineering tool

Id

3726

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-03-13T06:37:47.000Z

Updated

2024-04-25T20:47:18.451Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3726

Merges

0

Original author: sebastian.huber

In order to ease the requirements engineering process (such a process doesn’t exist currently, see #3715. Define tool selection criteria. Do a market survey. Use the following wiki page for this work:

Developer/RequirementsEngineering

Author: Trac Migrate

2021-06-18T08:08:00.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

The work to select a requirements management tool was done:

https://docs.rtems.org/branches/master/eng/req/tooling.html

Author: Amar Takhar

2024-04-25T20:47:07.894Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:18.501Z

changed the description

3719 - Update libcrypt to latest FreeBSD to address Coverity Scan Issues

Id

3719

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2019-03-07T18:58:44.000Z

Updated

2024-04-25T20:47:17.952Z

Milestone

6.1

Labels

library, priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3719

Merges

0

Coverity issues 1018087, 1018088, 1018089, and 1018090 all appear to be addressed in the latest source code for libcrypt from FreeBSD. This code needs to be updated. This is one of the issues (1018087) in crypt-sha512.c from Scan but the same issues are in sha256.c

275        if (copied_key != NULL)
CID 1018088: \ |md_0_39|\ Constant\ |md_0_39|\  variable guards dead code (DEADCODE) [select issue]
276                memset(copied_key, '\\0', key_len);
null: At condition copied_salt != NULL, the value of copied_salt must be NULL.
dead_error_condition: The condition copied_salt != NULL cannot be true.
277        if (copied_salt != NULL)

CID 1018087 (#1 of 1): 'Constant' variable guards dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: memset(copied_salt, 0, salt....
Local variable copied_salt is assigned only once, to a constant value, making it effectively constant throughout its scope. If this is not the intent, examine the logic to see if there is a missing assignment that would make copied_salt not remain constant.
278                memset(copied_salt, '\\0', salt_len);

Author: Trac Migrate

2019-12-19T08:07:34.000Z

  • Milestone changed from %”5.1” to %”6.1”

Author: Trac Migrate

2022-09-09T04:51:17.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

This should be fixed now.

Author: Trac Migrate

2022-09-22T06:17:18.000Z

In [changeset:”ade8d995aa74f28a664c533bf85dfab82f2be4af/rtems” ade8d99/rtems]:

build: Install SHA header files

Update #3719.

Author: Amar Takhar

2024-04-25T20:47:18.058Z

changed the description

3718 - Add support for test plans

Id

3718

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-03-04T13:02:17.000Z

Updated

2024-04-25T20:47:17.495Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3718

Merges

0

Original author: sebastian.huber

Test plans are required by ECSS-Q-ST-40C:

  • 5.5.3.2, Software unit testing, a.

  • 5.5.4.1, Software integration test plan development

  • 5.6.3.1, Development and documentation of a software validation specification with respect to the technical specification, a.

The test plans are a content of several documentation sets. Test plans are subject to verification activities:

  • 5.8.3.6, Verification of software unit testing (plan and results)

  • 5.8.3.7, Verification of software integration

  • 5.8.3.8, Verification of software validation with respect to the technical specifications and the requirements baseline

It should be possible to create documents from individual test plan fragments for a particular test case. There are two approaches possible:

  1. Add the test plan directly to the test code in form of a specially formatted comment.

  2. Use separate files with a specific format for test plans.

The test plans should include a

  • test identifier,

  • test classification (unit, integration, validation),

  • test steps,

  • links to requirements, design, architecture, unit, component, etc.

It should be possible to verify that a test is executed according to the plan from the test output. For example the test plan could specify test steps. The test output could print the test steps. A tool could check that the test steps in the output and the plan are consistent.

Author: Trac Migrate

2021-09-29T13:31:41.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Test cases are specified by specification items:

https://docs.rtems.org/branches/master/eng/req/items.html#spectypetestcaseitemtype

Author: Amar Takhar

2024-04-25T20:47:08.122Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:16.588Z

mentioned in issue #3716

Author: Amar Takhar

2024-04-25T20:47:17.554Z

changed the description

3717 - Add test guidelines chapter to RTEMS Software Engineering Handbook

Id

3717

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-03-04T12:25:45.000Z

Updated

2024-04-25T20:47:17.038Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3717

Merges

0

Original author: sebastian.huber

The test guidelines chapter should cover the following topics:

  • tools involved in testing

  • test classification

  • test organization

  • how to plan tests

  • how to write tests

  • how to run tests

  • how to report tests

Author: Trac Migrate

2022-11-30T08:53:19.000Z

Original author: sebastian.huber

  • Milestone changed from %”6.1” to %”7.1”

Author: Trac Migrate

2023-06-26T14:54:43.000Z

Original author: sebastian.huber

In [changeset:”bb19475be4b7d931795719c0027c3238c2c303de/rtems-docs” bb19475/rtems-docs]:

eng: Add guidelines for validation tests

Update #3717.

Author: Trac Migrate

2023-10-23T13:44:55.000Z

Original author: sebastian.huber

  • Milestone changed from %”7.1” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

There is always room improvement, however, the guidelines in the how-to section should do it for now:

https://docs.rtems.org/branches/master/eng/req/howto.html#

Author: Amar Takhar

2024-04-25T20:47:08.094Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:16.561Z

mentioned in issue #3716

Author: Amar Takhar

2024-04-25T20:47:17.102Z

changed the description

3715 - Add Requirements Engineering chapter to RTEMS Software Engineering Handbook

Id

3715

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-03-04T11:03:16.000Z

Updated

2024-04-25T20:47:15.864Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3715

Merges

0

Original author: sebastian.huber

The chapter should cover the following topics:

  • Overview and introduction

  • Evaluation of tools for requirements management

  • Selected tool for requirements management

  • Evaluation of data models and formats for the requirements

  • Definition of data model and format actually used for the project (may overlap with tool)

  • Requirements management workflow used in the project

  • Requirements on requirements, e.g. derived from standards such as ECSS-E-ST-10-06C

  • Requirement identifiers used to ensure traceability

Author: Trac Migrate

2019-03-04T13:10:43.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

  • Summary changed from Add Requirements Engineering chaper to RTEMS Software Engineering Handbook to Add Requirements Engineering chapter to RTEMS Software Engineering Handbook

Author: Chris Johns

2019-03-04T23:02:03.000Z

Original author: sebastian.huber

How does the quality of RTEMS and it’s requirements depend on the evaluation and selection of the tools for requirement management? I can understand the quality of the requirements effecting the quality of RTEMS but not the tools used to capture them? Why have the process, ie a sort of log book, in the engineering handbook? I would have expected this document to contain the out come of the discovery process and not the process itself.

I am concerned adding these things just creates a liability for the project. Can an email archive can perform this task?

Author: Joel Sherrill

2019-03-04T23:06:15.000Z

Original author: sebastian.huber

I agree with Chris. A trade study of requirements tools shouldn’t end up in the handbook. Perhaps our requirements for a tool.

  • open source

  • supports format XXX for interchange

  • supports links for requirement derivation

Author: Trac Migrate

2019-03-07T07:34:38.000Z

Original author: sebastian.huber

Yes, maybe this is not the best place for the tool overview. I though it would be helpful in case someone asks in two years, why did you use this, have you considered that, etc.? Should I add a ticket for the tool selection instead?

Author: Chris Johns

2019-03-07T21:00:27.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

Yes, maybe this is not the best place for the tool overview. I though it would be helpful in case someone asks in two years, why did you use this, have you considered that, etc.?

A brief rational can be helpful, but the details can be distracting. I feel the simpler and more direct this document is the more effective it will be.

Should I add a ticket for the tool selection instead?

Yes, it can links to mailing lists discussions and attachments and it is easy to link too.

Author: Trac Migrate

2020-01-07T09:14:04.000Z

Original author: sebastian.huber

In [changeset:”d412c5bf2a35bd6d24ef388d68a718390cfee41e/rtems-docs” d412c5b/rtems-docs]:

eng: Add Software Requirements Engineering chapter

Update #3715.

Author: Trac Migrate

2020-04-02T07:47:16.000Z

Original author: sebastian.huber

In [changeset:”6f0bc56893aa73de85c4dbd483dc7d6a6fe4a2a2/rtems-docs” 6f0bc56/rtems-docs]:

eng: Add glossary terms

Define the following terms:

* assembler language
* C language
* ELF
* interrupt service
* software component
* software unit

Clarify:

* task

Update #3715.

Author: Trac Migrate

2020-05-05T05:37:31.000Z

Original author: sebastian.huber

In [changeset:”d4ba908e426f260cbd24c72a0875857cb557b4de/rtems-docs” d4ba908/rtems-docs]:

eng: Update requirements engineering chapter

Update requirements engineering chapter due to the removal of Doorstop
as the requirements management tool.

Update the application configuration related specification items.

Update #3715.

Author: Trac Migrate

2020-06-01T11:02:31.000Z

Original author: sebastian.huber

In [changeset:”59312aa9653a9d4133209e25e21ff9724ecd476f/rtems-docs” 59312aa/rtems-docs]:

eng: Split up requirements engineering chapter

This allows to more easily generate the specification item section with
a script using specification items.

Update #3715.

Author: Trac Migrate

2020-06-01T11:02:33.000Z

Original author: sebastian.huber

In [changeset:”23ab40d3e6899c5956c26770f07f3a5eb910be8b/rtems-docs” 23ab40d/rtems-docs]:

eng: Add generated documentation of spec items

The documentation of the specification items is generated by an RTEMS
qualification tool from a specification of specification items.

Move non-generated content to "req-for-req.rst".

Update #3715.

Author: Trac Migrate

2020-06-01T11:02:35.000Z

Original author: sebastian.huber

In [changeset:”459326c2b9a829852782170deed0e5876c1258f5/rtems-docs” 459326c/rtems-docs]:

eng: Update requirements tooling section

Update #3715.

Author: Trac Migrate

2020-06-01T11:02:37.000Z

Original author: sebastian.huber

In [changeset:”9b269adc6c1ab6847c40dd533ca2e0151151c3f7/rtems-docs” 9b269ad/rtems-docs]:

eng: Add interface specification how-to

Update #3715.

Author: Trac Migrate

2020-06-08T07:05:29.000Z

Original author: sebastian.huber

In [changeset:”f54798854ff8e96b201777613ca83eb04f2d3deb/rtems-docs” f547988/rtems-docs]:

eng: Simplify wording for specification items

Update #3715.

Author: Trac Migrate

2020-06-08T07:05:31.000Z

Original author: sebastian.huber

In [changeset:”0c43c520c84474c181fd32ede5f2aab65aee7072/rtems-docs” 0c43c52/rtems-docs]:

eng: Add generic attribute key types

Update #3715.

Author: Trac Migrate

2020-06-08T07:05:33.000Z

Original author: sebastian.huber

In [changeset:”0213e8efab9dcc1f0feac1a16d48f9ee2b6e43da/rtems-docs” 0213e8e/rtems-docs]:

eng: Add a specification type for actions

Add support to specify functional requirements for actions (functions or
macros) via a transition map of pre-conditions to post-conditions.  This
will be the work horse for functional requirements.  Generation of
corresponding validation tests is supported.

Update #3715.

Author: Trac Migrate

2020-06-08T07:05:35.000Z

Original author: sebastian.huber

In [changeset:”ca2f5e638459459868bebd270bda0f82433cf36d/rtems-docs” ca2f5e6/rtems-docs]:

eng: Update specification how-to section

Update #3715.

Author: Trac Migrate

2020-06-10T08:12:37.000Z

Original author: sebastian.huber

In [changeset:”db3892b5b8eaed97705bf552ed010bc7f8e80149/rtems-docs” db3892b/rtems-docs]:

eng: Update action requirement specification

Update #3715.

Author: Trac Migrate

2020-06-17T07:11:35.000Z

Original author: sebastian.huber

In [changeset:”87a9478da6764e36dd91a1d2d1d20c92548b9cf3/rtems-docs” 87a9478/rtems-docs]:

eng: Clarify action requirement specification

Update #3715.

Author: Trac Migrate

2020-07-03T08:34:03.000Z

Original author: sebastian.huber

In [changeset:”1bd14cda6098d73b605aa7077a2878eadd2e09de/rtems-docs” 1bd14cd/rtems-docs]:

eng: Reformat to maximize the text width

Remove extra "X" character in some labels.

Update #3715.

Author: Trac Migrate

2020-07-03T08:34:05.000Z

Original author: sebastian.huber

In [changeset:”0c13e946d0a2724880ab8f7276491a8a1fd5331f/rtems-docs” 0c13e94/rtems-docs]:

eng: Fix typo

Update #3715.

Author: Trac Migrate

2020-07-28T05:33:52.000Z

Original author: sebastian.huber

In [changeset:”fd2fc509a3cadb484cb9ef91ed2de2d94f2a1dc9/rtems-docs” fd2fc50/rtems-docs]:

eng: Add requirement text to interface groups

This allows to state the requirement for an interface group directly in
the item.

Update #3715.

Author: Trac Migrate

2020-07-28T05:33:54.000Z

Original author: sebastian.huber

In [changeset:”f12cae140e78e426f8b6f93e225eb7ca2dfd1a36/rtems-docs” f12cae1/rtems-docs]:

eng: Add brief description to header file items

Update #3715.

Author: Trac Migrate

2020-07-28T05:33:56.000Z

Original author: sebastian.huber

In [changeset:”c2595631da2782fbc3b59f4b65aa5703d460f903/rtems-docs” c259563/rtems-docs]:

eng: Support N/A in the action transitions

Sometimes the pre-conditions in an action requirement are not
independent and it is necessary to mark pre-conditions as not applicable
in a particular transition.

Update #3715.

Author: Trac Migrate

2020-07-28T05:33:58.000Z

Original author: sebastian.huber

In [changeset:”3f9fa47dc018c5eb35dbe1818c73f446ac85a0e0/rtems-docs” 3f9fa47/rtems-docs]:

eng: Add ability to skip action transitions

Sometimes the pre-conditions in an action requirement are not
independent and it is necessary skip a certain set of pre-condition
states.  This should be used with care since no test code is run in
these cases.  There shall be a reason given why skipping a transition is
justified.

Update #3715.

Author: Trac Migrate

2020-07-28T05:34:01.000Z

Original author: sebastian.huber

In [changeset:”1bb694719fc9921ccb52fb42c2e666f76a545d3c/rtems-docs” 1bb6947/rtems-docs]:

eng: Fix format of regular expressions

Update #3715.

Author: Trac Migrate

2020-08-06T07:12:00.000Z

Original author: sebastian.huber

In [changeset:”bac4398afc6fdc808f1fe91db60ea8b4ad1819e9/rtems-docs” bac4398/rtems-docs]:

eng: Fix typo

Update #3715.

Author: Trac Migrate

2020-08-06T07:18:47.000Z

Original author: sebastian.huber

In [changeset:”e1e04083e392711e50ff70c0b9cc583e90764a0e/rtems-docs” e1e0408/rtems-docs]:

eng: Partially revert previous commit

The previous commit contained more than just a typo fix.  Remove this
part.

Update #3715.

Author: Trac Migrate

2020-08-07T04:44:14.000Z

Original author: sebastian.huber

In [changeset:”83e13b70e2a332099f3c849b0eaecd3b9aeed6ff/rtems-docs” 83e13b7/rtems-docs]:

eng: Add application config options how-to

Update #3715.

Author: Trac Migrate

2020-08-07T05:15:28.000Z

Original author: sebastian.huber

In [changeset:”3e8e301b068bb6d3f3689f460be337423c4edbce/rtems-docs” 3e8e301/rtems-docs]:

eng: Add more variants of unspecified interfaces

Update #3715.

Author: Trac Migrate

2020-08-07T05:15:31.000Z

Original author: sebastian.huber

In [changeset:”5cb493eeb169dfd6ed3debc0e5180aa2735cabb8/rtems-docs” 5cb493e/rtems-docs]:

eng: Add reference to unspecified interfaces

Update #3715.

Author: Trac Migrate

2020-08-20T07:01:23.000Z

Original author: sebastian.huber

In [changeset:”9633e98d5df0bfa19989fea5c5753cb6f8d84fa8/rtems-docs” 9633e98/rtems-docs]:

eng: Add test case attributes

Update #3715.

Author: Trac Migrate

2020-08-20T07:01:25.000Z

Original author: sebastian.huber

In [changeset:”1a4865512e70e51a7f70f3922d0fa55eadf65102/rtems-docs” 1a48655/rtems-docs]:

eng: Remove test name attribute

Derive the test name from the item UID.

Update #3715.

Author: Trac Migrate

2020-08-20T07:01:27.000Z

Original author: sebastian.huber

In [changeset:”83a3522df1743cfdbef1cb0052d317ce5d60f03c/rtems-docs” 83a3522/rtems-docs]:

eng: Add test header to test case

Update #3715.

Author: Trac Migrate

2020-08-20T07:01:29.000Z

Original author: sebastian.huber

In [changeset:”93938c707b9f4278e9efea9d6ff5dbc0c1f4fbbc/rtems-docs” 93938c7/rtems-docs]:

eng: Unify test attribute keys

Update #3715.

Author: Trac Migrate

2020-08-20T07:01:32.000Z

Original author: sebastian.huber

In [changeset:”57fb30d1664170546479f53ab424acda99ee4e26/rtems-docs” 57fb30d/rtems-docs]:

eng: Add automatically generated warning

Update #3715.

Author: Trac Migrate

2020-10-11T13:20:43.000Z

Original author: sebastian.huber

In [changeset:”c18215c8e81fd07e644f4107f9edebd7bc6fbe3c/rtems-docs” c18215c/rtems-docs]:

eng: Move index-entries to all interfaces

Update #3715.

Author: Trac Migrate

2020-10-11T13:20:45.000Z

Original author: sebastian.huber

In [changeset:”bcf4a95ae3cc6ccfddc7d37be18df03918b00200/rtems-docs” bcf4a95/rtems-docs]:

eng: Add placement link role

Update #3715.

Author: Trac Migrate

2020-10-24T10:15:38.000Z

Original author: sebastian.huber

In [changeset:”abc9c4498df24d521991ee1eb1d8c1356b235dde/rtems-docs” abc9c44/rtems-docs]:

eng: Replace spec2doc.py with spec2modules.py

Update #3715.

Author: Trac Migrate

2020-11-09T14:05:33.000Z

Original author: sebastian.huber

In [changeset:”f6102914ebcfffd41eea32c214c61d32f1cd9fb3/rtems-docs” f610291/rtems-docs]:

eng: Add function attributes

Update #3715.

Author: Trac Migrate

2020-11-19T10:24:36.000Z

Original author: sebastian.huber

In [changeset:”bbd8d4a56f00069dee06947e4d33447f80442eec/rtems-docs” bbd8d4a/rtems-docs]:

eng: Fix typo

Update #3715.

Author: Trac Migrate

2020-11-27T08:17:00.000Z

Original author: sebastian.huber

In [changeset:”4b03ff7fb56e41ada325c5a3d3ea21bebcc6ae5f/rtems-docs” 4b03ff7/rtems-docs]:

eng: Add performance specification items

Add items to specify runtime performance requirements.

Update #3715.

Author: Trac Migrate

2021-01-15T05:40:59.000Z

Original author: sebastian.huber

In [changeset:”a08e672abffa1f243c8093a03fdc1db4b58bb14c/rtems-docs” a08e672/rtems-docs]:

eng: Add design group requirement item type

Update #3715.

Author: Trac Migrate

2021-02-08T14:02:53.000Z

Original author: sebastian.huber

In [changeset:”174444f655cd46162ba2c51e511fbd8e67a102dc/rtems-docs” 174444f/rtems-docs]:

eng: Update test case item

Update #3715.

Author: Trac Migrate

2021-03-02T07:29:25.000Z

Original author: sebastian.huber

In [changeset:”fcac22e5b72b1e478b27fc0994ee6ec0845d7c0a/rtems-docs” fcac22e/rtems-docs]:

eng: Fix typo

Update #3715.

Author: Trac Migrate

2021-03-08T07:29:24.000Z

Original author: sebastian.huber

In [changeset:”a4b3019d99956226fcc28cf56880264b8cc84017/rtems-docs” a4b3019/rtems-docs]:

eng: Add how-to for action requirements

Update #3715.

Author: Trac Migrate

2021-03-08T09:19:49.000Z

Original author: sebastian.huber

In [changeset:”e05df2864380b917b3800ac55bec026870b4a27d/rtems-docs” e05df28/rtems-docs]:

eng: Clarify how-to for action requirements

Update #3715.

Author: Trac Migrate

2021-03-11T05:57:22.000Z

Original author: sebastian.huber

In [changeset:”0518d94f302632497332493586d45286be3ba53c/rtems-docs” 0518d94/rtems-docs]:

eng: Clarify how-to for action requirements

Update #3715.

Author: Trac Migrate

2021-03-11T06:54:01.000Z

Original author: sebastian.huber

In [changeset:”bc0a85723c7b8f4cf5af2735173b5334623bb259/rtems-docs” bc0a857/rtems-docs]:

eng: Clarify how-to for action requirements

Bring how-to in line with current action requirements.

Update #3715.

Author: Trac Migrate

2021-03-19T07:20:33.000Z

Original author: sebastian.huber

In [changeset:”239644be82bf36a1263741d6c6bfee6b81adbea3/rtems-docs” 239644b/rtems-docs]:

eng: Update EARS syntax

The document used the EARS syntax from 2009 which slightly changed in
2016, see "Listens Learned (8 Lessons Learned Applying EARS)".  The
optional pre-conditions moved to the state-driven pattern.  This refined
syntax fits better to the action requirements.

Update #3715.

Author: Trac Migrate

2021-03-19T07:20:35.000Z

Original author: sebastian.huber

In [changeset:”b580a6da148eaa1b94a70db62f002b1a8009a09c/rtems-docs” b580a6d/rtems-docs]:

eng: Add build/appl config clauses to how-to

Update #3715.

Author: Trac Migrate

2021-03-19T07:20:37.000Z

Original author: sebastian.huber

In [changeset:”b40e043190676752b8c8b40f5eed05c528fe2371/rtems-docs” b40e043/rtems-docs]:

eng: Document expressions in action requirements

Update #3715.

Author: Trac Migrate

2021-03-19T07:20:40.000Z

Original author: sebastian.huber

In [changeset:”4476290486ae0258589adbe812de69a024403cbf/rtems-docs” 4476290/rtems-docs]:

eng: Add example to action requirements how-to

Update #3715.

Author: Trac Migrate

2021-04-27T07:46:36.000Z

Original author: sebastian.huber

In [changeset:”3fa9ed4323fd69b01d7ea760190f065cc159b7ec/rtems-docs” 3fa9ed4/rtems-docs]:

eng: Allow multiple interface references

Update #3715.

Author: Trac Migrate

2021-04-29T05:31:36.000Z

Original author: sebastian.huber

In [changeset:”889a5ffcc7548468ed48dd188b887da8f593bce3/rtems-docs” 889a5ff/rtems-docs]:

eng: Remove embedded constraints

Update #3715.

Author: Trac Migrate

2021-04-29T05:31:39.000Z

Original author: sebastian.huber

In [changeset:”e263e84a98298d5773a20b72c3b1c2064eaa747c/rtems-docs” e263e84/rtems-docs]:

eng: Add unit test link role

Update #3715.

Author: Trac Migrate

2021-04-29T09:05:21.000Z

Original author: sebastian.huber

In [changeset:”b6cb05736717f695f1645c438ae4245994605556/rtems-docs” b6cb057/rtems-docs]:

eng: Remove scope from constraints

Use links instead of this special purpose attributes.

Update #3715.

Author: Trac Migrate

2021-04-29T09:05:24.000Z

Original author: sebastian.huber

In [changeset:”a95c9688acf769fbce4f8860833643f36e0c89cd/rtems-docs” a95c968/rtems-docs]:

eng: Add test suite name

Update #3715.

Author: Trac Migrate

2021-04-30T05:06:27.000Z

Original author: sebastian.huber

In [changeset:”aa0c495b1eb1bb13bd057b608bf6769b70989b67/rtems-docs” aa0c495/rtems-docs]:

eng: Remove text attribute from acfg options

Update #3715.

Author: Trac Migrate

2021-05-08T08:27:49.000Z

Original author: sebastian.huber

In [changeset:”b7970090a82b1a2c03dbb863ae843f9694192d24/rtems-docs” b797009/rtems-docs]:

eng: Add unspecified interface groups

Update #3715.

Author: Trac Migrate

2021-08-03T08:40:02.000Z

Original author: sebastian.huber

In [changeset:”76b5b8101c14be00bbfe63ca593de6f9183d6cc6/rtems-docs” 76b5b81/rtems-docs]:

eng: Add freestanding test cases

Update #3715.

Author: Trac Migrate

2021-09-10T14:26:52.000Z

Original author: sebastian.huber

In [changeset:”7b2b1b4827beca660d11d5fb7f1930e1f6372a53/rtems-docs” 7b2b1b4/rtems-docs]:

eng: Simplify interface return specification

Update #3715.

Author: Trac Migrate

2021-09-10T14:26:54.000Z

Original author: sebastian.huber

In [changeset:”9dd61353f651a215a62714e15dc9fef1f70869ad/rtems-docs” 9dd6135/rtems-docs]:

eng: Add interface params/return to typedefs

Update #3715.

Author: Trac Migrate

2021-09-10T14:26:57.000Z

Original author: sebastian.huber

In [changeset:”60e08fd84f5713fbee5f43781b5ece6a4771b7c5/rtems-docs” 60e08fd/rtems-docs]:

eng: Make interface definitions optional

Update #3715.

Author: Trac Migrate

2021-09-10T14:26:59.000Z

Original author: sebastian.huber

In [changeset:”2df0d6453797266e9376ec91db65dde81fcfc875/rtems-docs” 2df0d64/rtems-docs]:

eng: Add hidden interface group membership

Update #3715.

Author: Trac Migrate

2022-01-24T14:28:03.000Z

Original author: sebastian.huber

In [changeset:”dd60a4a2477cf1ce1077001f52ab38c7286fb273/rtems-docs” dd60a4a/rtems-docs]:

eng: Add script usage to how-to

Update #3715.

Author: Trac Migrate

2022-10-04T06:29:00.000Z

Original author: sebastian.huber

In [changeset:”889a498dbbff886b029b8370c7af8b72815ea8d3/rtems-docs” 889a498d/rtems-docs]:

eng: Remove interface container item type

Update #3715.

Author: Trac Migrate

2022-10-04T06:29:01.000Z

Original author: sebastian.huber

In [changeset:”c812323f0f4212c0ccd85b48f841d94de702de0a/rtems-docs” c812323/rtems-docs]:

eng: Unify interface function and macro

This allows the documentation of parameter and return types for macros.

Update #3715.

Author: Trac Migrate

2022-10-04T06:29:02.000Z

Original author: sebastian.huber

In [changeset:”1d9f9afbb8681b98f2c57f6175fb7468d475ced0/rtems-docs” 1d9f9af/rtems-docs]:

eng: Add function implementation link role

Update #3715.

Author: Trac Migrate

2022-10-04T06:29:03.000Z

Original author: sebastian.huber

In [changeset:”c909228c7d65a7ad21bffdc5bcdec8612d422ce7/rtems-docs” c909228/rtems-docs]:

eng: Refine unspecified interfaces

Update #3715.

Author: Trac Migrate

2022-10-04T06:29:05.000Z

Original author: sebastian.huber

In [changeset:”4966ed06115ba60cff444587c48358175d5ac55e/rtems-docs” 4966ed0/rtems-docs]:

eng: Remove appl config group member link role

Update #3715.

Author: Trac Migrate

2022-10-04T06:29:06.000Z

Original author: sebastian.huber

In [changeset:”b55c8bf2956ebb1689e9053b22ea58106f9861cd/rtems-docs” b55c8bf/rtems-docs]:

eng: Use type refinement for validation method

Update #3715.

Author: Trac Migrate

2022-10-04T06:29:07.000Z

Original author: sebastian.huber

In [changeset:”4fddb23a8f5896f070e8bfde46c1e426924ab18d/rtems-docs” 4fddb23/rtems-docs]:

eng: Add memory benachmark type refinement

Update #3715.

Author: Trac Migrate

2022-11-30T08:52:47.000Z

Original author: sebastian.huber

  • Milestone changed from %”6.1” to %”7.1”

Author: Trac Migrate

2023-01-23T06:38:37.000Z

Original author: sebastian.huber

In [changeset:”0b0dd797faada226993781320646c4acc7e542a9/rtems-docs” 0b0dd79/rtems-docs]:

eng: Use a recommendation for requirement texts

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:00.000Z

Original author: sebastian.huber

  • Milestone changed from %”7.1” to %”6.1”

Author: Trac Migrate

2023-05-19T05:21:26.000Z

Original author: sebastian.huber

In [changeset:”6dc190beeaad686cf926c3f047ac38c8419fa6fa/rtems-docs” 6dc190b/rtems-docs]:

eng: Rework performance meansurement items

Use links to specify runtime performance limits in target-specific
items.  Clarify wording.

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:27.000Z

Original author: sebastian.huber

In [changeset:”5928d04c84f0b88eaeae2a686dc207885b7c6d09/rtems-docs” 5928d04/rtems-docs]:

eng: Generalize external references

Use a common subtype for external references of interfaces and
requirements.  Add specializations for document and file references.

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:29.000Z

Original author: sebastian.huber

In [changeset:”c81a24418a18041ba3a2d1bd50a5aeab6a87dade/rtems-docs” c81a244/rtems-docs]:

eng: Add conditional build dependencies

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:30.000Z

Original author: sebastian.huber

In [changeset:”98172bc9a40d1715ff2d03be3d9b5faba19880f6/rtems-docs” 98172bc/rtems-docs]:

eng: Use type refinement for validation method

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:31.000Z

Original author: sebastian.huber

In [changeset:”77e8b566b73f54070f6b5aef32c012d2bd6a0ff7/rtems-docs” 77e8b56/rtems-docs]:

eng: Add optional floating-point number type

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:32.000Z

Original author: sebastian.huber

In [changeset:”7158449cc58eef5f85e5749336fc58a734ed9dba/rtems-docs” 7158449/rtems-docs]:

eng: Update application configuration how-to

Change paths to be in line with the actual specification.  Fix group
membership link role.

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:34.000Z

Original author: sebastian.huber

In [changeset:”c69046ef485f3fade9fe6638ed791a937bf90ad2/rtems-docs” c69046e/rtems-docs]:

eng: Remove obsolete type listing

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:35.000Z

Original author: sebastian.huber

In [changeset:”2a5e59d34f80eb1813c75cbad6238c0ac39a3949/rtems-docs” 2a5e59d/rtems-docs]:

eng: Add design target item type

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:36.000Z

Original author: sebastian.huber

In [changeset:”8bc24e5f54eac0084e4b02e44ad218d385f4c67f/rtems-docs” 8bc24e5/rtems-docs]:

eng: Add proxy item type

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:37.000Z

Original author: sebastian.huber

In [changeset:”9a5fb293773963ff9a139a506cae820cdbbb259d/rtems-docs” 9a5fb29/rtems-docs]:

eng: Remove ambiguous interface types

Use an item proxy instead.

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:39.000Z

Original author: sebastian.huber

In [changeset:”63286a5f85fecca514cb7f2f3d13661b92d42f72/rtems-docs” 63286a5/rtems-docs]:

eng: Add an item type for not defined defines

This helps to deduce that a missing define in the software design is
intended.

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:40.000Z

Original author: sebastian.huber

In [changeset:”2fecb7a0251541cbc8fd1871e114c6a9eca4dfd0/rtems-docs” 2fecb7a/rtems-docs]:

eng: Make design group identifiers optional

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:41.000Z

Original author: sebastian.huber

In [changeset:”9c2498a728370d395ce7fc22ce58a79008297b3e/rtems-docs” 9c2498a/rtems-docs]:

eng: Add unspecified header file item type

Update #3715.

Author: Trac Migrate

2023-05-19T05:21:43.000Z

Original author: sebastian.huber

In [changeset:”2e939ff735c99d99a336e8394aba0e21ad893e7a/rtems-docs” 2e939ff/rtems-docs]:

eng: Add register block specification types

A register block may be used to specify the interface of devices which
contain registers associated with an integer address.  Register blocks
consist of register block members specified by the ``definition``
attribute.  Register block members are either instances of registers
specified by the ``registers`` attribute or instances of other register
blocks specified by links with the "register-block-include" link role.
Registers consists of bit fields.  The register block members are placed
into the address space of the device relative to the base address of the
register block.  Register member offests and the register block size are
specified in units of the address space granule.

Update #3715.

Author: Trac Migrate

2023-05-19T05:25:41.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

The initial work for this chapter is now done. The specification of the specification items in rtems-central is in line with the rtems-docs repository. Further work in this area should be done under a new ticket.

Author: Amar Takhar

2024-04-25T20:47:07.865Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:15.912Z

changed the description

Author: Amar Takhar

2024-04-25T20:47:18.564Z

mentioned in issue #3726

3707 - Assign each code file to a Doxygen group

Id

3707

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-02-26T13:28:28.000Z

Updated

2024-04-25T20:47:11.114Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3707

Merges

0

Original author: sebastian.huber

Assign each code file (header, C source, assembler) to a Doxygen group. Exclude the legacy network stack and test suites. For third-party code decide case by case. Use this template and place it at the top of the file:

/**
* @file
*
* @ingroup RTEMSClassicTasks
*/

Do not use @brief and a file description.

Author: Trac Migrate

2019-02-26T13:30:45.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2019-02-28T10:48:03.000Z

Original author: sebastian.huber

In [changeset:”feea03b625fecc507deab8dbaaafc6b19045e3f1/rtems” feea03b6/rtems]:

Remove explicit file names from @file

This makes the @file documentation independent of the actual file name.

Update #3707.

Author: Trac Migrate

2019-03-04T06:55:05.000Z

Original author: sebastian.huber

In [changeset:”9d41fca725ed6df5aab84ab6304e21cf1fa04de0/rtems” 9d41fca/rtems]:

bsp/altera-cyclone-v: Adjust Doxygen file groups

Update #3707.

Author: Trac Migrate

2022-10-24T11:23:06.000Z

Original author: sebastian.huber

In [changeset:”468f21ed4fa7d1742dcba0f94f825448d5dc18d2/rtems” 468f21e/rtems]:

bsps: Add Cache Manager implementation group

Update #3707.

Author: Trac Migrate

2022-11-30T08:53:00.000Z

Original author: sebastian.huber

  • Milestone changed from %”6.1” to %”7.1”

Author: Trac Migrate

2023-02-16T07:11:35.000Z

Original author: sebastian.huber

In [changeset:”bb465c8548aaf3c82c0eefb7b386a2fd0dda09f9/rtems” bb465c8/rtems]:

doxygen: Add Doxygen files to a group

Update #3707.

Author: Trac Migrate

2023-07-21T05:33:09.000Z

Original author: sebastian.huber

In [changeset:”5fb9ebfc9b36cb7af16dcfd75e00bc8e0ffd2b31/rtems” 5fb9ebfc/rtems]:

doxgen: Document build system provided files

Update #3707.

Author: Trac Migrate

2023-07-26T04:56:38.000Z

Original author: sebastian.huber

In [changeset:”f99f5cec85d3074d83f422656fa0745e87ba5f6d/rtems” f99f5ce/rtems]:

libtest: Place files into a Doxygen group

Canonicalize the file headers.

Update #3707.

Author: Trac Migrate

2023-07-26T04:56:40.000Z

Original author: sebastian.huber

In [changeset:”58840ffbb0c04dd19f0f532bf5b6e496159e070b/rtems” 58840ffb/rtems]:

rtems: Add files to Doxygen groups

Provide basic Doxygen comments.

Update #3706.
Update #3707.

Author: Trac Migrate

2023-07-26T04:56:42.000Z

Original author: sebastian.huber

In [changeset:”3e1521eea111a2a8126856c2522bcfdfc0e93b32/rtems” 3e1521ee/rtems]:

bsps/sparc: Add files to Doxygen groups

Update #3707.

Author: Trac Migrate

2023-07-26T04:56:44.000Z

Original author: sebastian.huber

In [changeset:”233c21a232da05a08ce8cfed1984f6e272822c3d/rtems” 233c21a/rtems]:

score: Add files to Doxygen groups

Update #3707.

Author: Trac Migrate

2023-07-26T04:56:46.000Z

Original author: sebastian.huber

In [changeset:”5ba465c03b52e817f9bae45bb27afff3e0438df0/rtems” 5ba465c0/rtems]:

libcsupport: Add file to Doxygen group

Update #3707.

Author: Trac Migrate

2023-07-26T04:56:48.000Z

Original author: sebastian.huber

In [changeset:”d3fe128d67d19fd5bdf77e3d20cb89f0fc9d9b3c/rtems” d3fe128d/rtems]:

posix: Add files to Doxygen group

Canonicalize brief descriptions.

Update #3707.

Author: Trac Migrate

2023-07-26T04:56:50.000Z

Original author: sebastian.huber

In [changeset:”ec1e500f4f149632404d1dddbb5d29de91bfb035/rtems” ec1e500f/rtems]:

timecounter: Add files to Doxygen group

Update #3707.

Author: Trac Migrate

2023-07-26T04:56:52.000Z

Original author: sebastian.huber

In [changeset:”1bc5d3e4817f041b79fe71d8af830c4114fd0d2a/rtems” 1bc5d3e4/rtems]:

sys: Add files to Doxygen group

Canonicalize brief descriptions.

Update #3707.

Author: Trac Migrate

2023-07-26T05:09:40.000Z

Original author: sebastian.huber

  • Milestone changed from %”7.1” to %”6.1”

For RTEMS 6, the group assignment of files is good enough.

Author: Trac Migrate

2023-07-28T14:39:53.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

Author: Trac Migrate

2024-01-15T09:36:58.000Z

Original author: sebastian.huber

In [changeset:”8e8b9bc0b727c9d35b3ac1ef27f90b2f81aefb4c/rtems” 8e8b9bc0/rtems]:

bsp/tms570: Relicense to BSD-2-Clause

Change license to BSD-2-Clause according to file history and contributor
agreements.  Add Doxygen file comments.

Update #3053.
Update #3707.
Update #4982.

Author: Amar Takhar

2024-04-25T20:47:08.009Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:11.165Z

changed the description

3706 - Create a hierarchy of RTEMS software components using Doxygen groups

Id

3706

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-02-26T13:23:37.000Z

Updated

2024-04-25T20:47:10.523Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3706

Merges

0

Original author: sebastian.huber

Create a hierarchy of RTEMS software components using Doxygen groups. Review the existing Doxygen groups (software components) first.

https://docs.rtems.org/doxygen/branches/master/modules.html

Grouping should be done by at BSP level architecture and then by BSP.

There should be a device driver group with subgroups for each device class and specific device drivers, e.g. a BSP-specific device driver belongs to a device class and BSP.

There should be groups for APIs, file systems, support libraries, super core, etc.

  • Board Support Packages

  • Device Drivers

  • Block Devices

  • Block Device Buffer Management

  • Block Device Disk Management

  • Block Device Management

  • XYZ Block Device

  • Block Device Partition Management

  • Cache

  • XYZ Cache Support

  • Console

  • Termios

  • XYZ Driver

  • Framebuffer

  • XYZ Driver

  • I2C

  • Bus Driver

  • XYZ Driver

  • Device Driver

  • XYZ Driver

  • Legacy I2C

  • Legacy Network

  • RTC

  • XYZ Driver

  • Serial Mouse

  • XYZ Driver

  • SPI

  • Bus Driver

  • XYZ Driver

  • Device Driver

  • XYZ Driver

  • API

  • Classic

  • Tasks

  • Dynamic Loading

  • File Systems

  • Memory Management

  • Shell

  • Tracing

  • Event Recording

  • Capture Engine

  • Internal

  • C Library Support

  • POSIX

  • Shell

  • Super Core

  • Thread Handler

  • CPU

  • ARM

Author: Trac Migrate

2019-02-26T13:30:45.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2019-03-04T06:54:58.000Z

Original author: sebastian.huber

In [changeset:”212663bede5c183df679560f90f0ad92f995de9b/rtems” 212663be/rtems]:

bsps: Adjust architecture Doxygen groups

- Use CamelCase as it is not used in our C code.  Enables simple search and
replace.

- Prefix with "RTEMS" to aid deployment and integration.  It aids
searching and sorting.

Update #3706.

Author: Trac Migrate

2019-03-04T06:55:01.000Z

Original author: sebastian.huber

In [changeset:”631ccd7caba4d8de45cf311ba6e597de421f97f7/rtems” 631ccd7/rtems]:

bsp/altera-cyclone-v: Adjust Doxygen groups

Update #3706

Author: Trac Migrate

2019-03-08T07:02:01.000Z

Original author: sebastian.huber

In [changeset:”c991eeeccc21901011ddd9ecc626c4d164fe2041/rtems” c991eeec/rtems]:

bsps: Adjust bsp.h Doxygen groups

Update #3706.

Author: Trac Migrate

2019-03-08T07:02:05.000Z

Original author: sebastian.huber

In [changeset:”828276b0814e519961b30506cad83ebc0065bcbb/rtems” 828276b/rtems]:

bsps: Adjust shared Doxygen groups

Update #3706.

Author: Trac Migrate

2019-03-08T07:02:08.000Z

Original author: sebastian.huber

In [changeset:”15359bb6cb785c01ccbbb3249eaa78164140560b/rtems” 15359bb/rtems]:

bsps/arm: Adjust CMSIS Doxygen groups

Update #3706.

Author: Trac Migrate

2019-03-08T07:02:11.000Z

Original author: sebastian.huber

In [changeset:”f3db383528b99e5ad271aec65bc1d54d229f9af4/rtems” f3db3835/rtems]:

bsp/altera-cyclone-v: Add Doxygen groups

Add Doxygen groups for contributed code which would otherwise end up at
the top level.

Update #3706.

Author: Trac Migrate

2019-03-08T07:02:14.000Z

Original author: sebastian.huber

In [changeset:”cbf773d3100f3cf4ff54a2da215011a21e3808fa/rtems” cbf773d3/rtems]:

bsp/atsam: Add Doxygen groups

Add Doxygen groups for contributed code which would otherwise end up at
the top level (about 178 groups).

Update #3706.

Author: Trac Migrate

2019-03-08T07:02:17.000Z

Original author: sebastian.huber

In [changeset:”529b58687f58d5af32b2cfb871f1fbda1e047468/rtems” 529b5868/rtems]:

bsps: Adjust umon Doxygen groups

Update #3706.

Author: Trac Migrate

2019-03-13T09:15:25.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

Create a hierarchy of RTEMS software components using Doxygen groups. Review the existing Doxygen groups (software components) first.

https://docs.rtems.org/doxygen/branches/master/modules.html

Grouping should be done by at BSP level architecture and then by BSP.

There should be a device driver group with subgroups for each device class and specific device drivers, e.g. a BSP-specific device driver belongs to a device class and BSP.

There should be groups for APIs, file systems, support libraries, super core, etc.
+
+ * Board Support Packages
+ * Device Drivers
+   * Block Devices
+     * Block Device Buffer Management
+     * Block Device Disk Management
+     * Block Device Management
+       * XYZ Block Device
+     * Block Device Partition Management
+   * Cache
+     * XYZ Cache Support
+   * Console
+     * Termios
+       * XYZ Driver
+   * Framebuffer
+     * XYZ Driver
+   * I2C
+     * Bus Driver
+       * XYZ Driver
+     * Device Driver
+       * XYZ Driver
+   * Legacy I2C
+   * Legacy Network
+   * RTC
+       * XYZ Driver
+   * Serial Mouse
+       * XYZ Driver
+   * SPI
+     * Bus Driver
+       * XYZ Driver
+     * Device Driver
+       * XYZ Driver
+ * API
+   * Classic
+     * Tasks
+   * Dynamic Loading
+   * File Systems
+   * Memory Management
+   * Shell
+   * Tracing
+     * Event Recording
+     * Capture Engine
+ * Internal
+   * C Library Support
+   * POSIX
+   * Shell
+   * Super Core
+     * Thread Handler
+     * CPU
+       * ARM

Author: Trac Migrate

2019-03-26T10:28:40.000Z

Original author: sebastian.huber

In [changeset:”40d15f5f2ab6a55b6c9950aa5feda21a3a65e390/rtems” 40d15f5/rtems]:

score: Add implementation top-level group

Update #3706.

Author: Trac Migrate

2019-03-26T10:28:44.000Z

Original author: sebastian.huber

In [changeset:”5526527e5111c0fc5b6daaee63edc21f658410a6/rtems” 5526527e/rtems]:

score: Rename ScoreCPU Doxygen group

Update #3706.

Author: Trac Migrate

2019-03-26T10:28:48.000Z

Original author: sebastian.huber

In [changeset:”5a19915bf1633ddc752567553bd12e208bb82af4/rtems” 5a19915/rtems]:

score: Add example CPU architecture group

Update #3706.

Author: Trac Migrate

2019-03-26T10:28:51.000Z

Original author: sebastian.huber

In [changeset:”abec398940e4117b30e51751752654ca3f8b90d0/rtems” abec398/rtems]:

score: Add ARM CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:31:55.000Z

Original author: sebastian.huber

In [changeset:”eca13a8f926a6ec915e093010e16b395e770f1b0/rtems” eca13a8f/rtems]:

doxygen: score: Add Blackfin CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:31:58.000Z

Original author: sebastian.huber

In [changeset:”40b90a080ef85252d5f57d985d406bc6a8325b9f/rtems” 40b90a08/rtems]:

doxygen: score: Add Epiphany CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:03.000Z

Original author: sebastian.huber

In [changeset:”d670ef99c06c0806d4659a06818287ba0abd7aab/rtems” d670ef9/rtems]:

doxygen: score: Add i386 CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:07.000Z

Original author: sebastian.huber

In [changeset:”9fa3561b2d7fadd104e16196221537c854b2ed11/rtems” 9fa3561b/rtems]:

doxygen: score: Add lm32 CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:11.000Z

Original author: sebastian.huber

In [changeset:”ee38c54685dc5df75a18c1aeaadfa5b6014352fa/rtems” ee38c54/rtems]:

doxygen: score: Change no_cpu architecture group

Groups CPUContext and CPUInterrupt are now defined with a unique name
for this architecture group.
Update #3706.

Author: Trac Migrate

2019-04-02T05:32:15.000Z

Original author: sebastian.huber

In [changeset:”0be1e54a26807b33952c8ca72f123fa583b2f420/rtems” 0be1e54/rtems]:

doxygen: score: Add m68k CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:19.000Z

Original author: sebastian.huber

In [changeset:”f2e282dd4b5884f25bdff2db92e58b302d78245b/rtems” f2e282d/rtems]:

doxygen: score: Add Moxie CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:22.000Z

Original author: sebastian.huber

In [changeset:”92c2db645ef91c40f4af4a6cd5b0f1add57cfd57/rtems” 92c2db64/rtems]:

doxygen: score: Add nios2 CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:26.000Z

Original author: sebastian.huber

In [changeset:”39594416c42c38f757f4195fca61986dc83bb583/rtems” 39594416/rtems]:

doxygen: score: Add or1k CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:29.000Z

Original author: sebastian.huber

In [changeset:”6ddbcbcd51a3de512a2ef9af010d3a0f331c4af1/rtems” 6ddbcbc/rtems]:

doxygen: score: Add powerpc CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:32.000Z

Original author: sebastian.huber

In [changeset:”71f90982dc217815ab873698b1852640b9d66534/rtems” 71f9098/rtems]:

doxygen: score: Add RISC-V CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:35.000Z

Original author: sebastian.huber

In [changeset:”2b37eca5dd136cf6e01a1a3b4f8597b50782738f/rtems” 2b37eca5/rtems]:

doxygen: score: Add SuperH CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:38.000Z

Original author: sebastian.huber

In [changeset:”25afa79a77757752ebee372079103a1025345d18/rtems” 25afa79/rtems]:

doxygen: score: Add SPARC CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:42.000Z

Original author: sebastian.huber

In [changeset:”2a50f875cacefe45ed28c6e44accec61b3c62429/rtems” 2a50f87/rtems]:

doxygen: score: Add SPARC64 CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:45.000Z

Original author: sebastian.huber

In [changeset:”9f8af67ff180ff9c2833989640f0f7f372bbcf0f/rtems” 9f8af67/rtems]:

doxygen: score: Add V850 CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:48.000Z

Original author: sebastian.huber

In [changeset:”95c760301d125e8e134f998e53d79c0b58c624fc/rtems” 95c7603/rtems]:

doxygen: score: Add x86-64 CPU architecture group

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:52.000Z

Original author: sebastian.huber

In [changeset:”69d6671f647ad24c06d89b5215f8ef1ea0f78468/rtems” 69d6671f/rtems]:

doxygen: Reviewed cpukit/include/rtems/score

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:55.000Z

Original author: sebastian.huber

In [changeset:”7a722e75a7013cda2401b409dfdac2553b4902ac/rtems” 7a722e7/rtems]:

doxygen: Reviewed cpukit/include/rtems/rtems

Update #3706.

Author: Trac Migrate

2019-04-02T05:32:59.000Z

Original author: sebastian.huber

In [changeset:”b86148a624177fd2303be2dd2d03c020fda19567/rtems” b86148a/rtems]:

doxygen: Reviewed cpukit/include/rtems/posix

Update #3706.

Author: Trac Migrate

2019-04-02T05:33:02.000Z

Original author: sebastian.huber

In [changeset:”b07c721fc46498fd2a98b11f5574d8258b6dd263/rtems” b07c721/rtems]:

doxygen: Restructured cpukit/include/rtems/rtems

Update #3706.

Author: Trac Migrate

2019-04-02T05:33:05.000Z

Original author: sebastian.huber

In [changeset:”493c1e8a7f600526622fffa4b4aae64121fb30df/rtems” 493c1e8/rtems]:

doxygen: score: Put ARM Co-Processor 15 group in ARM

Update #3706.

Author: Trac Migrate

2019-04-02T05:33:08.000Z

Original author: sebastian.huber

In [changeset:”534226146902db71f4a4c0bd3663977685f0194d/rtems” 5342261/rtems]:

doxygen: Added groups to IO library

Update #3706.

Author: Trac Migrate

2019-04-02T05:33:12.000Z

Original author: sebastian.huber

In [changeset:”058f63739414c066fd21b26f4c7e995d0c49e3b5/rtems” 058f637/rtems]:

doxygen: score: Added ScoreRWLock to Score group

Update #3706.

Author: Trac Migrate

2019-04-04T06:27:42.000Z

Original author: sebastian.huber

In [changeset:”6644867c6b2faaf1a48f5e8162b3c8cf337b9f16/rtems” 6644867/rtems]:

doxygen: User Extensions Implementation group now in Internal->Classic

Update #3706.

Author: Trac Migrate

2019-04-04T06:27:46.000Z

Original author: sebastian.huber

In [changeset:”ff1f374c95803d15ed197f63212645e22a13dbda/rtems” ff1f374/rtems]:

doxygen: Added Mainpage to RTEMSAPIClassic

Update #3706.

Author: Trac Migrate

2019-04-04T06:27:49.000Z

Original author: sebastian.huber

In [changeset:”b7927efc5a02275beffb0205fc514637b39391b1/rtems” b7927ef/rtems]:

doxygen: Added further groups to RTEMSAPI

Update #3706.

Associativity Routines, BSD Compatibility Support now part of
RTEMSAPI

Author: Trac Migrate

2019-04-04T06:27:53.000Z

Original author: sebastian.huber

In [changeset:”0f02e6f639d8615eb3b6e6311b5c83326fb724b8/rtems” 0f02e6f/rtems]:

doxygen: Added toplevel group for device drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:27:56.000Z

Original author: sebastian.huber

In [changeset:”529d251bbadf9f45db2b43f1e1a4e4147b418981/rtems” 529d251b/rtems]:

doxygen: Added libmisc group and libmisc mouse group

Update #3706.

@ingroup for these groups already existed, but no @defgroup

Further restructuring necessary

Author: Trac Migrate

2019-04-04T06:27:59.000Z

Original author: sebastian.huber

In [changeset:”1964b2689ca1165bf4df5afe5c773d8842ad8a4e/rtems” 1964b268/rtems]:

doxygen: Added subgroup Generic to BSP->SPARC64

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:03.000Z

Original author: sebastian.huber

In [changeset:”b2b7b58e45dabea56930c10ba5213105e555c749/rtems” b2b7b58e/rtems]:

doxygen: Added Management to Example CPU Architecture

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:07.000Z

Original author: sebastian.huber

In [changeset:”333bead12e6b5f533e0041d1b54733b9b1b6276b/rtems” 333bead/rtems]:

doxygen: Removed XXX group

Update #3706.

Content was added to Classic Barrier Implementation

Author: Trac Migrate

2019-04-04T06:28:11.000Z

Original author: sebastian.huber

In [changeset:”4b841b30388e74e79118ce4172b5427a051ff408/rtems” 4b841b3/rtems]:

doxygen: Added some subgroups to IO Library

Update #3706.

Types and Mount, IO Internal, Kernel Print Support

Author: Trac Migrate

2019-04-04T06:28:14.000Z

Original author: sebastian.huber

In [changeset:”6b23763eb7caa5d76286c2d1b4a53dc3a1974737/rtems” 6b23763/rtems]:

doxygen: Added Frame Buffer Device Driver Interface to Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:18.000Z

Original author: sebastian.huber

In [changeset:”e78e7fe0dea2627b5485a6de9bee748a73da6510/rtems” e78e7fe0/rtems]:

doxygen: Added Version to API->Classic

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:21.000Z

Original author: sebastian.huber

In [changeset:”7cb1c2b0fd2c59611088a3dc9b18d6c890e4f5ed/rtems” 7cb1c2b0/rtems]:

doxygen: Added I2C Driver to Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:25.000Z

Original author: sebastian.huber

In [changeset:”b6b00917b26410359297536aa852039f4e1c7f7b/rtems” b6b00917/rtems]:

doxygen: Added some subgroups to API and IO

I2C library, Media Manager and Profiling Support

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:29.000Z

Original author: sebastian.huber

In [changeset:”f91da319639ab42ff21dfa990d70513e8cd9780b/rtems” f91da319/rtems]:

doxygen: Put C Library Support and POSIX in Internal

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:32.000Z

Original author: sebastian.huber

In [changeset:”38a3b6160ca86c30c277f9691bccbf356004d5c4/rtems” 38a3b61/rtems]:

doxygen: Put SPI Driver into group Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:36.000Z

Original author: sebastian.huber

In [changeset:”2a56a1cf5f104ccf2abe2d2c6e0ec3273eab8621/rtems” 2a56a1cf/rtems]:

doxygen: Real Time Clock Time of Day API Definition in BSP->Shared

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:39.000Z

Original author: sebastian.huber

In [changeset:”885c9a70667299deff12b135fe1e85f073cfe3cc/rtems” 885c9a70/rtems]:

doxygen: Put Print Support in IO

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:43.000Z

Original author: sebastian.huber

In [changeset:”2bc058dbff2d7c275efe3aa9a9a6b4871e157e5a/rtems” 2bc058d/rtems]:

doxygen: Put Real-Timer Clock Driver Interface into group Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:47.000Z

Original author: sebastian.huber

In [changeset:”b8cff580fa1396f372820adc2c74e9548a637003/rtems” b8cff58/rtems]:

doxygen: Benchmark Timer Driver Interface now in Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:50.000Z

Original author: sebastian.huber

In [changeset:”74bfbc1f5fa54fd9b5003603de297970754d58b4/rtems” 74bfbc1f/rtems]:

doxygen: Time Test 27 now in Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:54.000Z

Original author: sebastian.huber

In [changeset:”bd675f394c5a4d1874ee02c0b8c5eb6353e52256/rtems” bd675f39/rtems]:

doxygen: Mouse now in Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:28:58.000Z

Original author: sebastian.huber

In [changeset:”7e5ed6b78934bc9fe102dd37a11cffa73c7b7c0d/rtems” 7e5ed6b/rtems]:

doxygen: Print Support now in API->IO

Update #3706.

Author: Trac Migrate

2019-04-04T06:29:01.000Z

Original author: sebastian.huber

In [changeset:”7155b5bc294bde4e64f5a152c022db80e4818a2f/rtems” 7155b5bc/rtems]:

doxygen: Zero and Null Device Drivers now in Device Drivers

Update #3706.

Author: Trac Migrate

2019-04-04T06:29:05.000Z

Original author: sebastian.huber

In [changeset:”57a076cd11ad6d31be59cd0b9d309b80fa85d223/rtems” 57a076cd/rtems]:

doxygen: Added subclasses to API

Update #3706.

RTEMS Application Loader, RTEMS Runtime Link Editor, Status Checks
and Test Support

Author: Trac Migrate

2019-04-04T06:29:09.000Z

Original author: sebastian.huber

In [changeset:”51f8d73bdb702c71ac5ac1d01caebb350bd2e9dc/rtems” 51f8d73b/rtems]:

doxygen: Added inttypes.h to Print Support

Update #3706.

Author: Trac Migrate

2019-04-04T06:29:13.000Z

Original author: sebastian.huber

In [changeset:”bbdf93869d9a07fcecc8baa013b6c5dadfc23c9a/rtems” bbdf938/rtems]:

doxygen: Added RTEMS Test Framework to API

Update #3706.

Author: Trac Migrate

2019-04-04T06:29:16.000Z

Original author: sebastian.huber

In [changeset:”c9bd696eb40da5d9891bc57086323d25f1befdea/rtems” c9bd696/rtems]:

doxygen: New API subgroup Tracing

Update #3706.

Author: Trac Migrate

2019-04-04T06:29:20.000Z

Original author: sebastian.huber

In [changeset:”7b0903293b56cb9c7fd3630ba9a2bebdc07da2ea/rtems” 7b09032/rtems]:

doxygen: Split up "libmisc" subgroups and removed libmisc

Update #3706.

Author: Trac Migrate

2019-04-04T07:19:12.000Z

Original author: sebastian.huber

In [changeset:”4c20da4be441c519074df7d488d1e54354dac85b/rtems” 4c20da4/rtems]:

doxygen: Rename Score* groups in RTEMSScore*

Update #3706

Author: Trac Migrate

2019-05-13T05:52:41.000Z

Original author: sebastian.huber

In [changeset:”93dcd2b605296fed2f5b9ce7e07992053e760293/rtems” 93dcd2b/rtems]:

doxygen: score: adjust doc in address.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:52:44.000Z

Original author: sebastian.huber

In [changeset:”76a9857cabf22ec2a93f2dff1d836126fda2e0d4/rtems” 76a9857c/rtems]:

doxygen: score: adjust doc in apimutex.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:52:48.000Z

Original author: sebastian.huber

In [changeset:”3b977b86385b3b0bb56b1c738f2b2ab5d9973aee/rtems” 3b977b86/rtems]:

doxygen: score: adjust doc in basedefs.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:52:52.000Z

Original author: sebastian.huber

In [changeset:”827e2606300daa53e2dfd2c0e3b6c05526d371cf/rtems” 827e260/rtems]:

doxygen: score: adjust doc in chain.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:52:55.000Z

Original author: sebastian.huber

In [changeset:”0153acf254312ce278dfdfbc337eeb61ff7805d9/rtems” 0153acf2/rtems]:

doxygen: score: adjust doc in chainimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:52:58.000Z

Original author: sebastian.huber

In [changeset:”59de8ef40b13cf04021868fd5201bb011e6b1300/rtems” 59de8ef/rtems]:

doxygen: score: adjust doc in context.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:01.000Z

Original author: sebastian.huber

In [changeset:”4bb0f00d3c70fdc55fcf0b1be1b23713bd4a3f6f/rtems” 4bb0f00/rtems]:

doxygen: score: adjust doc in copyrt.h to doxygen guidelines

Also renamed the group SuperCoreCopyright to RTEMSSuperCoreCopyright
Update #3706.

Author: Trac Migrate

2019-05-13T05:53:04.000Z

Original author: sebastian.huber

In [changeset:”37ab9081f5f1477a92f66a4823f14fdb21285770/rtems” 37ab908/rtems]:

doxygen: score: adjust doc in corebarrier.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:08.000Z

Original author: sebastian.huber

In [changeset:”4bd8757626b825baf53ae99388ec1a175fbabffe/rtems” 4bd8757/rtems]:

doxygen: score: adjust doc in coremsg.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:11.000Z

Original author: sebastian.huber

In [changeset:”62128be07b813fe6df67a79b52f8ddeca59b92f8/rtems” 62128be0/rtems]:

doxygen: score: added dox in assert.h according to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:15.000Z

Original author: sebastian.huber

In [changeset:”accbe670a0be2d5324b982ff4cab2d634c99fc76/rtems” accbe67/rtems]:

doxygen: score: adjust doc in corebarrierimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:18.000Z

Original author: sebastian.huber

In [changeset:”0865cd2716777beab1bb7a873de06111b19e1abd/rtems” 0865cd2/rtems]:

doxygen: score: adjust doc in coremsgimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:21.000Z

Original author: sebastian.huber

In [changeset:”d369903b0ec6655a17c7fc445718faf84edffc83/rtems” d369903/rtems]:

doxygen: score: adjust doc in coremutex.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:25.000Z

Original author: sebastian.huber

In [changeset:”86b05bf6e5aed860455f565483343e66fec1f8b0/rtems” 86b05bf6/rtems]:

doxygen: score: adjust doc in coremuteximpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:28.000Z

Original author: sebastian.huber

In [changeset:”d16a90197b58e1ad948608db126df0eb64be11bd/rtems” d16a9019/rtems]:

doxygen: score: adjust doc in corerwlockimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:32.000Z

Original author: sebastian.huber

In [changeset:”eab90bff1dde147be688079ae34f5090583c48ba/rtems” eab90bf/rtems]:

doxygen: score: adjust doc in coresem.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:35.000Z

Original author: sebastian.huber

In [changeset:”d5b63c2b212907a41dbe450f8176e32e2225a321/rtems” d5b63c2/rtems]:

doxygen: score: adjust doc in coresemimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:38.000Z

Original author: sebastian.huber

In [changeset:”54733e66c74e6f26b2b4c80b4f68077ca8248c68/rtems” 54733e6/rtems]:

doxygen: score: adjust doc in cpustdatomic.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:41.000Z

Original author: sebastian.huber

In [changeset:”d69b7a50bb94e415f54c3461f6f81c7c1eba89b9/rtems” d69b7a5/rtems]:

doxygen: score: adjust doc in freechain.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:45.000Z

Original author: sebastian.huber

In [changeset:”cf6ce4afe7b62e84cf34f9eea3a86b0f337097b4/rtems” cf6ce4a/rtems]:

doxygen: score: adjust doc in heap.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:48.000Z

Original author: sebastian.huber

In [changeset:”4c99921a5e1e3b7a3ff6d800990607c5e30a760e/rtems” 4c99921/rtems]:

doxygen: score: adjust doc in heapimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:51.000Z

Original author: sebastian.huber

In [changeset:”0cdcb27c42e8b28128da159be951c947d7a09f8d/rtems” 0cdcb27/rtems]:

Removed entry from Related Pages

SAM V71 Xplained Ultra - Board explanation now in Modules->BSPs->ARM
Update #3706.

Author: Trac Migrate

2019-05-13T05:53:54.000Z

Original author: sebastian.huber

In [changeset:”5ad74fd6d2ee08bc0dd578ed1608f5916b9c9d2c/rtems” 5ad74fd6/rtems]:

doxygen: score: adjust doc in interr.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:53:58.000Z

Original author: sebastian.huber

In [changeset:”24787d086bf9b7ac143fab3fa990c721dbf5b186/rtems” 24787d08/rtems]:

doxygen: score: adjust doc in isr.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:01.000Z

Original author: sebastian.huber

In [changeset:”bb0ccc17f5c79ca8efc636ae906fea237268cc72/rtems” bb0ccc1/rtems]:

doxygen: score: adjust doc in isrlevel.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:04.000Z

Original author: sebastian.huber

In [changeset:”318b70be6596ecb87f47b163e6e937cb26da450f/rtems” 318b70b/rtems]:

doxygen: score: adjust doc in isrlock.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:08.000Z

Original author: sebastian.huber

In [changeset:”976c0950c0827cef4707af257380f55ce36138a9/rtems” 976c095/rtems]:

doxygen: score: adjust doc in mpci.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:11.000Z

Original author: sebastian.huber

In [changeset:”57cd05cf5844a500b1cc79ec0f576d98663d1654/rtems” 57cd05cf/rtems]:

doxygen: score: adjust doc in mpciimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:15.000Z

Original author: sebastian.huber

In [changeset:”3da777eab762471b086b0a58a82d3da8e1565fdc/rtems” 3da777e/rtems]:

doxygen: score: adjust doc in mppkt.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:18.000Z

Original author: sebastian.huber

In [changeset:”b817de6d475018e532fe43e89312e155a433b384/rtems” b817de6d/rtems]:

doxygen: score: adjust doc in mrsp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:22.000Z

Original author: sebastian.huber

In [changeset:”0b1bfab89f37276ff96c2bd75df04ad17c45994f/rtems” 0b1bfab/rtems]:

doxygen: score: adjust doc in mrspimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:25.000Z

Original author: sebastian.huber

In [changeset:”ae8be3f1c2f19030e7e83dcf7d3f3db586fdc128/rtems” ae8be3f/rtems]:

doxygen: score: adjust doc in object.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:28.000Z

Original author: sebastian.huber

In [changeset:”c389f5b713f94c52e4aef2ce3b92480b359ae4db/rtems” c389f5b7/rtems]:

doxygen: score: adjust doc in objectimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:32.000Z

Original author: sebastian.huber

In [changeset:”316894e624e88ef8c85084a4547c12240b6f93e6/rtems” 316894e6/rtems]:

doxygen: score: adjust doc in objectmp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:35.000Z

Original author: sebastian.huber

In [changeset:”0bef82fbecc72f149dcadaf29a71ed13536e7e54/rtems” 0bef82f/rtems]:

doxygen: score: adjust doc in percpudata.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:38.000Z

Original author: sebastian.huber

In [changeset:”96d375109e6ddee1f0c51474765b88cc697569da/rtems” 96d37510/rtems]:

doxygen: score: adjust doc in prioritybitmap.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:42.000Z

Original author: sebastian.huber

In [changeset:”536458a41495896bf65eb93f24cd9609e363fdd6/rtems” 536458a/rtems]:

doxygen: score: adjust doc in prioritybitmapimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:45.000Z

Original author: sebastian.huber

In [changeset:”1d6e6b1feb2735c99d06a66fab5996a7cd38f168/rtems” 1d6e6b1f/rtems]:

doxygen: score: adjust doc in priority.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:48.000Z

Original author: sebastian.huber

In [changeset:”35a07c468246a26d459b2be7d9b6b6d83026e1ac/rtems” 35a07c4/rtems]:

doxygen: score: adjust doc in priorityimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:52.000Z

Original author: sebastian.huber

In [changeset:”acdb99ebaea6a35966a35dbf429d4585ade19030/rtems” acdb99eb/rtems]:

doxygen: score: adjust doc in processormask.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:55.000Z

Original author: sebastian.huber

In [changeset:”ee8eb2181a59022d5460c8b1f4a46c48505ae91e/rtems” ee8eb21/rtems]:

doxygen: score: adjust doc in profiling.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:54:59.000Z

Original author: sebastian.huber

In [changeset:”1e6a7c7aa6cbb9f788dec1a3df695620f438dae0/rtems” 1e6a7c7a/rtems]:

doxygen: score: adjust doc in protectedheap.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:02.000Z

Original author: sebastian.huber

In [changeset:”f61a3f852451c880f1310ec701d0026155b1434f/rtems” f61a3f85/rtems]:

doxygen: score: adjust doc in rbtree.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:05.000Z

Original author: sebastian.huber

In [changeset:”334de12ea98c58e5a5d76fd717a89f810c0a4977/rtems” 334de12/rtems]:

doxygen: score: adjust doc in rbtreeimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:09.000Z

Original author: sebastian.huber

In [changeset:”65f19f09e11a090b66b5f1996c57b900aaa60f5a/rtems” 65f19f0/rtems]:

doxygen: score: adjust doc in schedulercbs.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:12.000Z

Original author: sebastian.huber

In [changeset:”06821fa5b8b3413c19793a43d5e37adf776fa86c/rtems” 06821fa5/rtems]:

doxygen: score: adjust doc in schedulercbsimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:15.000Z

Original author: sebastian.huber

In [changeset:”f66069162cb31d15ce1a4687e66c773605a8cdd2/rtems” f660691/rtems]:

doxygen: score: adjust doc in scheduleredf.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:18.000Z

Original author: sebastian.huber

In [changeset:”6852f7e85f5fbbb4c13328f66b00e583fa9e0eb0/rtems” 6852f7e/rtems]:

doxygen: score: adjust doc in scheduleredfimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:22.000Z

Original author: sebastian.huber

In [changeset:”e2d575c28759b3a05a365c35f46712194a5b5827/rtems” e2d575c2/rtems]:

doxygen: score: adjust doc in scheduler.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:25.000Z

Original author: sebastian.huber

In [changeset:”11e789320864dcd923a6692725df3b1427a62788/rtems” 11e7893/rtems]:

doxygen: score: adjust doc in schedulerimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:29.000Z

Original author: sebastian.huber

In [changeset:”d5548b655dc77469672bc40fa4721c9efed0628a/rtems” d5548b65/rtems]:

doxygen: score: adjust doc in schedulernode.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:32.000Z

Original author: sebastian.huber

In [changeset:”08901bf1823150ca9d63c06e34879eb101c90fe0/rtems” 08901bf/rtems]:

doxygen: score: adjust doc in schedulernodeimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:36.000Z

Original author: sebastian.huber

In [changeset:”263fa5efb5ebcacbc7a79fbb6f0245923c2ff599/rtems” 263fa5ef/rtems]:

doxygen: score: adjust doc in schedulerpriorityaffinitysmp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:39.000Z

Original author: sebastian.huber

In [changeset:”4aed19438e5924ba5da95ef9b83c0cd4c37c7598/rtems” 4aed194/rtems]:

doxygen: score: adjust doc in schedulerpriority.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:43.000Z

Original author: sebastian.huber

In [changeset:”ed6b2e087899d98169801ee9f56b97f7ab541400/rtems” ed6b2e0/rtems]:

doxygen: score: adjust doc in schedulerpriorityimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:46.000Z

Original author: sebastian.huber

In [changeset:”391f92b9eb6723b96b6cfe2c202a63b751146a6e/rtems” 391f92b9/rtems]:

doxygen: score: adjust doc in schedulerprioritysmp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:49.000Z

Original author: sebastian.huber

In [changeset:”776ec05e44cca6c36b854785f8c4b3eb91e0685f/rtems” 776ec05/rtems]:

doxygen: score: adjust doc in schedulersimple.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:53.000Z

Original author: sebastian.huber

In [changeset:”d0839ddd986a39637a4a1efc798fd4663f4042ee/rtems” d0839dd/rtems]:

doxygen: score: adjust doc in scheduleredfsmp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:56.000Z

Original author: sebastian.huber

In [changeset:”f8047f1476a70b312e85efa086165bb1d41ec7c2/rtems” f8047f14/rtems]:

doxygen: score: adjust doc in schedulersimpleimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:55:59.000Z

Original author: sebastian.huber

In [changeset:”1bfdc06f7ee4c9398455f7e4609f6f1cbfb01944/rtems” 1bfdc06/rtems]:

doxygen: score: adjust doc in schedulersimplesmp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:03.000Z

Original author: sebastian.huber

In [changeset:”ceff06f8fb8584bbbd8aa36e52c4133b5d27b495/rtems” ceff06f/rtems]:

doxygen: score: adjust doc in schedulersmp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:06.000Z

Original author: sebastian.huber

In [changeset:”6a1734a3a9b8127679e18306ebdb5373d54d400f/rtems” 6a1734a3/rtems]:

doxygen: score: adjust doc in schedulersmpimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:09.000Z

Original author: sebastian.huber

In [changeset:”ee3351cfadd9b616a0dbc6bc3a6f1c6888788daf/rtems” ee3351c/rtems]:

doxygen: score: adjust doc in schedulerstrongapa.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:13.000Z

Original author: sebastian.huber

In [changeset:”6a9cb56b44c0bf6705ec474695f087ed0b966f8e/rtems” 6a9cb56/rtems]:

doxygen: score: adjust doc in semaphoreimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:16.000Z

Original author: sebastian.huber

In [changeset:”d057bb29734d060ce3b90a34b01ffdf12742a200/rtems” d057bb29/rtems]:

doxygen: score: adjust doc in smpbarrier.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:20.000Z

Original author: sebastian.huber

In [changeset:”79249a55177b51e0799bbc3ff216d3308e2c6545/rtems” 79249a5/rtems]:

doxygen: score: adjust doc in smpimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:24.000Z

Original author: sebastian.huber

In [changeset:”9503db61a4e07d9405bb7827179c0473571848fa/rtems” 9503db6/rtems]:

doxygen: score: adjust doc in smplock.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:28.000Z

Original author: sebastian.huber

In [changeset:”93afceb20c18409b7e0df9cbcceac807527d82e9/rtems” 93afceb/rtems]:

doxygen: score: adjust doc in smplockmcs.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:31.000Z

Original author: sebastian.huber

In [changeset:”2adc5f10ff51dbd2a5a76764ef786d5f54228381/rtems” 2adc5f10/rtems]:

doxygen: score: adjust doc in smplockseq.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:34.000Z

Original author: sebastian.huber

In [changeset:”c624340e4494f83e1e9aa9d7fd706acb20d6e232/rtems” c624340e/rtems]:

doxygen: score: adjust doc in smplockstats.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:38.000Z

Original author: sebastian.huber

In [changeset:”366dbf6a852faaa6ba5d66fa6909a36ec372c0f4/rtems” 366dbf6/rtems]:

doxygen: score: adjust doc in smplockticket.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:41.000Z

Original author: sebastian.huber

In [changeset:”0938899f02f069ba19fa5a8e6e19cf7632050ea6/rtems” 0938899/rtems]:

doxygen: score: adjust doc in stack.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:45.000Z

Original author: sebastian.huber

In [changeset:”0e829b26375ba89f991a2a286504eccf8a235513/rtems” 0e829b26/rtems]:

doxygen: score: adjust doc in stackimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:48.000Z

Original author: sebastian.huber

In [changeset:”fa3b4a21dbb50f448a1cdf8aefe3bf80e189ce16/rtems” fa3b4a2/rtems]:

doxygen: score: adjust doc in stackimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:51.000Z

Original author: sebastian.huber

In [changeset:”5ba93a53c14d1f9d8aca96d7ed494399288a057c/rtems” 5ba93a5/rtems]:

doxygen: score: adjust doc in statesimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:55.000Z

Original author: sebastian.huber

In [changeset:”6af85ee616b8aaf7d6df410436323cfed3b56881/rtems” 6af85ee6/rtems]:

doxygen: score: adjust doc in sysstate.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:56:58.000Z

Original author: sebastian.huber

In [changeset:”7d93c447c303d419be1e22fbd89e961449ea5e22/rtems” 7d93c447/rtems]:

doxygen: score: adjust doc in threaddispatch.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:02.000Z

Original author: sebastian.huber

In [changeset:”5bb6ac955203878ebdf974e0aa987de3732463ce/rtems” 5bb6ac9/rtems]:

doxygen: score: adjust doc in thread.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:05.000Z

Original author: sebastian.huber

In [changeset:”3657cdeb6bbc247f56d8c8193f2344464520e307/rtems” 3657cde/rtems]:

doxygen: score: adjust doc in threadimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:09.000Z

Original author: sebastian.huber

In [changeset:”8f89dc62633c42f2570e86ec16b81ce55227b114/rtems” 8f89dc62/rtems]:

doxygen: score: adjust doc in threadmp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:12.000Z

Original author: sebastian.huber

In [changeset:”f1507fb848c7ea14bfdb231098b4265816bd531c/rtems” f1507fb/rtems]:

doxygen: score: adjust doc in threadq.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:16.000Z

Original author: sebastian.huber

In [changeset:”b6bbe83c81b3c29dbd83e04896ac7dba836b2cd9/rtems” b6bbe83/rtems]:

doxygen: score: adjust doc in threadqimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:19.000Z

Original author: sebastian.huber

In [changeset:”843879d0fc4592793ea4cf044c06664ba56b4e53/rtems” 843879d0/rtems]:

doxygen: score: adjust doc in timecounter.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:22.000Z

Original author: sebastian.huber

In [changeset:”3e980496dccb3a259151c4c33a7a15136c9d4df4/rtems” 3e98049/rtems]:

doxygen: score: adjust doc in timecounterimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:26.000Z

Original author: sebastian.huber

In [changeset:”bded63fc94752420b3f2c3e46370a204d7e5ba9b/rtems” bded63fc/rtems]:

doxygen: score: adjust doc in timespec.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:29.000Z

Original author: sebastian.huber

In [changeset:”1b5ba76d0347cbf2d6011e4ad45612e13c82e489/rtems” 1b5ba76/rtems]:

doxygen: score: adjust doc in timestamp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:32.000Z

Original author: sebastian.huber

In [changeset:”4a693e70bf1c12a0ba573aa9c3530327ddc1fec2/rtems” 4a693e7/rtems]:

doxygen: score: adjust doc in timestampimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:36.000Z

Original author: sebastian.huber

In [changeset:”5c91b54b2fdf36c3927a7e1b08316dd398e03b38/rtems” 5c91b54b/rtems]:

doxygen: score: adjust doc in tls.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:39.000Z

Original author: sebastian.huber

In [changeset:”5791a3c5fcdbc2c85fc17d6a571581c79f69b9e8/rtems” 5791a3c/rtems]:

doxygen: score: adjust doc in todimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:42.000Z

Original author: sebastian.huber

In [changeset:”7d2cc98b9cb1449f609fd67ff3d134dafe876f89/rtems” 7d2cc98/rtems]:

doxygen: score: adjust doc in userextimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:45.000Z

Original author: sebastian.huber

In [changeset:”eb84cc3fe78e411bba20b4202dcc10aeb08e6aeb/rtems” eb84cc3f/rtems]:

doxygen: score: adjust doc in watchdog.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:49.000Z

Original author: sebastian.huber

In [changeset:”c53ec8c4455470579ccb91849e520e33e79554af/rtems” c53ec8c4/rtems]:

doxygen: score: adjust doc in watchdogimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:52.000Z

Original author: sebastian.huber

In [changeset:”904c2312972baa3f2cde060ab63196654b69a063/rtems” 904c2312/rtems]:

doxygen: score: adjust doc in watchdogticks.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:55.000Z

Original author: sebastian.huber

In [changeset:”7b90bb5929c736adaa3273f56e0b4d43c4d3e0ee/rtems” 7b90bb5/rtems]:

doxygen: score: adjust doc in wkspace.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:57:59.000Z

Original author: sebastian.huber

In [changeset:”2463c100ccfb86d2bbc57ca86cccbe9db583a849/rtems” 2463c10/rtems]:

doxygen: score: adjust doc in muteximpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:58:02.000Z

Original author: sebastian.huber

In [changeset:”1bd608b91ef9d042825508bd1628ede79dc268c1/rtems” 1bd608b/rtems]:

doxygen: score: adjust doc in onceimpl.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:58:05.000Z

Original author: sebastian.huber

In [changeset:”3238c162268c2d6d786dd53403d6f196977bf477/rtems” 3238c162/rtems]:

doxygen: score: adjust doc in smp.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2019-05-13T05:58:08.000Z

Original author: sebastian.huber

In [changeset:”f49618df2ac14c12f7352ef758c4849b7f8a70b0/rtems” f49618d/rtems]:

doxygen: score: adjust doc in percpudata.h to doxygen guidelines

Update #3706.

Author: Trac Migrate

2020-12-02T06:46:18.000Z

Original author: sebastian.huber

In [changeset:”e07088d9ba894d8d1fd4dba8b2ff03ccffebba05/rtems” e07088d9/rtems]:

rtems: Canonicalize implementation Doxygen groups

Rename Classic API top-level group from Classic to RTEMSImplClassic.
Use RTEMSImplClassic as a prefix for the subgroups.  Change the group
names to be in line with the API group names.  Use common phrases for
the group brief descriptions.

Update #3706.

Author: Trac Migrate

2020-12-02T06:46:21.000Z

Original author: sebastian.huber

In [changeset:”c81ac0e750776294fce56f6744671e3090b0579a/rtems” c81ac0e/rtems]:

score: Canonicalize Doxygen groups

Adjust group identifier and names to be in line with a common pattern.
Use common phrases for the group brief descriptions.

Update #3706.

Author: Trac Migrate

2020-12-02T06:46:27.000Z

Original author: sebastian.huber

In [changeset:”6b5f22dcbb4a876080a3713233e4d5a23d6383ed/rtems” 6b5f22dc/rtems]:

rtems: Canonicalize Doxygen @file comments

Use common phrases for the file brief descriptions.

Update #3706.

Author: Trac Migrate

2020-12-02T06:46:31.000Z

Original author: sebastian.huber

In [changeset:”9278f3d04f1e26071cb98a5e2940177abc40b6d8/rtems” 9278f3d/rtems]:

score: Canonicalize Doxygen @file comments

Use common phrases for the file brief descriptions.

Update #3706.

Author: Trac Migrate

2020-12-02T06:46:34.000Z

Original author: sebastian.huber

In [changeset:”3db9c820e55aad1e784bf926e551a7de8dae0cdf/rtems” 3db9c820/rtems]:

sapi: Canonicalize @defgroup and @file comments

Adjust group identifier and names to be in line with a common pattern.
Use common phrases for the group and file brief descriptions.

Update #3706.

Author: Trac Migrate

2020-12-02T06:46:37.000Z

Original author: sebastian.huber

In [changeset:”70dbafbf5ed26d0d434d6428d9f3de1be2ee502a/rtems” 70dbafb/rtems]:

config: Canonicalize @defgroup and @file comments

Adjust group identifier and names to be in line with a common pattern.
Use common phrases for the group and file brief descriptions.

Update #3706.

Author: Trac Migrate

2020-12-02T07:13:58.000Z

Original author: sebastian.huber

In [changeset:”226b90b455c7d797b34225db4b3a109e9d684cbb/rtems” 226b90b4/rtems]:

rtems: Fix Doxygen group memberships

Update #3706.

Author: Trac Migrate

2020-12-02T07:15:50.000Z

Original author: sebastian.huber

In [changeset:”5555c0cb98c21f17e68d5d92dbb67cbe72e5c62c/rtems” 5555c0c/rtems]:

rtems: Fix Doxygen group name

Update #3706.

Author: Trac Migrate

2020-12-02T10:35:07.000Z

Original author: sebastian.huber

In [changeset:”1c6062230ffe3ac71357dbe6bdf554f86fd705b5/rtems” 1c60622/rtems]:

score: Fix Doxygen group name

Update #3706.

Author: Trac Migrate

2020-12-02T10:35:11.000Z

Original author: sebastian.huber

In [changeset:”1fa3821ad64d8ab8a16a6fac87c43d99d984ec74/rtems” 1fa3821/rtems]:

score: Fix Doxygen group membership

Update #3706.

Author: Trac Migrate

2020-12-02T12:05:27.000Z

Original author: sebastian.huber

In [changeset:”295b05f9652f6e69ce659f43fe41563cee9b0e6b/rtems” 295b05f9/rtems]:

nfsclient: Rework Doxygen groups

Update #3706.

Author: Trac Migrate

2020-12-02T12:05:30.000Z

Original author: sebastian.huber

In [changeset:”ab8538385b8b2ac6edd70832400f60dbab335a55/rtems” ab85383/rtems]:

nfsclient: Remove from Doxygen output

The libnetworking is excluded from the Doxygen output.  Exclude also the
nfsclient source code, otherwise there are some orphaned Doxygen groups.

Update #3706.

Author: Trac Migrate

2020-12-02T12:19:09.000Z

Original author: sebastian.huber

In [changeset:”3393ff1dcff5a9613b530072fd93d14009df318d/rtems” 3393ff1d/rtems]:

libfs: Fix Doxygen group placement

Update #3706.

Author: Trac Migrate

2020-12-02T12:19:13.000Z

Original author: sebastian.huber

In [changeset:”ef0fe8ee60fbad214569e144a9481d25b922c4d8/rtems” ef0fe8e/rtems]:

dosfs: Fix Doxygen group placement

Update #3706.

Author: Trac Migrate

2021-10-06T06:41:16.000Z

Original author: sebastian.huber

In [changeset:”dba2e690bb9319a29e8eb8dff887a0227bf83248/rtems” dba2e690/rtems]:

rtems: Canonicalize Doxygen in <rtems/seterr.h>

Update #3706.

Author: Trac Migrate

2021-10-06T06:41:20.000Z

Original author: sebastian.huber

In [changeset:”4c0b006fc0ce78e61a9995b3d4b93d1075f040f0/rtems” 4c0b006/rtems]:

rtems: Canonicalize Doxygen in <rtems/counter.h>

Update #3706.

Author: Trac Migrate

2021-10-06T06:41:24.000Z

Original author: sebastian.huber

In [changeset:”a950c1355b9590473d28c5941ce3d9f22b44d149/rtems” a950c135/rtems]:

score: Add Hash Handler to group

Update #3706.

Author: Trac Migrate

2021-10-06T06:41:27.000Z

Original author: sebastian.huber

In [changeset:”5a6f94da45f7731c58c790b54491ad6e56feaee1/rtems” 5a6f94d/rtems]:

rtems: Add ASR implementation to existing group

Update #3706.

Author: Trac Migrate

2021-10-06T06:41:31.000Z

Original author: sebastian.huber

In [changeset:”8b762a88c1ffe130dada57c45b2f1d2845f6dfc1/rtems” 8b762a88/rtems]:

scoe: Move workspace group definition

Define the group in the header file which is used by <rtems/confdefs.h>.

Update #3706.

Author: Trac Migrate

2021-10-06T06:41:36.000Z

Original author: sebastian.huber

In [changeset:”e9063644ae44da36839ea181b5448abd543cf336/rtems” e9063644/rtems]:

posix: Remove "RTEMS" from POSIX API group

Clarify group description.

Update #3706.

Author: Trac Migrate

2022-11-30T08:55:14.000Z

Original author: sebastian.huber

  • Milestone changed from %”6.1” to %”7.1”

Author: Trac Migrate

2023-01-24T10:26:29.000Z

Original author: sebastian.huber

In [changeset:”6136e28bf95c8cadf4892fd3e1333e489aff139a/rtems” 6136e28b/rtems]:

clockdrv: Add clock driver implementation group

Use standard wording in Clock Driver related files.

Update #3706.

Author: Trac Migrate

2023-01-24T10:26:34.000Z

Original author: sebastian.huber

In [changeset:”d36070fec8758a745a0b33f1ffa9f8192fceec51/rtems” d36070f/rtems]:

intr: Add Interrupt Manager implementation group

The shared BSP interrupt controller support code actually implements
parts of the Interrupt Manager.

Update #3706.

Author: Trac Migrate

2023-07-14T10:02:05.000Z

Original author: sebastian.huber

In [changeset:”97f5e1c0cbd74e819aad1bf434dd592d8fdb82ec/rtems” 97f5e1c/rtems]:

bsp/leon3: Fix group memberships

Update #3706.

Author: Trac Migrate

2023-07-26T04:56:40.000Z

Original author: sebastian.huber

In [changeset:”58840ffbb0c04dd19f0f532bf5b6e496159e070b/rtems” 58840ffb/rtems]:

rtems: Add files to Doxygen groups

Provide basic Doxygen comments.

Update #3706.
Update #3707.

Author: Trac Migrate

2023-07-26T05:08:21.000Z

Original author: sebastian.huber

  • Milestone changed from %”7.1” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

For RTEMS 6, the group hierarchy is good enough.

Author: Amar Takhar

2024-04-25T20:47:07.981Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:10.604Z

changed the description

3705 - Software Design Document (SDD) for space profile

Id

3705

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-02-26T13:12:31.000Z

Updated

2024-04-25T20:47:09.974Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3705

Merges

0

Original author: sebastian.huber

A Software Design Document (SDD) is required by ECSS-E-ST-40C specified by Annex F. The plan is to use Doxygen for the software * architecture, and * detailed design.

How should links to from a software component (Doxygen group) to requirements be handled?

Author: Trac Migrate

2019-02-26T13:30:45.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2019-03-01T10:01:45.000Z

Original author: sebastian.huber

In [changeset:”e6dd36ca70afd66f6cafb8f6cecd559bf6a93b42/rtems” e6dd36ca/rtems]:

bsp/gen5200: Remove offending @mainpage

Update #3705.

Author: Trac Migrate

2019-03-04T06:54:54.000Z

Original author: sebastian.huber

In [changeset:”a6e39d4a5928ddcb63f95e9108eefb8b8d79ce56/rtems” a6e39d4a/rtems]:

Update Doxyfile to Doxygen 1.8.15

Generate Doxygen output in doc and ignore this directory in Git.  Add
RTEMS logo.  The Doxygen documentation is now built using the source
tree.  Just invoke "doxygen" in the top-level source directory.

The Doxyfile works also with at least Doxygen 1.8.13 and Doxygen 1.8.14.

Update #3705.

Author: Trac Migrate

2022-11-30T08:52:11.000Z

Original author: sebastian.huber

  • Milestone changed from %”6.1” to %”7.1”

Author: Trac Migrate

2023-10-23T08:55:24.000Z

Original author: sebastian.huber

In [changeset:”b8f1988f15dd489b20301772ecef7df2e927eccb/rtems” b8f1988/rtems]:

doxygen: Replace and move main page

Replace the main page with a high level description of the RTEMS feature
set similar to:

https://docs.rtems.org/branches/master/user/overview/index.html#features

The replaced content can be found in the RTEMS Classic API Guide:

https://docs.rtems.org/branches/master/c-user/overview.html

https://docs.rtems.org/branches/master/c-user/key_concepts.html

Update #3705.

Author: Trac Migrate

2023-10-23T08:57:53.000Z

Original author: sebastian.huber

  • Milestone changed from %”7.1” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

The Doxygen support is now good enough for the pre-qualified feature set of RTEMS.

Author: Amar Takhar

2024-04-25T20:47:07.923Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:10.020Z

changed the description

3704 - Review and update Doxygen recommendations

Id

3704

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-02-26T13:10:56.000Z

Updated

2024-04-25T20:47:09.518Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3704

Merges

0

Original author: sebastian.huber

Review and update the Doxygen recommendations.

Due to the removal of the pre-install build step we can now use Doxygen directly with header files in the source tree. It should be possible to generate documentation for all architectures and BSPs.

All code files (headers, C source, assembler) should have an @file entry belong to at least one Doxygen group (@ingroup).

There are a lot of source file in RTEMS (excluding test code and legacy network stack):

find bsps cpukit -name '*.[chsS]' | grep -v libnetworking | wc
4898    4898  187167

Creating the groups and categorizing all code file is a labour intensive work package. Therefore it should be discussed if the @brief and descriptions for files should be removed. The file content will be covered by groups and individual documentation.

The use of @param should be clarified. It is not clear if the [in], [out] or [in,out] should be used. If they should be used, what they mean exactly.

Author: Trac Migrate

2019-02-26T13:30:45.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2019-04-04T05:22:51.000Z

Original author: sebastian.huber

In [changeset:”fbe8a7ab90165ebfd9f3fab166cefe74e4e6de6d/rtems” fbe8a7a/rtems]:

doxygen: Rework some Doxygen comments

They are intended as examples in the RTEMS Software Engineering manual.

Update #3704.

Author: Trac Migrate

2019-04-04T05:40:37.000Z

Original author: sebastian.huber

In [changeset:”1d48fb5a0035362ee462172696043691a700a0cc/rtems-docs” 1d48fb5/rtems-docs]:

bsp-howto: Move BSP Doxygen recommendations

Update #3704.

Author: Trac Migrate

2019-04-05T05:47:11.000Z

Original author: sebastian.huber

In [changeset:”8a8b95aa1d6932ba9d2acd7a785100f7d0919205/rtems” 8a8b95aa/rtems]:

doxygen: Update _Objects_Build_name()

This is intended as an example in the RTEMS Software Engineering manual.

Update #3704.

Author: Trac Migrate

2019-04-05T07:40:39.000Z

Original author: sebastian.huber

In [changeset:”ef1911298e3cfe5998bbc9fba243658ae36f471b/rtems-docs” ef19112/rtems-docs]:

eng: Rework Doxygen guidelines

Update #3704.

Author: Trac Migrate

2022-11-30T08:51:58.000Z

Original author: sebastian.huber

  • Milestone changed from %”6.1” to %”7.1”

Author: Trac Migrate

2023-07-26T05:05:47.000Z

Original author: sebastian.huber

  • Milestone changed from %”7.1” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

For RTEMS 6, the guidelines in https://docs.rtems.org/branches/master/eng/coding-doxygen.html are good enough.

Author: Amar Takhar

2024-04-25T20:47:07.952Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:09.570Z

changed the description

3702 - Space profile for RTEMS SMP

Id

3702

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-02-26T10:33:00.000Z

Updated

2024-04-25T20:47:08.535Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3702

Merges

0

Original author: sebastian.huber

Define a subset of RTEMS SMP functionality which is

  • useful for space applications, and

  • can be pre-qualified by project #3701.

To figure out the feature set carry out an online survey. In addition, do a workshop at ESA / ESTEC premises (also accessible on-line via Skype for Business).

The space profile needs to be documented.

Author: Trac Migrate

2019-02-26T13:30:45.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2021-11-19T14:44:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

The Technical Note: Space Profile is finalized:

https://ftp.rtems.org/pub/rtems/people/sebh/tn-space-profile-r6-23062019.pdf

Please note that the pre-qualified feature set of RTEMS is a proper superset of the space profile.

Author: Joel Sherrill

2021-11-19T14:56:54.000Z

Original author: sebastian.huber

Would it be possible to generate a document similar to the one you linked to which documents that superset? Asked another way, how could someone approaching RTEMS.org know the subset of RTEMS which has the supporting artifacts for pre-qualification?

Author: Trac Migrate

2021-11-19T15:00:19.000Z

Original author: sebastian.huber

Yes, this is possible, but I think this belongs to another ticket. I am currently busy with integrating all my work in progress.

Author: Trac Migrate

2021-12-02T11:10:16.000Z

Original author: sebastian.huber

Just for reference, a list of pre-qualified interfaces can be obtained via the ./specview.py --filter=api.

  • rtems_configuration_get_idle_task

  • rtems_configuration_get_idle_task_stack_size

  • rtems_configuration_get_interrupt_stack_size

  • rtems_configuration_get_maximum_barriers

  • rtems_configuration_get_maximum_extensions

  • rtems_configuration_get_maximum_message_queues

  • rtems_configuration_get_maximum_partitions

  • rtems_configuration_get_maximum_periods

  • rtems_configuration_get_maximum_processors

  • rtems_configuration_get_maximum_semaphores

  • rtems_configuration_get_maximum_tasks

  • rtems_configuration_get_maximum_timers

  • rtems_configuration_get_microseconds_per_tick

  • rtems_configuration_get_milliseconds_per_tick

  • rtems_configuration_get_nanoseconds_per_tick

  • rtems_configuration_get_stack_allocate_for_idle_hook

  • rtems_configuration_get_stack_allocate_hook

  • rtems_configuration_get_stack_allocator_avoids_work_space

  • rtems_configuration_get_stack_free_hook

  • rtems_configuration_get_ticks_per_timeslice

  • rtems_barrier_create

  • rtems_barrier_delete

  • rtems_barrier_ident

  • rtems_barrier_release

  • rtems_barrier_wait

  • RTEMS_ALIAS

  • RTEMS_ALIGNED

  • RTEMS_ALIGNOF

  • RTEMS_ALIGN_DOWN

  • RTEMS_ALIGN_UP

  • RTEMS_ALLOC_ALIGN

  • RTEMS_ALLOC_SIZE

  • RTEMS_ALLOC_SIZE_2

  • RTEMS_ARRAY_SIZE

  • RTEMS_COMPILER_MEMORY_BARRIER

  • RTEMS_CONCAT

  • RTEMS_CONTAINER_OF

  • RTEMS_DECLARE_GLOBAL_SYMBOL

  • RTEMS_DECONST

  • RTEMS_DEFINE_GLOBAL_SYMBOL

  • RTEMS_DEQUALIFY

  • RTEMS_DEQUALIFY_DEPTHX

  • RTEMS_DEVOLATILE

  • RTEMS_EXPAND

  • RTEMS_HAVE_MEMBER_SAME_TYPE

  • RTEMS_OBFUSCATE_VARIABLE

  • RTEMS_PREDICT_FALSE

  • RTEMS_PREDICT_TRUE

  • RTEMS_PRINTFLIKE

  • RTEMS_RETURN_ADDRESS

  • RTEMS_SECTION

  • RTEMS_STATIC_ASSERT

  • RTEMS_STRING

  • RTEMS_SYMBOL_NAME

  • RTEMS_TYPEOF_REFX

  • RTEMS_UNREACHABLE

  • RTEMS_WEAK_ALIAS

  • RTEMS_XCONCAT

  • RTEMS_XSTRING

  • clock_nanosleep

  • flsl

  • memcpy

  • memset

  • posix_memalign

  • rtems_cpu_usage_reset

  • rtems_cache_disable_data

  • rtems_cache_disable_instruction

  • rtems_cache_enable_data

  • rtems_cache_enable_instruction

  • rtems_cache_flush_entire_data

  • rtems_cache_flush_multiple_data_lines

  • rtems_cache_get_data_cache_size

  • rtems_cache_get_data_line_size

  • rtems_cache_get_instruction_cache_size

  • rtems_cache_get_instruction_line_size

  • rtems_cache_get_maximal_line_size

  • rtems_cache_instruction_sync_after_code_change

  • rtems_cache_invalidate_entire_data

  • rtems_cache_invalidate_entire_instruction

  • rtems_cache_invalidate_multiple_data_lines

  • rtems_cache_invalidate_multiple_instruction_lines

  • CONFIGURE_MAXIMUM_BARRIERS

  • CONFIGURE_MAXIMUM_MESSAGE_QUEUES

  • CONFIGURE_MAXIMUM_PARTITIONS

  • CONFIGURE_MAXIMUM_PERIODS

  • CONFIGURE_MAXIMUM_SEMAPHORES

  • CONFIGURE_MAXIMUM_TASKS

  • CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE

  • CONFIGURE_MAXIMUM_TIMERS

  • CONFIGURE_MAXIMUM_USER_EXTENSIONS

  • CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE

  • CONFIGURE_INIT_TASK_ARGUMENTS

  • CONFIGURE_INIT_TASK_ATTRIBUTES

  • CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE

  • CONFIGURE_INIT_TASK_ENTRY_POINT

  • CONFIGURE_INIT_TASK_INITIAL_MODES

  • CONFIGURE_INIT_TASK_NAME

  • CONFIGURE_INIT_TASK_PRIORITY

  • CONFIGURE_RTEMS_INIT_TASKS_TABLE

  • rtems_clock_get_boot_time

  • rtems_clock_get_boot_time_bintime

  • rtems_clock_get_boot_time_timeval

  • rtems_clock_get_monotonic

  • rtems_clock_get_monotonic_bintime

  • rtems_clock_get_monotonic_coarse

  • rtems_clock_get_monotonic_coarse_bintime

  • rtems_clock_get_monotonic_coarse_timeval

  • rtems_clock_get_monotonic_sbintime

  • rtems_clock_get_monotonic_timeval

  • rtems_clock_get_realtime

  • rtems_clock_get_realtime_bintime

  • rtems_clock_get_realtime_coarse

  • rtems_clock_get_realtime_coarse_bintime

  • rtems_clock_get_realtime_coarse_timeval

  • rtems_clock_get_realtime_timeval

  • rtems_clock_get_ticks_per_second

  • rtems_clock_get_ticks_since_boot

  • rtems_clock_get_tod

  • rtems_clock_get_uptime

  • rtems_clock_set

  • CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER

  • CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER

  • rtems_are_statuses_equal

  • rtems_is_status_successful

  • rtems_status_text

  • rtems_calloc

  • rtems_malloc

  • rtems_event_receive

  • rtems_event_send

  • rtems_fatal

  • CONFIGURE_APPLICATION_DISABLE_FILESYSTEM

  • CONFIGURE_MAXIMUM_PRIORITY

  • CONFIGURE_SCHEDULER_ASSIGNMENTS

  • CONFIGURE_SCHEDULER_EDF_SMP

  • CONFIGURE_SCHEDULER_NAME

  • CONFIGURE_SCHEDULER_PRIORITY

  • CONFIGURE_DISABLE_BSP_SETTINGS

  • CONFIGURE_DISABLE_NEWLIB_REENTRANCY

  • CONFIGURE_INITIAL_EXTENSIONS

  • CONFIGURE_INTERRUPT_STACK_SIZE

  • CONFIGURE_MAXIMUM_FILE_DESCRIPTORS

  • CONFIGURE_MAXIMUM_PROCESSORS

  • CONFIGURE_MICROSECONDS_PER_TICK

  • CONFIGURE_MINIMUM_TASK_STACK_SIZE

  • CONFIGURE_TICKS_PER_TIMESLICE

  • CONFIGURE_IDLE_TASK_BODY

  • CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION

  • CONFIGURE_IDLE_TASK_STACK_SIZE

  • RTEMS_INTERRUPT_ENTRY_INITIALIZER

  • RTEMS_INTERRUPT_LOCK_DECLARE

  • RTEMS_INTERRUPT_LOCK_DEFINE

  • RTEMS_INTERRUPT_LOCK_INITIALIZER

  • RTEMS_INTERRUPT_LOCK_MEMBER

  • RTEMS_INTERRUPT_LOCK_REFERENCE

  • rtems_interrupt_clear

  • rtems_interrupt_entry_initialize

  • rtems_interrupt_entry_install

  • rtems_interrupt_entry_remove

  • rtems_interrupt_get_affinity

  • rtems_interrupt_get_attributes

  • rtems_interrupt_handler_iterate

  • rtems_interrupt_is_pending

  • rtems_interrupt_local_disable

  • rtems_interrupt_local_enable

  • rtems_interrupt_lock_acquire

  • rtems_interrupt_lock_acquire_isr

  • rtems_interrupt_lock_destroy

  • rtems_interrupt_lock_initialize

  • rtems_interrupt_lock_interrupt_disable

  • rtems_interrupt_lock_release

  • rtems_interrupt_lock_release_isr

  • rtems_interrupt_raise

  • rtems_interrupt_raise_on

  • rtems_interrupt_set_affinity

  • rtems_interrupt_vector_disable

  • rtems_interrupt_vector_enable

  • rtems_interrupt_vector_is_enabled

  • getchark

  • rtems_put_char

  • rtems_putc

  • RTEMS_MESSAGE_QUEUE_BUFFER

  • rtems_message_queue_broadcast

  • rtems_message_queue_construct

  • rtems_message_queue_delete

  • rtems_message_queue_flush

  • rtems_message_queue_get_number_pending

  • rtems_message_queue_ident

  • rtems_message_queue_receive

  • rtems_message_queue_send

  • rtems_message_queue_urgent

  • _Futex_Wait

  • _Futex_Wake

  • _Mutex_Acquire

  • _Mutex_Acquire_timed

  • _Mutex_Release

  • _Mutex_Try_acquire

  • _Mutex_recursive_Acquire

  • _Mutex_recursive_Acquire_timed

  • _Mutex_recursive_Release

  • _Mutex_recursive_Try_acquire

  • rtems_build_name

  • rtems_object_get_local_node

  • rtems_partition_create

  • rtems_partition_delete

  • rtems_partition_get_buffer

  • rtems_partition_ident

  • rtems_partition_return_buffer

  • rtems_rate_monotonic_cancel

  • rtems_rate_monotonic_create

  • rtems_rate_monotonic_delete

  • rtems_rate_monotonic_get_status

  • rtems_rate_monotonic_ident

  • rtems_rate_monotonic_period

  • rtems_scheduler_add_processor

  • rtems_scheduler_get_maximum_priority

  • rtems_scheduler_get_processor

  • rtems_scheduler_get_processor_maximum

  • rtems_scheduler_get_processor_set

  • rtems_scheduler_ident

  • rtems_scheduler_ident_by_processor

  • rtems_scheduler_ident_by_processor_set

  • rtems_scheduler_remove_processor

  • rtems_semaphore_create

  • rtems_semaphore_delete

  • rtems_semaphore_flush

  • rtems_semaphore_ident

  • rtems_semaphore_obtain

  • rtems_semaphore_release

  • rtems_semaphore_set_priority

  • rtems_signal_catch

  • rtems_signal_send

  • rtems_is_name_valid

  • rtems_name_to_characters

  • RTEMS_TASK_STORAGE_SIZE

  • rtems_task_construct

  • rtems_task_create

  • rtems_task_delete

  • rtems_task_exit

  • rtems_task_get_affinity

  • rtems_task_get_priority

  • rtems_task_get_scheduler

  • rtems_task_ident

  • rtems_task_is_suspended

  • rtems_task_iterate

  • rtems_task_mode

  • rtems_task_restart

  • rtems_task_resume

  • rtems_task_self

  • rtems_task_set_affinity

  • rtems_task_set_priority

  • rtems_task_set_scheduler

  • rtems_task_start

  • rtems_task_suspend

  • rtems_task_wake_after

  • rtems_task_wake_when

  • RTEMS_INTERRUPT_LEVEL

  • CONFIGURE_TASK_STACK_ALLOCATOR

  • CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE

  • CONFIGURE_TASK_STACK_ALLOCATOR_FOR_IDLE

  • CONFIGURE_TASK_STACK_DEALLOCATOR

  • rtems_timer_cancel

  • rtems_timer_create

  • rtems_timer_delete

  • rtems_timer_fire_after

  • rtems_timer_fire_when

  • rtems_timer_ident

  • rtems_timer_initiate_server

  • rtems_timer_reset

  • rtems_timer_server_fire_after

  • rtems_timer_server_fire_when

  • rtems_extension_create

  • rtems_extension_delete

  • rtems_extension_ident

Author: Joel Sherrill

2021-12-02T22:15:47.000Z

Original author: sebastian.huber

I’m sure that list is right but wasn’t there a small set of POSIX APIs which were candidates? I looked for pthread_once() which I expected but isn’t there. Was thinking of the pthread APIs which were always on before the POSIX configuration was reworked – once and keys.

Author: Trac Migrate

2021-12-03T05:54:40.000Z

Original author: sebastian.huber

We considered to add POSIX keys and once, but we had no time left over to do this.

Author: Amar Takhar

2024-04-25T20:47:07.807Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:08.587Z

changed the description

3199 - New test framework

Id

3199

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2017-10-19T10:12:46.000Z

Updated

2024-04-25T20:47:08.171Z

Milestone

6.1

Labels

library, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3199

Merges

0

Original author: sebastian.huber

Requirements:

  • Support for RTEMS and general POSIX systems such as Linux or FreeBSD

  • Test output functions

  • printf() like

  • No floating point support by default

  • Optional floating point support

  • Non-blocking

  • Arbitrary context, e.g. during system start, before device drivers, in interrupt context

  • Automatic test case registrations (constructors, linker set)

  • Standard test case output, e.g. begin/end of test case message

  • Ability to sort test cases at run-time

  • Safe assert functions, e.g. assert(a == b) vs. assert(a = b) vs. assert_eq(a, b)

  • Easy to write, e.g. avoid long namespace prefix rtems_test_*

  • Support multiple threads

  • No dependency on C++

  • Context validation, context invariant validation (e.g. thread dispatch disable level, interrupt state, heap state)

  • Test pattern support (e.g. spintercritical*, parallel tests on SMP)

No ready to use framework exists which fulfils these requirements. We have to write something for RTEMS.

API proposal (header file <T.h>):

T_eq(a, b)
T_gt(a, b)
T_printf(fmt, ...)
T_output_printf(putchar, fmt, ...)
T_output_string(putchar, s, n)
T_output_add_format_handler(handler, arg)

Example for T_output_add_format():

#include <stdio.h>
#include <string.h>

typedef void (*T_putchar)(char c);

typedef size_t (*T_format_handler)(void *arg, T_putchar putchar, const char *fmt, const char *s, int *out);

int T_printf(const char *fmt, ...);

void T_output_printf(T_putchar putchar, const char *fmt, ...);

void T_output_string(T_putchar putchar, const char *s, size_t n);

void T_output_add_format_handler(T_format_handler handler, void *arg);

size_t T_output_float_handler(void *arg, T_putchar putchar, const char *fmt, const char *s, int *out)
{
char buf[32];

if (strncmp(fmt, "%f", 2) != 0) {
return 0;
}

*out = snprintf(buf, sizeof(buf), "%f", s);

if (*out > 0) {
T_output_string(putchar, s, (size_t) *out);
}

return 2;
}

void f(void)
{
T_output_add_format_handler(T_output_float_handler, NULL);
}

Author: Chris Johns

2017-10-19T20:44:08.000Z

Original author: sebastian.huber

Have you seen TAP?

http://testanything.org/ http://testanything.org/tap-version-13-specification.html https://github.com/TestAnything/test-anything-protocol/blob/master/output/draft-vaidya-test-anything-protocol-00.txt

I suggest we look at something that exists and see if it fits.

Author: Trac Migrate

2017-10-28T12:08:04.000Z

Original author: sebastian.huber

In [changeset:”f703e7f5c7082e267558fe2079140869daec8dfd/rtems” f703e7f/rtems]:

tests: Move rtems_test_printer definition

Statically initialize it to use printk().

Update #3170.
Update #3199.

Author: Trac Migrate

2017-10-28T12:08:16.000Z

Original author: sebastian.huber

In [changeset:”7bec7f2715f0f3495f59513e61c319fe65a3fd40/rtems” 7bec7f27/rtems]:

rtems: Add rtems_print_printer_fprintf_putc()

Update #3170.
Update #3199.

Author: Trac Migrate

2017-10-28T12:08:27.000Z

Original author: sebastian.huber

In [changeset:”73d892d8a8da4fd35a2cad9b52405c6da0c8cb8f/rtems” 73d892d8/rtems]:

tests: Use rtems_test_printer

Update #3170.
Update #3199.

Author: Trac Migrate

2017-10-28T12:08:39.000Z

Original author: sebastian.huber

In [changeset:”46ddc3c5daa97cd5d96f5c495e98d2854dbfa8d6/rtems” 46ddc3c5/rtems]:

tests: Use rtems_print_printer_fprintf_putc()

Use rtems_print_printer_fprintf_putc() instead of
rtems_print_printer_printf() to output via rtems_putc().

Update #3170.
Update #3199.

Author: Trac Migrate

2017-10-28T12:08:51.000Z

Original author: sebastian.huber

In [changeset:”7e1029158ed6f11e36341a57fed07fa3014068da/rtems” 7e10291/rtems]:

tests: Use rtems_test_printer in general

Update #3170.
Update #3199.

Author: Trac Migrate

2017-10-28T12:09:02.000Z

Original author: sebastian.huber

In [changeset:”acc9d064682f79ffb77e0f1c0d1cace29f087672/rtems” acc9d064/rtems]:

tests: Remove obsolete TESTS_USE_PRINTK

Update #3170.
Update #3199.

Author: Trac Migrate

2017-10-28T12:09:15.000Z

Original author: sebastian.huber

In [changeset:”af4355459ee843fb984aafe22a7531e922ee753e/rtems” af43554/rtems]:

tests: Remove TEST_INIT

The TEST_EXTERN is a used only by the system.h style tests and they use
CONFIGURE_INIT appropriately.

Update #3170.
Update #3199.

Author: Trac Migrate

2017-10-30T05:31:17.000Z

Original author: sebastian.huber

In [changeset:”2126438a07a7763d986c7bf7fed06eea2df6cf1a/rtems” 2126438a/rtems]:

testsuite: Add bspIo for a local printk.

Update #3170.
Update #3199.

Author: Trac Migrate

2017-11-02T13:25:12.000Z

Original author: sebastian.huber

In [changeset:”0d796d6dc76c29a543411df2c8d1408999870023/rtems” 0d796d6/rtems]:

tests: Delete obsolete TESTS_USE_PRINTF

Update #3170.
Update #3199.

Author: Trac Migrate

2017-11-02T13:26:51.000Z

Original author: sebastian.huber

In [changeset:”8c1f4064ad668c6bab0fb106386e9e2d33d06d31/rtems” 8c1f4064/rtems]:

tests: Use printf() instead of fprintf()

Update #3170.
Update #3199.

Author: Trac Migrate

2017-11-06T06:29:13.000Z

Original author: sebastian.huber

In [changeset:”10827984c2cf54188a9af71b94a7e83197812bb5/rtems” 1082798/rtems]:

score: Add _IO_Printf() and _IO_Vprintf()

The previous vprintk() implementation had a questionable licence header,
lacks support for the 'z' and 'j' format specifiers, is not robust
against invalid format specifiers, uses a global variable for output.
Replace it with a stripped down version of the FreeBSD kernel kvprintf()
function.

The new implementation allows a low overhead rtems_snprintf() if
necessary.

Update #3199.
Close #3216.

Author: Trac Migrate

2017-11-06T06:29:25.000Z

Original author: sebastian.huber

In [changeset:”ac28f1588d4cfd315ec59d485df432c79d13cd46/rtems” ac28f15/rtems]:

Add simple console driver

Update #3170.
Update #3199.

Author: Trac Migrate

2017-11-06T06:29:41.000Z

Original author: sebastian.huber

In [changeset:”c4b8b147ddfc945810b60a2410efd8acc280ba3c/rtems” c4b8b147/rtems]:

tests: Use simple console driver

Update #3170.
Update #3199.

Author: Trac Migrate

2017-11-07T06:09:15.000Z

Original author: sebastian.huber

In [changeset:”7b00c2fac57740963d3c4d8bf1cf5eab3a31f22e/rtems” 7b00c2fa/rtems]:

tests: Use <tmacros.h> in all tests

Update #3170.
Update #3199.

Author: Trac Migrate

2017-11-07T07:32:57.000Z

Original author: sebastian.huber

In [changeset:”32ceb38513091f2f0c68f2db369384030262eb1f/rtems” 32ceb38/rtems]:

tests: Use <tmacros.h>

Update #3170.
Update #3199.

Author: Trac Migrate

2017-11-10T02:42:58.000Z

Original author: sebastian.huber

In [changeset:”6f3fb8a547f5700416744a7dc82b3cb83177c7a8/rtems” 6f3fb8a/rtems]:

cpukit: Add a Version API.

Provide functions to get the version string, major, minor and revision
numbers and the version control identifer that is a unique tag for
the version control system.

Update #3199.

Author: Trac Migrate

2017-11-11T05:24:06.000Z

Original author: sebastian.huber

In [changeset:”e6df806a3f46b5488e5e383add9cda43e0059dbe/rtems” e6df806/rtems]:

tests: Use ld to map (wrap) printf, puts and putchar to tester functions.

- Remove the macro defines and the need for tmacro.h by remapping the
symbols using ld's wrap option.
- Remove FLUSH_OUTPUT, it was empty.
- Move rtems_test_exit to libmisc/testsupport as a function.

Update #3199.

Author: Trac Migrate

2017-11-15T07:10:55.000Z

Original author: sebastian.huber

In [changeset:”62119d21da8c7893cecbbf57c1478dcbabb63370/rtems” 62119d2/rtems]:

dl01, dl02, dl05: Fix unresolved printf symbol

The link time wrap of printf leads to unresolved symbols in the loadable
modules.  This resulted in infinite loops and test timeouts.  Use
rtems_printf() for output.

Update #3199.

Author: Trac Migrate

2017-11-17T05:55:31.000Z

Original author: sebastian.huber

In [changeset:”727cf4828996d198f9beb6d98a2f5e6bb2023792/rtems” 727cf48/rtems]:

sptests/spversion01: Simplify configuration

Update #3199.

Author: Trac Migrate

2018-02-05T09:48:37.000Z

Original author: sebastian.huber

In [changeset:”d078405b9a8e1a83db721c3d0be781562ff4896f/rtems-docs” d078405/rtems-docs]:

CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER

Close #3170.
Update #3199.

Author: Trac Migrate

2018-11-23T10:26:10.000Z

Original author: sebastian.huber

The T Test Framework

Author: Trac Migrate

2018-12-06T14:47:59.000Z

Original author: sebastian.huber

Draft v4

Author: Trac Migrate

2019-03-04T13:03:31.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2019-03-27T06:29:28.000Z

Original author: sebastian.huber

In [changeset:”6fe01e4b3d52b47c916bc4989e042255ff38e2ca/rtems” 6fe01e4b/rtems]:

build: Move test support to librtemstest.a

One reason to move the test support into a dedicated library are the
standard output __wrap_*() functions.  They may conflict with
application level wrappers.

Update #3199.

Author: Trac Migrate

2019-03-27T06:29:32.000Z

Original author: sebastian.huber

In [changeset:”cfcc2cbf7aa4e6aeb6dca83d57cf2dae610d4d65/rtems” cfcc2cbf/rtems]:

Add RTEMS Test Framework

Update #3199.

Author: Trac Migrate

2019-03-27T06:29:37.000Z

Original author: sebastian.huber

In [changeset:”cbfc3415607a6943823e8fc47c38408dcc7dbd90/rtems” cbfc3415/rtems]:

ttest01: New test

This is an example test using the RTEMS Test Framework.  It tests also
the framework itself.

Add T_FILE_NAME command line define to get rid of the full file path.
This is important to reduce the read-only data of test files and make
them build system independent.

Update #3199.

Author: Trac Migrate

2019-03-27T06:34:23.000Z

Original author: sebastian.huber

In [changeset:”c2e582db3209318444c00116a82c7cb95c0d4efd/rtems-docs” c2e582d/rtems-docs]:

eng: Add software test framework chapter

Update #3199.

Author: Trac Migrate

2019-10-11T09:02:08.000Z

Original author: sebastian.huber

In [changeset:”f88025aebe7167d2da7a0137d8149205b66f00eb/rtems” f88025a/rtems]:

ttest01: Adjust SPDX-License-Identifier

Update #3199.

Author: Trac Migrate

2019-10-11T09:02:13.000Z

Original author: sebastian.huber

In [changeset:”b406d071ec043529407f5ce4cb0fe7d71d805cc1/rtems” b406d071/rtems]:

libtest: Do all output in test runner

This ensures that lines are output atomically if they are produced by
different other contexts, e.g. interrupts, other processors, other
threads.

Update #3199.

Author: Trac Migrate

2019-10-11T09:02:18.000Z

Original author: sebastian.huber

In [changeset:”feb27f903104c1261fc2b824bfca4ae6acc6359c/rtems” feb27f9/rtems]:

ttest01: Add more test cases

Update #3199.

Author: Trac Migrate

2019-10-11T09:02:26.000Z

Original author: sebastian.huber

In [changeset:”b5e61f95ac5cf688775d4aaa41ce839aa9c674d1/rtems” b5e61f95/rtems]:

libtest: Add more action events

This allows more control over the initialization and finalization run.

Update #3199.

Author: Trac Migrate

2019-10-11T09:02:32.000Z

Original author: sebastian.huber

In [changeset:”e71f0a535829cb0933857025bb9226d56f0f3b70/rtems” e71f0a5/rtems]:

ttest01: Check init/final run output

Update #3199.

Author: Trac Migrate

2020-02-10T08:03:35.000Z

Original author: sebastian.huber

In [changeset:”45a0f65798a4cbd260b2e428d5c5077dd6f7f417/rtems-docs” 45a0f65/rtems-docs]:

eng: Document test framework formatted output

Update #3199.

Author: Trac Migrate

2020-02-10T08:03:37.000Z

Original author: sebastian.huber

In [changeset:”b6c61e38abe52f3655ec307323394abc6f05ff36/rtems-docs” b6c61e3/rtems-docs]:

eng: Mention test framework buffer configuration

Update #3199.

Author: Trac Migrate

2020-02-10T12:49:18.000Z

Original author: sebastian.huber

In [changeset:”76b3aead1b09673271f7f0afd0114f3590bf2dea/rtems-docs” 76b3aea/rtems-docs]:

eng: Grammar fix

Update #3199.

Author: Trac Migrate

2020-07-17T09:23:51.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

Author: Trac Migrate

2020-07-23T08:06:12.000Z

Original author: sebastian.huber

In [changeset:”21fa28c7ad81d59752b7c546a5c753c887c2eae6/rtems-docs” 21fa28c/rtems-docs]:

eng: Update test framework chapter

Document the dynamic text fixtures, utility functions, and the interrupt
test support.  Reorder some sections and reword some paragraphs based on
review comments.

Update #3199.

Author: Trac Migrate

2020-07-23T08:57:50.000Z

Original author: sebastian.huber

In [changeset:”9de8d61a9a4a7eda2bef620c8dde1b659850dce9/rtems” 9de8d61/rtems]:

libtest: <rtems/test.h> to <rtems/test-info.h>

Rename this header file to later move <t.h> to <rtems/test.h>.  The main
feature provided by <rtems/test-info.h> is the output of standard test
information which is consumed by the RTEMS Tester.

Update #3199.

Author: Trac Migrate

2020-07-23T08:57:54.000Z

Original author: sebastian.huber

In [changeset:”361404e87d015a623be95212fea62f2337a3357a/rtems” 361404e8/rtems]:

libtest: Move <t.h> to <rtems/test.h>

Update #3199.

Author: Trac Migrate

2020-07-23T08:57:57.000Z

Original author: sebastian.huber

In [changeset:”e3e3b871ee7f625bb65de0836490db73badce55e/rtems” e3e3b871/rtems]:

libtest: Add T_busy()

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:00.000Z

Original author: sebastian.huber

In [changeset:”af9266541fda63cb02cf54154d54e6b5504cef74/rtems” af92665/rtems]:

libtest: Add T_get_one_clock_tick_busy()

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:04.000Z

Original author: sebastian.huber

In [changeset:”c081c68d34985748a4948a250d3cab6f74eb6e09/rtems” c081c68/rtems]:

libtest: Add T_make_runner()

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:07.000Z

Original author: sebastian.huber

In [changeset:”6b27e3251eb6b3374751cdcec4015b4ee1026e0e/rtems” 6b27e32/rtems]:

libtest: Support custom scope messages via fixture

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:10.000Z

Original author: sebastian.huber

In [changeset:”cb3c6bdc0f6a89609b88f2c4d647e18d8bcdd843/rtems” cb3c6bdc/rtems]:

libtest: Add push/pop fixture support

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:14.000Z

Original author: sebastian.huber

In [changeset:”63e42784290b4bb103fbb3f64bad23dc9edef9f3/rtems” 63e4278/rtems]:

libtest: Add T_get_scope()

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:17.000Z

Original author: sebastian.huber

In [changeset:”34e4df55901e88454029af8fe57f3c585a43b3ac/rtems” 34e4df55/rtems]:

libtest: Split POSIX Keys support

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:20.000Z

Original author: sebastian.huber

In [changeset:”77814040262f2ae1a479f94d962139d68052b743/rtems” 7781404/rtems]:

libtest: Add T_stop()

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:24.000Z

Original author: sebastian.huber

In [changeset:”35d9af6901647871612cc278ba28792e23708357/rtems” 35d9af69/rtems]:

libtest: Add T_CHECK_FMT

Rename internal function T_check_true() to T_check() and use the new
flag T_CHECK_FMT to indicate if a format string is present.  This is a
preparation step to make the format string optional.

Make the check context the first parameter.

The API remains the same.

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:27.000Z

Original author: sebastian.huber

In [changeset:”d702c9f47d8b9b393316e0c6b54fca8c26f424a1/rtems” d702c9f4/rtems]:

libtest: Make check message optional

This macro magic is in line with C11 and C++11, but limits the maximum
count of arguments.

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:30.000Z

Original author: sebastian.huber

In [changeset:”467ef5b4313af7451c1b959159e86d6f94af788f/rtems” 467ef5b4/rtems]:

libtest: Add T_unreachable()

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:34.000Z

Original author: sebastian.huber

In [changeset:”dddc9a58189758395e7354223ff421b4c7532538/rtems” dddc9a58/rtems]:

libtest: Add quiet assert NULL pointer checks

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:37.000Z

Original author: sebastian.huber

In [changeset:”c9d2405848bd55676578748f191c2f2317b9dd76/rtems” c9d2405/rtems]:

libtest: Add rtems_test_run()

Update #3199.

Author: Trac Migrate

2020-07-23T08:58:40.000Z

Original author: sebastian.huber

In [changeset:”cc3fd8fcf182cfa35388fc79c14e784a968570ae/rtems” cc3fd8fc/rtems]:

libtest: Add T_interrupt_test()

Update #3199.

Author: Trac Migrate

2020-08-06T17:16:12.000Z

Original author: sebastian.huber

In [changeset:”32f1f747cc7789d105f16227cafbe96b0371ae4d/rtems” 32f1f747/rtems]:

libtest: Fix T_interrupt_test() in SMP configs

Update #3199.

Author: Trac Migrate

2020-08-07T16:10:19.000Z

Original author: sebastian.huber

In [changeset:”f933b651e7737cfd2c5d6030bd77dc825c2cb702/rtems” f933b65/rtems]:

libtest: Improve T_check_task_context

Update #3199.

Author: Trac Migrate

2020-08-10T09:50:29.000Z

Original author: sebastian.huber

In [changeset:”20c79bf5eb35df83253b9ead0a6c070b575100cb/rtems” 20c79bf/rtems]:

libtest: Constify

Update #3199.

Author: Trac Migrate

2020-08-11T06:04:20.000Z

Original author: sebastian.huber

In [changeset:”c1354f05149a9290d61ff9acf39129df46d5eac5/rtems” c1354f0/rtems]:

libtest: Add T_thread_switch_record()

Add support to record thread switch events.  This can be used to check
that a blocking operation results in the expected sequence of thread
switches.

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:18.000Z

Original author: sebastian.huber

In [changeset:”5a8114c6c5a076b43375a98b50cb42f70141b78e/rtems” 5a8114c6/rtems]:

libtest: Change fixture scope method

Return the produced character count.  There is no need for a NUL
termination.

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:21.000Z

Original author: sebastian.huber

In [changeset:”e67eff2b53d4178a66f48de6d496e6272898761a/rtems” e67eff2/rtems]:

libtest: Add output buffer drain and fill

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:25.000Z

Original author: sebastian.huber

In [changeset:”a7af34d0cfdb8b1cfa553fad78339798334963ad/rtems” a7af34d0/rtems]:

libtest: Add T_do_is_runner()

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:28.000Z

Original author: sebastian.huber

In [changeset:”5d614fdfa7ff0c4ea27cffc83451dd64d6f26352/rtems” 5d614fd/rtems]:

libtest: Add T_puts()

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:31.000Z

Original author: sebastian.huber

In [changeset:”cbc1ba341d5a1d5ece514fb4f506f80bd1a6b061/rtems” cbc1ba3/rtems]:

libtest: Use line buffer in T_check()

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:34.000Z

Original author: sebastian.huber

In [changeset:”33eb113c36a5418f25b3165092b622ea91c25d27/rtems” 33eb113/rtems]:

libtest: Add T_check_steps()

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:37.000Z

Original author: sebastian.huber

In [changeset:”5383d4db04bc8b8c97957edb54375de304e0458b/rtems” 5383d4db/rtems]:

libtest: Add fixture steps

Support a new test plan for each nested fixture.

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:41.000Z

Original author: sebastian.huber

In [changeset:”72960bc7d4c8f7eb7687827d1c1545b1eb5fdb71/rtems” 72960bc7/rtems]:

libtest: Change T_step() and T_assert_step()

Normally, the expected test step must be a compile time constant.  Allow
variable expected test steps for the T_step() and T_assert_step().  This
can be used for parameterized test loops with individual fixtures.

Remove the ability to use custom failure messages due to some
implementation constraints.

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:44.000Z

Original author: sebastian.huber

In [changeset:”13acd90003f5d5b65b0a6cbae510df3bdad4c778/rtems” 13acd90/rtems]:

libtest: Use a destructor

Do not set up a new test steps environment.

Update #3199.

Author: Trac Migrate

2020-08-18T05:15:47.000Z

Original author: sebastian.huber

In [changeset:”c7289484348fc33f77dc99e74a8d0a298144514d/rtems” c7289484/rtems]:

libtest: Add T_push_plan() and T_pop_plan()

Update #3199.

Author: Trac Migrate

2020-08-31T14:21:37.000Z

Original author: sebastian.huber

In [changeset:”d556af36059c420afeb4847247b965d45d26f9dc/rtems” d556af36/rtems]:

bsps: Always install IPI in SMP configs

The inter-processor interrupt (IPI) may be used to process per-CPU jobs.
See for example the blocked handler in T_interrupt_test().

Update #3199.

Author: Trac Migrate

2020-09-17T16:09:12.000Z

Original author: sebastian.huber

In [changeset:”98d2adb935e280f71243549a4dd31eac29c49c27/rtems” 98d2adb/rtems]:

libtest: Fix T_thread_switch_record()

If RTEMS_DEBUG is not defined, then we have to explicitly set the node
off the chain.

Update #3199.

Author: Trac Migrate

2020-11-19T07:39:42.000Z

Original author: sebastian.huber

In [changeset:”c542345b257e1fda5f808d4c13c809c0c0e28af7/rtems” c542345/rtems]:

libtest: Simplify "Load" environment reporting

Report all runtime measurement environments with a name only and encode
the worker count of the "Load" environment in the name.

Update #3199.

Author: Trac Migrate

2020-11-19T07:59:18.000Z

Original author: sebastian.huber

In [changeset:”cdbd72d896ba8e48b3e6f8c2a3cb6a73f80bccb7/rtems-docs” cdbd72d/rtems-docs]:

eng: Rename ValidCache environment in FullCache

This name better reflects the execution envirnoment in which the cache
is fully loaded with valid data unrelated to the body request handler.

Update #3199.

Author: Trac Migrate

2020-11-19T07:59:20.000Z

Original author: sebastian.huber

In [changeset:”0454ad786d10e7fc4fd72dcfe1a3cbcb44d6aac3/rtems-docs” 0454ad7/rtems-docs]:

eng: Simplify "Load" environment reporting

Report all runtime measurement environments with a name only and encode
the worker count of the "Load" environment in the name.

Update #3199.

Author: Trac Migrate

2020-11-24T06:40:45.000Z

Original author: sebastian.huber

In [changeset:”aa1c6ddd5cf32ae9e7d4e0c3ef94ed57ad3c0384/rtems” aa1c6dd/rtems]:

libtest: Fix undefined setjmp() behaviour

Bug was introduced by 78baeb757957fa0807c30e6c4d21ae99c9639e6a.

Update #3199.

Author: Trac Migrate

2021-09-29T13:25:31.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

The test framework is fully implemented.

Author: Amar Takhar

2024-04-25T20:45:54.955Z

changed the description

Author: Amar Takhar

2024-04-25T20:47:08.150Z

mentioned in issue #3701

Author: Amar Takhar

2024-04-25T20:47:16.615Z

mentioned in issue #3716

3659 - LEON3 kernel entry point is overwritten - secondary processors may enter into spurious handler

Id

3659

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-12-13T14:55:49.000Z

Updated

2024-04-25T20:46:58.078Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3659

Merges

0

Original author: martinaberg

When linking a LEON3 RTEMS SMP application, the entry point in the ELF output file is set to the symbol “start”.

“start” is the first entry in the trap table and directly jumps to “hard_reset”.

The boot CPU does the following in the boot_card(): 1. Release other CPUs from power-down (but does not wait here) 2. Some other initializations 3. Overwrite trap entry 0 with spurious interrupt handler 4. The rest

It means that the entry point is guaranteed to be valid for the first CPU entering the RTEMS kernel. But 1. and 3. above gives a race. non-first CPU:s will either enter the kernel properly or end up in the spurious interrupt handler depending on how quick it reaches the “start” label.

One example where this has been an issue is when secondary processors run for some time (self-tests) in a ROM boot loader before entering the RTEMS (ELF) entry point. It is convenient to use the ELF file entry point for all processors.

Possible solutions:

a. Do not install spurious handler on trap table entry 0. For example by changing bsps/sparc/leon3/start/spurious.c:

-  for ( trap=1 ; trap<256 ; trap++ ) {
+  for ( trap=0 ; trap<256 ; trap++ ) {

(This changes address 0 on GR740. So following a null function pointer may not end up in spurious trap anymore.)

b. Change the SPARC ELF entry point. For example to the symbol hard_reset.

c. Document that the entry point for boot processor is “start” and entry point for other processors is “hard_reset”.

Author: Trac Migrate

2021-09-02T05:57:51.000Z

Original author: martinaberg

  • Milestone set to %”6.1”

This was fixed by #4459. The trap table is now read-only.

Author: Trac Migrate

2021-09-29T13:28:14.000Z

Original author: martinaberg

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Author: Amar Takhar

2024-04-25T20:46:58.129Z

changed the description

3657 - Add support for poll.h method - poll

Id

3657

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-12-11T16:35:18.000Z

Updated

2024-04-25T20:46:57.224Z

Milestone

6.1

Labels

api::posix, posix::compliance, priority::normal, resolution::fixed, tickettype::enhancement

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3657

Merges

0

Original author: Sal

According to the RTEMS POSIX 1003.1 Compliance Guide, poll() from poll.h is not supported (https://docs.rtems.org/branches/master/posix-compliance/posix-compliance.html#poll-h)

PS: I wrote the test for POSIX API Signature Compliance Test and it compiled correctly but I suppose that some things are still not fully supported.

Author: Trac Migrate

2018-12-11T19:23:39.000Z

Original author: Sal

In [changeset:”6ab788dce7a9eb6195c482de46dd005ebb60849e/rtems” 6ab788d/rtems]:

psxhdrs: Implement POSIX API Signature Compliance Tests for poll.h (GCI 2018)

poll.h implements poll() which is not supported by RTEMS according
to the RTEMS POSIX 1003.1 Compliance Guide. See #3657.

This work was part of GCI 2018.

Author: Joel Sherrill

2021-12-03T20:50:09.000Z

Original author: Sal

  • Milestone changed from %”Indefinite” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from new to closed

poll() is in rtems-libbsd. Compliance spreadsheet updated.

Author: Amar Takhar

2024-04-25T20:46:57.265Z

changed the description

3596 - Remove deprecated rtems_rate_monotonic_period_time_t

Id

3596

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-07T13:01:09.000Z

Updated

2024-04-25T20:46:41.282Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3596

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:26:53.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”65dc040bfb30e651c8ec9274c038dd00f336014c/rtems” 65dc040/rtems]:

rtems: Remove rtems_rate_monotonic_period_time_t

This type was deprecated in RTEMS 5.1.

Close #3596.

Author: Amar Takhar

2024-04-25T20:46:41.319Z

changed the description

3594 - Remove deprecated rtems_thread_cpu_usage_t

Id

3594

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-07T12:53:29.000Z

Updated

2024-04-25T20:46:40.426Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3594

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:27:06.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”312fcf2fd454e09c71fce77d32218124d27a2a59/rtems” 312fcf2/rtems]:

rtems: Remove rtems_thread_cpu_usage_t

This type was deprecated in RTEMS 5.1.

Close #3594.

Author: Amar Takhar

2024-04-25T20:46:40.463Z

changed the description

3592 - Remove deprecated region_information_block

Id

3592

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-07T12:50:21.000Z

Updated

2024-04-25T20:46:39.535Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3592

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:27:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”1546b1c01d1f348bccb27a9bf5e2ae432e9972ba/rtems” 1546b1c0/rtems]:

rtems: Remove region_information_block

This type was deprecated in RTEMS 5.1.

Close #3592.

Author: Amar Takhar

2024-04-25T20:46:39.572Z

changed the description

3590 - Remove deprecated rtems_context_fp

Id

3590

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-07T12:47:08.000Z

Updated

2024-04-25T20:46:38.663Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3590

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2018-11-07T12:50:54.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Trac Migrate

2020-07-14T05:26:59.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”f8998f19da3dc33466a72555c80125baa9d49eb1/rtems” f8998f1/rtems]:

rtems: Remove rtems_context_fp

This type was deprecated in RTEMS 5.1.

Close #3590.

Author: Amar Takhar

2024-04-25T20:46:38.700Z

changed the description

3588 - Remove deprecated rtems_context

Id

3588

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-07T12:43:40.000Z

Updated

2024-04-25T20:46:37.811Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3588

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:26:56.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”df2dac388db583270a0e27f9b820156b6cc638f9/rtems” df2dac3/rtems]:

rtems: Remove rtems_context

This type was deprecated in RTEMS 5.1.

Close #3588.

Author: Amar Takhar

2024-04-25T20:46:37.849Z

changed the description

3586 - Remove deprecated proc_ptr definition

Id

3586

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-07T12:39:29.000Z

Updated

2024-04-25T20:46:36.951Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3586

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-07-14T05:27:14.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”53a5af2155f6021bdca620009cfa4a7ceb2c9834/rtems” 53a5af2/rtems]:

rtems: Remove deprecated proc_ptr definition

Close #3586.

Author: Amar Takhar

2024-04-25T20:46:36.988Z

changed the description

3584 - Remove types which are only available if RTEMS_DEPRECATED_TYPES is defined

Id

3584

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-07T12:36:56.000Z

Updated

2024-04-25T20:46:36.067Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3584

Merges

0

Original author: sebastian.huber

The types

  • boolean,

  • single_precision,

  • double_precision,

  • rtems_single,

  • rtems_double, and

  • rtems_boolean.

are only available if RTEMS_DEPRECATED_TYPES is defined. They are deprecated for a long time. Remove them in this release.

Author: Trac Migrate

2018-11-08T07:11:19.000Z

Original author: sebastian.huber

In [changeset:”a9767a07a2695cb52dc1b0d03aa83dfed171a5f0/rtems” a9767a07/rtems]:

score: Use RTEMS_DEPRECATED for deprecated types

Update #3584.

Author: Trac Migrate

2020-07-14T05:27:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”2adf328d050b36e5de2d9a87dc2d22f8696fa378/rtems” 2adf328/rtems]:

rtems: Remove support for RTEMS_DEPRECATED_TYPES

Close #3584.

Author: Amar Takhar

2024-04-25T20:46:36.109Z

changed the description

3456 - Add support for CPU counter timestamps

Id

3456

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-06-15T10:02:54.000Z

Updated

2024-04-25T20:46:20.942Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3456

Merges

0

Original author: sebastian.huber

The original use case for the CPU counter was low level profiling of SMP synchronization primitives and busy wait loops for device drivers.

For low overhead timestamps the CPU counter may be also used, e.g. for tracing. To support timestamps, the CPU counter must increment monotonically within the whole range of the CPU counter data type, e.g. 32-bit unsigned integer. In addition, it should not be affected by power saving states of the processor.

Author: Trac Migrate

2018-06-19T04:58:16.000Z

Original author: sebastian.huber

In [changeset:”4c7b18e3588db0658a77ee60170875d00c680110/rtems” 4c7b18e3/rtems]:

Add RTEMS_SYSINIT_CPU_COUNTER

Add initialization step for the CPU counter support.

Update #3456.

Author: Trac Migrate

2018-06-19T04:58:29.000Z

Original author: sebastian.huber

In [changeset:”65f868cac6f7fd5c3ad02046574c19f8f4673255/rtems” 65f868c/rtems]:

Add _CPU_Counter_frequency()

Add rtems_counter_frequency() API function.  Use it to initialize the
counter value converter via the new system initialization step
(RTEMS_SYSINIT_CPU_COUNTER).  This decouples the counter implementation
and the counter converter.  It avoids an unnecessary pull in of the
64-bit integer division from libgcc.

Update #3456.

Author: Trac Migrate

2018-06-19T04:58:39.000Z

Original author: sebastian.huber

In [changeset:”6d130e66d3200cd2c08598777ef515bae840fa87/rtems-docs” 6d130e6/rtems-docs]:

c-user: Document RTEMS_SYSINIT_CPU_COUNTER

Update #3456.

Author: Trac Migrate

2018-06-19T04:58:41.000Z

Original author: sebastian.huber

In [changeset:”762fa62ccaebadb7fa486da634c27b02960112b1/rtems” 762fa62/rtems]:

arm: Simplify CPU counter support

Use the standard ARMv7-M systick module for the ARMv7-M CPU counter
instead of DWT counter since the DWT counter is affected by power saving
states.

Use an inline function for _CPU_Counter_difference() for all ARM BSPs.

Update #3456.

Author: Trac Migrate

2018-09-20T05:28:13.000Z

Original author: sebastian.huber

In [changeset:”b3cf79b9c472ed8c219f8c9a9d8fb571671f3815/rtems” b3cf79b/rtems]:

bsp/leon3: Fix typo which breaks the CPU counter

Update #3456.

Author: Trac Migrate

2018-12-07T13:33:54.000Z

Original author: sebastian.huber

In [changeset:”0a1f5df98e52b028bf8b4de3bf63e39702fa5f34/rtems” 0a1f5df9/rtems]:

Simplify _CPU_Counter_difference()

In order to simplify the use of CPU counter values it is beneficial to
have monotonic increasing values within the range of the CPU counter
ticks data type, e.g. 32-bit unsigned integer.  This eases the use of
CPU counter timestamps in external tools which do not know the details
of the CPU counter hardware.  The CPU counter is the fastest way to get
a time on an RTEMS system.

Such a CPU counter may be also used as the timecounter.  Use it on SPARC
for this purpose to simplify the clock drivers.

Update #3456.

Author: Trac Migrate

2019-02-07T07:48:53.000Z

Original author: sebastian.huber

In [changeset:”0fb52cede19fc9706e8426fe3145724fc9ea1028/rtems” 0fb52ce/rtems]:

bsps/arm: Fix generic timer frequency

Update #3456.

Author: Trac Migrate

2019-04-09T05:32:17.000Z

Original author: sebastian.huber

In [changeset:”b8a0a49672e45ba91d42c98a6c2601cc254edb1c/rtems” b8a0a496/rtems]:

bsps/arm: Fix ARMv7-M CPU counter

Read the current counter value again after we know that we had an
underflow.

Update #3456.

Author: Trac Migrate

2019-04-09T06:11:42.000Z

Original author: sebastian.huber

In [changeset:”222570a61b3a75635e47708f8b530fb6bc988cf6/rtems” 222570a/rtems]:

bsps/arm: Optimize ARMv7-M CPU counter

Update #3456.

Author: Trac Migrate

2019-12-19T08:07:34.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

Author: Trac Migrate

2022-09-09T05:46:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”270200e972e6c2a5733a12ee70fcc3b7e2940c6c/rtems” 270200e/rtems]:

score: Remove _CPU_Counter_difference()

All CPU ports used the same _CPU_Counter_difference() implementation.  Remove
this CPU port interface and mandate a monotonically increasing CPU counter.

Close #3456.

Author: Amar Takhar

2024-04-25T20:46:20.980Z

changed the description

3269 - Make the IRQ extensions API a standard API

Id

3269

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-01-02T10:58:04.000Z

Updated

2024-04-25T20:45:59.326Z

Milestone

6.1

Labels

device, priority::normal, qualification, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3269

Merges

0

Original author: sebastian.huber

The IRQ extensions API defined by <rtems/irq-extensions.h> is currently only implemented by some BSPs and not covered by test cases. It is not documented in the RTEMS Classic API Guide. Change the BSPs so that every BSP implements this API at least as a stub so that we can write tests for this API. Specify and document the API.

Extend the API to enable/disable specific interrupt vectors. The proposed functions for this are rtems_interrupt_mask() and rtems_interrupt_unmask().

Extend the API to raise/clear specific interrupt vectors. This allows to test specific interrupts. The proposed functions are rtems_interrupt_raise() and rtems_interrupt_clear().

Extend the API to set/get the interrupt vector priority.

Extend the API to get some information about a particular interrupt vector, e.g. if the raise/clear functions work, if it is possible to change the priority, etc.

Author: Trac Migrate

2018-01-04T06:20:36.000Z

Original author: sebastian.huber

In [changeset:”569fd5097c4853136728f5a43b1706a8c4a253e5/rtems” 569fd50/rtems]:

sparc: Remove BSP specifics from <pci/irq.h>

Update #3254.
Update #3260.
Update #3269.

Author: Trac Migrate

2019-05-13T13:33:51.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

<details> <summary>Summary</summary> <pre> The IRQ extensions API defined by <rtems/irq-extensions.h> is currently only implemented by some BSPs and not covered by test cases. It is not documented in the RTEMS Classic API Guide. Change the BSPs so that every BSP implements this API at least as a stub so that we can write tests for this API. Specify and document the API.

Extend the API to enable/disable specific interrupt vectors. The proposed functions for this are rtems_interrupt_mask() and rtems_interrupt_unmask().

Extend the API to raise/clear specific interrupt vectors. This allows to test specific interrupts. The proposed functions are rtems_interrupt_raise() and rtems_interrupt_clear().

Extend the API to set/get the interrupt vector priority.

Extend the API to get some information about a particular interrupt vector, e.g. if the raise/clear functions work, if it is possible to change the priority, etc. </pre> </details> * Milestone changed from %”Indefinite” to %”5.1” * Summary changed from Add functions to enable, disable, and clear interrupts to the IRQ extensions API to Make the IRQ extensions API a standard API * Version set to ~”5”

Author: Trac Migrate

2019-05-16T07:59:21.000Z

Original author: sebastian.huber

In [changeset:”45d06591f12c108ab27207c464ce46f0d0f26980/rtems” 45d0659/rtems]:

bsps: Always build generic interrupt support

This makes it possible to write tests for the generic interrupt
controller support.

Update #3269.

Author: Trac Migrate

2019-07-05T07:04:53.000Z

Original author: sebastian.huber

In [changeset:”e9c83b46a045ea0d6dad9fc73578d0694ae8886b/rtems” e9c83b4/rtems]:

bsps: Regenerate headers.am

Update #3269.

Author: Trac Migrate

2019-12-19T08:07:34.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

Author: Trac Migrate

2020-07-31T05:01:26.000Z

Original author: sebastian.huber

In [changeset:”a3bcc79a1fdf069c08c2b5b7f17042e052f67a0a/rtems” a3bcc79/rtems]:

bsps/lm32: Use shared <bsp/irq.h>

Having a duplicate header with the shared includes is a build system
inconsistency.  You may use one header file to build the libraries and
another one is installed (overwriting the other).

Update #3269.

Author: Trac Migrate

2021-06-24T10:29:35.000Z

Original author: sebastian.huber

In [changeset:”61d0be7214b26e9dcbc99c7b39779569a91f4f01/rtems” 61d0be7/rtems]:

bsps/irq: Remove BSP_INTERRUPT_NO_HEAP_USAGE

Remove the support for BSP_INTERRUPT_NO_HEAP_USAGE.  This was only used
by one BSP and provides no real benefit.

Update #3269.

Author: Trac Migrate

2021-06-24T10:29:39.000Z

Original author: sebastian.huber

In [changeset:”4146d3948d10d5c4f2bcfea51b843427701d14e7/rtems” 4146d39/rtems]:

bsp/genmcf548x: Change BSP_INTERRUPT_VECTOR_MIN

This BSP uses a customized implementation of the interrupt extension API.  It
was the only BSP which defined BSP_INTERRUPT_VECTOR_MIN to a value other than
zero.  Define it to zero and use a custom bsp_interrupt_is_valid_vector()
function instead.

Update #3269.

Author: Trac Migrate

2021-06-24T10:29:42.000Z

Original author: sebastian.huber

In [changeset:”5210c7c2193136a5f31d464f150cb022f2baa7a0/rtems” 5210c7c/rtems]:

bsp/generic_or1k: Remove incomplete IRQ support

Update #3269.

Author: Trac Migrate

2021-06-24T10:29:46.000Z

Original author: sebastian.huber

In [changeset:”f3acb8bf03b959659eb88f5ee1f9b5f33b4486db/rtems” f3acb8b/rtems]:

bsps/irq: Assert BSP_INTERRUPT_VECTOR_MIN == 0

After building all BSPs with this patch, this BSP-specific define can be
removed to simplify the implementation.

Update #3269.

Author: Trac Migrate

2021-06-24T10:29:49.000Z

Original author: sebastian.huber

In [changeset:”af73b7b64b385232eddfd899ebd9e93054b66026/rtems” af73b7b6/rtems]:

bsps/irq: Remove BSP_INTERRUPT_VECTOR_MIN

Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector
numbers start with zero.

The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit
and building all BSPs.

Update #3269.

Author: Trac Migrate

2021-06-24T10:29:53.000Z

Original author: sebastian.huber

In [changeset:”900a84c5d1c966b33621d24fae3c2c100b020f81/rtems” 900a84c5/rtems]:

smpcapture02: Fix use of BSP_INTERRUPT_VECTOR_MAX

This define represents the last valid interrupt vector number.

Update #3269.

Author: Trac Migrate

2021-06-24T10:29:56.000Z

Original author: sebastian.huber

In [changeset:”cd5573c09def76d3d202349639da6ba05617b31b/rtems” cd5573c/rtems]:

bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNT

Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT.

After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be
removed and replaced by BSP_INTERRUPT_VECTOR_COUNT.  The
BSP_INTERRUPT_VECTOR_COUNT allows a default implementation which supports no
interrupt vector at all.  Using COUNT instead of MAX may avoid some
interpretation issues, for example is the maximum value a valid vector number
or not.

Update #3269.

Author: Trac Migrate

2021-06-24T10:30:00.000Z

Original author: sebastian.huber

In [changeset:”049e2b64e142ef23d7901d22c4ee6c5b87e8c3ee/rtems” 049e2b6/rtems]:

bsps/irq: Remove BSP_INTERRUPT_VECTOR_NUMBER

Replace it with BSP_INTERRUPT_VECTOR_COUNT.

Update #3269.

Author: Trac Migrate

2021-06-24T10:30:03.000Z

Original author: sebastian.huber

In [changeset:”3fee662093dabd5550d7093fe1d77080f74ab437/rtems” 3fee6620/rtems]:

bsps/irq: Use BSP_INTERRUPT_VECTOR_COUNT

Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX.

Update #3269.

Author: Trac Migrate

2021-06-24T10:30:07.000Z

Original author: sebastian.huber

In [changeset:”94cf67ca660c4a417b9c9485a4a2ed0d75208595/rtems” 94cf67c/rtems]:

bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAX

This define is no longer used.

Update #3269.

Author: Trac Migrate

2021-06-24T10:30:10.000Z

Original author: sebastian.huber

In [changeset:”fdf2ee773a06b1eb2bb4e061c21cd49ba860cbc7/rtems” fdf2ee7/rtems]:

bsps/irq: Default BSP_INTERRUPT_VECTOR_COUNT == 0

Change the default value of BSP_INTERRUPT_VECTOR_COUNT so that no interrupt
vectors are supported and all related directives return RTEMS_INVALID_ID.

Update #3269.

Author: Trac Migrate

2021-06-24T10:30:14.000Z

Original author: sebastian.huber

In [changeset:”6b7a38589a930b8b81d9052280a88a14e9518950/rtems” 6b7a3858/rtems]:

bsp/atsam: Fix BSP_INTERRUPT_VECTOR_COUNT

Fix an off by one error.

Update #3269.

Author: Trac Migrate

2021-07-12T12:27:57.000Z

Original author: sebastian.huber

In [changeset:”c7b3df3f516e0dbf032ad480ba5204de0e4d2bd6/rtems” c7b3df3f/rtems]:

bsps/sparc: Improve interrupt affinity support

Fully support the interrupt extension API to set/get the interrupt affinity.
Remove LEON3_irq_to_cpu which defined the interrupt to processor mapping in a
BSP-specific way.

Update #3269.

Author: Trac Migrate

2021-07-27T05:42:57.000Z

Original author: sebastian.huber

In [changeset:”efb3fc284a8fd982e953e3ebea4f0caa615dd456/rtems” efb3fc2/rtems]:

bsps/irq: Move get/set affinity to separate file

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:00.000Z

Original author: sebastian.huber

In [changeset:”1b3b5b8428fbfee9253a978c9d63ef47663e23bb/rtems” 1b3b5b84/rtems]:

bsps/irq: Canonicalize get/set affinity errors

Bring the error conditions and status in line with
rtems_task_get_affinity() and rtems_task_set_affinity().

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:04.000Z

Original author: sebastian.huber

In [changeset:”04c2c0804b1404f7544b1154b410842292bd84ec/rtems” 04c2c08/rtems]:

bsps/irq: Move handler iterate to separate file

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:07.000Z

Original author: sebastian.huber

In [changeset:”ba9374598cce18938d3f530d00aa20471e8e5dd4/rtems” ba937459/rtems]:

rtems: Add rtems_interrupt_raise()

Add rtems_interrupt_raise_on().  Document the currently not implemented
rtems_interrupt_clear().  Remove the not implemented and badly named
rtems_interrupt_cause() directive.

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:11.000Z

Original author: sebastian.huber

In [changeset:”c4eafae27958ac0b2f356c953876a3b0aa6fa966/rtems” c4eafae2/rtems]:

rtems: Generate <rtems/irq-extension.h>

Use <rtems/score/chain.h> which just provides the data types and avoid a
dependency on <rtems/chain.h> which contains the full chain
implementation.

Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.

Update #3269.
Update #3899.
Update #3993.

Author: Trac Migrate

2021-07-27T05:43:14.000Z

Original author: sebastian.huber

In [changeset:”5e33aec041c3435dbef9c20042c682a952f1c6b2/rtems” 5e33aec/rtems]:

rtems: Add rtems_interrupt_get_attributes()

Add a directive to query the attributes of an interrupt vector.   This
can be used for generic tests and system diagnostics.

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:18.000Z

Original author: sebastian.huber

In [changeset:”96265c87a3122e0bef52fb343a730408e747035a/rtems” 96265c8/rtems]:

rtems: Add rtems_interrupt_vector_enable()

Add rtems_interrupt_vector_disable().

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:21.000Z

Original author: sebastian.huber

In [changeset:”01e7c36b39f439c9dc600cc529178b3fbd09d6c9/rtems” 01e7c36/rtems]:

rtems: Add rtems_interrupt_vector_is_enabled()

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:25.000Z

Original author: sebastian.huber

In [changeset:”faa4b6365405ff4f881e3b3605957d2e0540bc04/rtems” faa4b636/rtems]:

rtems: Add rtems_interrupt_is_pending()

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:28.000Z

Original author: sebastian.huber

In [changeset:”4969af41028ff7861753efe451826c2c42fc45b2/rtems” 4969af4/rtems]:

rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT

Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT as the fatal source for
spurious interrupts.  Use the interrupt vector number of the spurious
interrupt for the fatal code.

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:32.000Z

Original author: sebastian.huber

In [changeset:”781213f9ec5eb4f56c4df66253a8315ea513693e/rtems” 781213f9/rtems]:

bsps/irq: Add rtems_interrupt_vector_is_enabled()

Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:35.000Z

Original author: sebastian.huber

In [changeset:”9832652c53af44367cd3a9cf789bdb997a85043c/rtems” 9832652c/rtems]:

bsps/irq: Add rtems_interrupt_raise()

Add rtems_interrupt_raise_on() and rtems_interrupt_clear().

Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:38.000Z

Original author: sebastian.huber

In [changeset:”eebecd09fad576f9d5fbc57fceefc2147910dae4/rtems” eebecd0/rtems]:

bsps/irq: Add rtems_interrupt_get_attributes()

Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:42.000Z

Original author: sebastian.huber

In [changeset:”deb5afb2f201d26cc618c2d56cd75de179341120/rtems” deb5afb/rtems]:

bsps/irq: Add rtems_interrupt_is_pending()

Add a default implementation which just returns RTEMS_UNSATISFIED.

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:45.000Z

Original author: sebastian.huber

In [changeset:”bc86a5fa84f764fcd6519d30daf618be1e5e6c7a/rtems” bc86a5fa/rtems]:

bsps/irq: bsp_interrupt_vector_enable()

Return a status code for bsp_interrupt_vector_enable().

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:48.000Z

Original author: sebastian.huber

In [changeset:”32f5a195d79ecf49e9b464d3358dd4739ae82203/rtems” 32f5a195/rtems]:

bsps/irq: bsp_interrupt_vector_disable()

Return a status code for bsp_interrupt_vector_disable().

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:52.000Z

Original author: sebastian.huber

In [changeset:”23ec04c48c522b0beaa3d6b91f19770d78000ce1/rtems” 23ec04c/rtems]:

bsps/irq: bsp_interrupt_get_affinity()

Return a status code for bsp_interrupt_get_affinity().

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:56.000Z

Original author: sebastian.huber

In [changeset:”85a378510d1c63418394099ef73f7f7067d7b125/rtems” 85a3785/rtems]:

bsps/irq: bsp_interrupt_set_affinity()

Return a status code for bsp_interrupt_set_affinity().

Update #3269.

Author: Trac Migrate

2021-07-27T05:43:59.000Z

Original author: sebastian.huber

In [changeset:”fe6ce5ac9c501f94b62f402f92c5d230d05fc6a8/rtems” fe6ce5ac/rtems]:

bsps/irq: Implement new directives for GICv2/3

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:02.000Z

Original author: sebastian.huber

In [changeset:”09be98d9101fcf9edb5fcc9c89187798c73d3911/rtems” 09be98d/rtems]:

sparc/irq: Implement new interrupt directives

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:06.000Z

Original author: sebastian.huber

In [changeset:”81358d758618e97c0f0630b706b59118685cb020/rtems” 81358d7/rtems]:

rtems: Add rtems_interrupt_entry_install()

Add RTEMS_INTERRUPT_ENTRY_INITIALIZER(),
rtems_interrupt_entry_initialize(), and
rtems_interrupt_entry_remove().  This allows to install interrupt
handlers using user-provided storage as an alternative to
rtems_interrupt_handler_install() which has to allocate memory.

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:09.000Z

Original author: sebastian.huber

In [changeset:”73fcbf4cffb4d731be9cd72413bd7f6bce1c6b3f/rtems” 73fcbf4/rtems]:

bsps/irq: Use rtems_interrupt_entry

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:13.000Z

Original author: sebastian.huber

In [changeset:”63d9e840b735248d17644101996ffbefb07ab23f/rtems” 63d9e84/rtems]:

bsps/irq: Add bsp_interrupt_check_and_lock()

Return RTEMS_INCORRECT_STATE instead of RTEMS_INTERNAL_ERROR in case the
interrupt support is not initialized.  This is similar to
rtems_timer_server_fire_after() for example.

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:16.000Z

Original author: sebastian.huber

In [changeset:”70357f1731931a4761dca1a5026cf73adca2a85d/rtems” 70357f1/rtems]:

bsps/irq: Move bsp_interrupt_handler_is_empty()

This function is only used by one BSP.

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:20.000Z

Original author: sebastian.huber

In [changeset:”e5183238723bb35f5f5d2f0624b821f75f8b424b/rtems” e518323/rtems]:

bsps/irq: Add rtems_interrupt_entry_install()

Add rtems_interrupt_entry_remove().  Split up irq-generic.c into several files.
In particular, place all functions which use dynamic memory into their own
file.

Add optional macros to let the BSP customize the vector installation after
installing the first entry and the vector removal before removing the last
entry:

* bsp_interrupt_vector_install()

* bsp_interrupt_vector_remove()

Use these new customization options in the m68k/genmcf548x BSP so re-use the
generic interrupt controller support.

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:23.000Z

Original author: sebastian.huber

In [changeset:”b910e60e606f5bfaa378ed07c287b12c46d0b9bc/rtems” b910e60/rtems]:

bsp/raspberrypi: Add interrupt get/set affinity

Add default implementations for bsp_interrupt_get_affinity() and
bsp_interrupt_set_affinity() which are required to link all tests in SMP
configurations.

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:26.000Z

Original author: sebastian.huber

In [changeset:”f89cf8e8c4996bb00430953ef9947fba33ccaf63/rtems” f89cf8e8/rtems]:

validation: Add CallWithinISR()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:30.000Z

Original author: sebastian.huber

In [changeset:”1465e78a59869ddad0432bbe9815bcba891a2ad0/rtems” 1465e78a/rtems]:

validation: HasInterruptVectorEntriesInstalled()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:33.000Z

Original author: sebastian.huber

In [changeset:”bfec448682f3ba9015d70a1371e2f120a80408fc/rtems” bfec448/rtems]:

validation: GetValidInterruptVectorNumber()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:37.000Z

Original author: sebastian.huber

In [changeset:”9e1fc366928429437310bd7fcc40bf2e79cc742a/rtems” 9e1fc36/rtems]:

validation: GetTestableInterruptVector()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:40.000Z

Original author: sebastian.huber

In [changeset:”e2894df9aaebfcaf1e199a9b9c73efc4ba29c952/rtems” e2894df/rtems]:

validation: Test rtems_interrupt_get_attributes()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:44.000Z

Original author: sebastian.huber

In [changeset:”d8be2b974e994681f5287c3874c696f9f2b253fc/rtems” d8be2b97/rtems]:

validation: rtems_interrupt_vector_is_enabled()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:47.000Z

Original author: sebastian.huber

In [changeset:”7a3e6c74e3b405ce03b64ba1ec6ee4522e298b6a/rtems” 7a3e6c7/rtems]:

validation: Test rtems_interrupt_vector_enable()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:50.000Z

Original author: sebastian.huber

In [changeset:”aa6c962668ce80fa8b937c9554980f3f07f2fbdb/rtems” aa6c962/rtems]:

validation: Test rtems_interrupt_vector_disable()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:54.000Z

Original author: sebastian.huber

In [changeset:”09960369866b6391bfbe2810d35e694aafb3b4ad/rtems” 09960369/rtems]:

validation: Test rtems_interrupt_entry_install()

Update #3269.

Author: Trac Migrate

2021-07-27T05:44:57.000Z

Original author: sebastian.huber

In [changeset:”7dbab6afee3050e90bc53e57f551a069ad815b36/rtems” 7dbab6af/rtems]:

validation: Test rtems_interrupt_entry_remove()

Update #3269.

Author: Trac Migrate

2021-07-27T05:45:01.000Z

Original author: sebastian.huber

In [changeset:”434105805f242dc72759e5feb8c33c38a68d3eb0/rtems” 4341058/rtems]:

validation: Test rtems_interrupt_raise()

Update #3269.

Author: Trac Migrate

2021-07-27T05:45:04.000Z

Original author: sebastian.huber

In [changeset:”1bf8139a9e6f7bc0348e9640d944008b147d4e28/rtems” 1bf8139a/rtems]:

validation: Test rtems_interrupt_clear()

Update #3269.

Author: Trac Migrate

2021-07-27T05:45:07.000Z

Original author: sebastian.huber

In [changeset:”163c1fd1a69e4779a0e9983cd9634220129a8f4d/rtems” 163c1fd/rtems]:

validation: Test rtems_interrupt_is_pending()

Update #3269.

Author: Trac Migrate

2021-07-27T05:45:11.000Z

Original author: sebastian.huber

In [changeset:”32c0cd8ff827537f02de92c0edfc02ba9b8f77bc/rtems” 32c0cd8/rtems]:

validation: Test rtems_interrupt_raise_on()

Update #3269.

Author: Trac Migrate

2021-07-27T05:45:14.000Z

Original author: sebastian.huber

In [changeset:”aab3713655e9f7512fb2db20b99e5305bccac7c4/rtems” aab3713/rtems]:

validation: Test rtems_interrupt_get_affinity()

Update #3269.

Author: Trac Migrate

2021-07-27T05:45:18.000Z

Original author: sebastian.huber

In [changeset:”17fb523964f98b775d8ffeb837680d53fc2f84f5/rtems” 17fb5239/rtems]:

validation: Test rtems_interrupt_set_affinity()

Update #3269.

Author: Trac Migrate

2021-07-27T05:45:21.000Z

Original author: sebastian.huber

In [changeset:”67c033d39a42d3594afae35f3ea1bf131e0dbd87/rtems” 67c033d3/rtems]:

validation: Test rtems_interrupt_handler_iterate()

Update #3269.

Author: Trac Migrate

2021-07-27T05:50:33.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”056886f17196e925e7842db025dd17c95691ed84/rtems-docs” 056886f/rtems-docs]:

c-user: Document interrupt manager extensions

Close #3269.

Author: Trac Migrate

2021-08-12T19:07:44.000Z

Original author: sebastian.huber

In [changeset:”75af5be6a8239ff71992d957776787341526cb0b/rtems” 75af5be/rtems]:

bsp/leon3: Fix rtems_interrupt_is_pending()

Take the interrupt force register into account in all configurations.

Update #3269.

Author: Trac Migrate

2022-01-11T15:41:33.000Z

Original author: sebastian.huber

In [changeset:”cbc92325a1575a5ace57c458b998ea6d0b49b163/rtems” cbc9232/rtems]:

bsp/qoriq: Implement Interrupt Manager directives

Update #3269.

Author: Trac Migrate

2022-03-16T06:17:15.000Z

Original author: sebastian.huber

In [changeset:”49f84b7de3399867c8e4f555734824fd5799f6e5/rtems-docs” 49f84b7/rtems-docs]:

c-user: Improve interrupt set affinity handling

Update #3269.

Author: Trac Migrate

2022-03-16T06:24:29.000Z

Original author: sebastian.huber

In [changeset:”ca4fa22e51fc55de28736f7a9461dadf8fe4241b/rtems” ca4fa22e/rtems]:

bsps/irq: Fix formatting

Update #3269.

Author: Trac Migrate

2022-03-16T06:24:33.000Z

Original author: sebastian.huber

In [changeset:”f311caf984a46b8629f891de5904af385486fa9e/rtems” f311caf/rtems]:

bsps/irq: Improve affinity set handling

Restrict the affinity set to the set of online processors.  Make sure
the affinity set for an interrupt vector contains at least one online
processor.

Update #3269.

Author: Trac Migrate

2022-06-08T08:20:07.000Z

Original author: sebastian.huber

In [changeset:”9a69e430832ba704bf534ea48bc2a4938c53bced/rtems” 9a69e430/rtems]:

validation: Fix CallWithinISR()

Some BSPs require that Clear_tm27_intr() is called in the interrupt
service routine.

Update #3269.

Author: Trac Migrate

2023-06-16T05:30:14.000Z

Original author: sebastian.huber

In [changeset:”83305f505070edd6e4e48dc1ac1e8a3b0bb54b8e/rtems” 83305f5/rtems]:

pci: Do not use BSP-specific interrupt API

Update #3269.

Author: Trac Migrate

2023-06-16T05:30:16.000Z

Original author: sebastian.huber

In [changeset:”4e3e9df1b463cf06fac323140ca2b71f39d2d5f7/rtems” 4e3e9df/rtems]:

bsps: Remove uses of BSP-specific interrupt API

Update #3269.

Author: Trac Migrate

2023-06-16T05:30:18.000Z

Original author: sebastian.huber

In [changeset:”65b0ba4d8a09c3fc4608290cc923f93afa8e1f97/rtems” 65b0ba4/rtems]:

bsps/sparc: Deprecate BSP-specific interrupt API

Update #3269.

Author: Amar Takhar

2024-04-25T20:45:59.391Z

changed the description

3250 - Remove Use of bsp_specs

Id

3250

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2017-11-21T19:27:53.000Z

Updated

2024-04-25T20:45:58.819Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::build, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3250

Merges

0

The bsp_specs file in each BSP directory is GCC specific and a barrier to supporting other compilers including clang/llvm. The bsp_specs file is used in a variety of ways including some odd build system dependencies and this ticket is to track eliminating those uses and the direct use of bsp_specs themselves for extending GCC options.

The primary use of the bsp_specs file is to extend GCC’s notion of what to link with. The bsp_specs itself commonly specifies:

  • start.o file

  • program entry point

  • crt[in].o or crtbegin.o/crtend.o

  • linker script

  • Frequently, arguments which are implicitly passed to ld.

This is typical and from a recently added BSP:

%rename endfile old_endfile
%rename startfile old_startfile
%rename link old_link

*startfile:
%{!qrtems: %(old_startfile)} \\
%{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _start}}

*link:
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}

*endfile:
%{!qrtems: %(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s }

Note that it has the implicit “-dc -dp -N” arguments which are passed to ld. The -dc and -dp options are equivalent and assign space to common symbols even with linking with -r. Why these two options are included is a mystery lost to time. Similarly the -N sets the .text and .data sections to be readable and writable and do NOT page align the data segment. This option is also a blast from the ancient past and likely should not be used.

The “-qrtems” option is used with this pattern when compiling and linking RTEMS programs:

-B${PREFIX}/${BSP}/lib/ -specs bsp_specs -qrtems

The -B says that the following directory is a system directory. It is treated as a “lib” directory and is also assumed to have an include/ subdirectory. They are added to the linker and include search paths, respectfully. The -specs option references the bsp_specs and adds the -qrtems options which are then tripped by specifying -qrtems. Every part of this must be eliminated and performed in a manner that is more amenable to using a compiler other than GCC.

In order to eliminate the bsp_specs, the arguments used in each BSP’s version will have to be reviewed, made common, and then eliminated. A similar effort was performed when the BSP specific make-exe rules were eliminated from the “make/custom” files and a common pattern was put in place.

In addition to using the bsp_specs to specify details about linking and include files, the build system has quite a few odd dependencies on the presence of bsp_specs:

  • all BSP configure.ac use bsp_specs like this:

AC_CONFIG_SRCDIR([bsp_specs])

The idea was that this was a unique file to ensure the script was in the right directory. This can be changed to use a specfic make/custom/*.cfg file and not lose any integrity checking.

  • all BSP Makefile.am have this:

dist_project_lib_DATA = bsp_specs

That can just be removed when we don’t use the file.

  • ./aclocal/check-bsps.m4 uses it to see if it is BSP directory

  • bootstrap uses it generate the list of BSP directories for the libbsp/*/acinclude.m4 files

  • Other references are either comments or obvious uses of it in

some invocation of GCC.

Author: Trac Migrate

2017-12-19T17:07:13.000Z

In [changeset:”b0b93c8a1b782a77529d2c35a05ab770aaddb4c2/rtems” b0b93c8a/rtems]:

gensh4: Simplify bsp_specs

Updates #3250.

Author: Trac Migrate

2021-01-26T05:40:00.000Z

  • Milestone changed from %”Indefinite” to %”6.1”

The bsp_specs are only used by the old build system and can be removed with along the old build system.

Author: Trac Migrate

2021-01-28T05:30:16.000Z

In [changeset:”b361eabd93e35e2c72d3721583fa83fb14e39f4d/rtems” b361eabd/rtems]:

bsps: Replace bsp_specs with an empty file

This fixes an issue with the latest tool chain which adds the default
linker script in the endfile specification.

Update #3250.

Author: Trac Migrate

2021-09-21T08:25:58.000Z

In [changeset:”db8f598d56951cf43f22a5e325e0d23c8f7559f9/rtems” db8f598/rtems]:

build: Remove old build system

Close #3250.
Close #4081.

Author: Trac Migrate

2022-09-12T06:55:14.000Z

In [changeset:”8f4543f202798095353afda44141ebb6b5b2e4e5/rtems-docs” 8f4543f/rtems-docs]:

user: Mention that the bsp_specs are gone

Update #3250.

Author: Amar Takhar

2024-04-25T20:45:58.891Z

changed the description

2985 - Add documentation for printk()

Id

2985

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2017-04-07T15:11:16.000Z

Updated

2024-04-25T20:45:40.287Z

Milestone

6.1

Labels

doc, priority::normal, qualification, resolution::fixed, tickettype::defect, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2985

Merges

0

printk() and its variants should be documented in the Classic API User’s Guide. I am not sure where though.

Author: Trac Migrate

2017-05-11T07:31:02.000Z

  • Milestone changed from %”4.12” to %”4.12.0”

Author: Trac Migrate

2017-06-08T07:50:04.000Z

  • Milestone changed from %”4.12.0” to %”Indefinite”

Author: Trac Migrate

2021-08-12T12:30:29.000Z

  • Milestone changed from %”Indefinite” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from new to closed

This was fixed by #4482.

Author: Amar Takhar

2024-04-25T20:45:40.320Z

changed the description

2971 - Add fenv.h to newlib

Id

2971

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2017-04-03T23:54:19.000Z

Updated

2024-04-25T20:45:37.021Z

Milestone

6.1

Labels

posix::compliance, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2971

Merges

0

fenv.h is not present. * http://pubs.opengroup.org/onlinepubs/9699919799/ * feclearexcept, fegetenv, fegetexceptflag, fegetround, feholdexcept, feraiseexcept, fesetenv, fesetexceptflag, fesetround, fetestexcept, feupdateenv * Cygwin has x86 implementation. FreeBSD should be source for ARM and some other architectures. The implementation is architecture specific.

When completed, see psxtests/Makefile.am and enable the fenv.h POSIX API Compliance Tests.

Author: Joel Sherrill

2018-03-16T18:37:28.000Z

  • Summary changed from Add fenv,h to newlib to Add fenv.h to newlib

Author: Joel Sherrill

2018-12-06T15:34:17.000Z

  • Description changed

`fenv.h` is not present.
* http://pubs.opengroup.org/onlinepubs/9699919799/
* `feclearexcept`, `fegetenv`, `fegetexceptflag`, `fegetround`, `feholdexcept`, `feraiseexcept`, `fesetenv`, `fesetexceptflag`, `fesetround`, `fetestexcept`, `feupdateenv`
* Cygwin has x86 implementation. FreeBSD should be source for ARM and some other architectures. The implementation is architecture specific.
+
+ When completed, see psxtests/Makefile.am and enable the fenv.h POSIX API Compliance Tests.
  • Owner set to Needs Funding

  • Status changed from new to assigned

  • Version ~”5” deleted

Author: Trac Migrate

2018-12-06T15:34:31.000Z

In [changeset:”da2621649ca002941c77295402b9052e128487ad/rtems” da262164/rtems]:

POSIX Signature Test for fenv.h (GCI 2018)

Updates #2971.

Author: Trac Migrate

2020-06-06T20:36:54.000Z

In [changeset:”e84587355a64152b8cd6ae748ac88d8c75447b51/rtems” e845873/rtems]:

tests for fenv.h functions

added tests for fesetexeptflag(), fegetexeptflag(),
fegetround(), fesetround().

In the test fegetround() does not return any flag
other then FE_TONEAREST in tests.
This is probably due to soft float.

The test complies successfully and returns assert
at fegetround()

Other tests run without any errors
tested on RISCV/rv32imac

The test prints nothing if runs successfully.

updates #2971

Signed-off-by: Eshan dhawan <eshandhawan51@gmail.com>

Author: Joel Sherrill

2021-12-03T20:16:07.000Z

  • Milestone changed from %”Indefinite” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

fenv.h has been added to newlib for many architectures.

Author: Amar Takhar

2024-04-25T20:45:37.126Z

changed the description

2365 - Task pre-emption disable is broken due to pseudo ISR tasks

Id

2365

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2015-06-11T13:18:57.000Z

Updated

2024-04-25T20:44:48.010Z

Milestone

6.1

Labels

priority::lowest, qualification, resolution::fixed, rtems::score, tickettype::defect, version::4.10

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2365

Merges

0

Original author: sebastian.huber

We have for example:

Scheduler_Void_or_thread _Scheduler_priority_Unblock (
const Scheduler_Control *scheduler,
Thread_Control          *the_thread
)
{
Scheduler_priority_Context *context =
_Scheduler_priority_Get_context( scheduler );
Scheduler_priority_Node *node = _Scheduler_priority_Thread_get_node( the_thread );

_Scheduler_priority_Ready_queue_enqueue(
&the_thread->Object.Node,
&node->Ready_queue,
&context->Bit_map
);

/* TODO: flash critical section? */

/*
*  If the thread that was unblocked is more important than the heir,
*  then we have a new heir.  This may or may not result in a
*  context switch.
*
*  Normal case:
*    If the current thread is preemptible, then we need to do
*    a context switch.
*  Pseudo-ISR case:
*    Even if the thread isn't preemptible, if the new heir is
*    a pseudo-ISR system task, we need to do a context switch.
*/
if ( the_thread->current_priority < _Thread_Heir->current_priority ) {
_Scheduler_Update_heir(
the_thread,
the_thread->current_priority == PRIORITY_PSEUDO_ISR
);
}

SCHEDULER_RETURN_VOID_OR_NULL;
}

So the unblock event of a pseudo ISR task (MPCI or timer server) may pre-empt a task with disabled pre-emption. Suppose a higher priority task than the non-preemptible task is ready. Then this task gets scheduled once the pseudo ISR task blocks again.

Author: Trac Migrate

2015-06-12T12:00:01.000Z

Original author: sebastian.huber

In changeset 0562060f074eea3fdcf5274aa3b7cbc8fe14993d:

sptests/sptasknopreempt01: New test Update #2365.

Author: Trac Migrate

2015-06-12T12:12:15.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

We have for example:

+ {{{
Scheduler_Void_or_thread _Scheduler_priority_Unblock (
const Scheduler_Control *scheduler,
Thread_Control          *the_thread
)
{
Scheduler_priority_Context *context =
_Scheduler_priority_Get_context( scheduler );
Scheduler_priority_Node *node = _Scheduler_priority_Thread_get_node( the_thread );

_Scheduler_priority_Ready_queue_enqueue(
&the_thread->Object.Node,
&node->Ready_queue,
&context->Bit_map
);

/* TODO: flash critical section? */

/*
*  If the thread that was unblocked is more important than the heir,
*  then we have a new heir.  This may or may not result in a
*  context switch.
*
*  Normal case:
*    If the current thread is preemptible, then we need to do
*    a context switch.
*  Pseudo-ISR case:
*    Even if the thread isn't preemptible, if the new heir is
*    a pseudo-ISR system task, we need to do a context switch.
*/
if ( the_thread->current_priority < _Thread_Heir->current_priority ) {
_Scheduler_Update_heir(
the_thread,
the_thread->current_priority == PRIORITY_PSEUDO_ISR
);
}

SCHEDULER_RETURN_VOID_OR_NULL;
}
+ }}}

So the unblock event of a pseudo ISR task (MPCI or timer server) may pre-empt a task with disabled pre-emption.  Suppose a higher priority task than the non-preemptible task is ready.  Then this task gets scheduled once the pseudo ISR task blocks again.

Author: Trac Migrate

2017-01-26T07:16:00.000Z

Original author: sebastian.huber

  • Milestone changed from %”4.11.1” to %”4.11.2”

Author: Trac Migrate

2017-02-15T13:44:44.000Z

Original author: sebastian.huber

  • Milestone changed from %”4.11.2” to %”Indefinite”

  • Owner set to Needs Funding

  • Status changed from new to assigned

Author: Trac Migrate

2022-07-15T08:39:46.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

  • Owner set to sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2022-07-26T09:18:04.000Z

Original author: sebastian.huber

In [changeset:”f1eb94b1430b63f0818dea5b047e3ebbcb7f370f/rtems-docs” f1eb94b/rtems-docs]:

c-user: Do not mention pseudo-interrupt priority

Update #2365.

Author: Trac Migrate

2022-07-26T09:23:16.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”7fe6d60bf08df975c395515074c85976d9e4e3fb/rtems” 7fe6d60/rtems]:

score: Remove PRIORITY_PSEUDO_ISR thread priority

The uniprocessor schedulers had some special case logic for the
PRIORITY_PSEUDO_ISR priority.  Tasks with a priority of PRIORITY_PSEUDO_ISR
were allowed to preempt a not preemptible task.  If other higher priority task
are made ready while a PRIORITY_PSEUDO_ISR task preempts a not preemptible
task, then the other tasks run before the not preemptible task.  This made the
RTEMS_NO_PREEMPT mode ineffective.

Remove the PRIORITY_PSEUDO_ISR special case logic.  This simplifies the
uniprocessor schedulers.  Move the uniprocessor-specific scheduler support to
the new header file <rtems/score/scheduleruniimpl.h>.

Close #2365.

Author: Amar Takhar

2024-04-25T20:44:48.055Z

changed the description

2349 - Timecounter: Add PPS support

Id

2349

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2015-05-20T06:33:02.000Z

Updated

2024-04-25T20:44:46.666Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::enhancement, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2349

Merges

0

Original author: sebastian.huber

The FreeBSD timecounter implementation supports the RFC 2783 PPS-API. This support is currently disabled in RTEMS.

Author: Chris Johns

2017-08-14T00:08:39.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.0” to %”Indefinite”

  • Version ~”4.11” deleted

Author: Trac Migrate

2022-05-23T07:02:19.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

Author: Trac Migrate

2022-05-23T07:04:29.000Z

Original author: sebastian.huber

In [changeset:”9b4212c7b0d6b4b3c73c0a6ea582a72b16ccd374/rtems” 9b4212c7/rtems]:

kern_ntptime.c: Disable freebsd features

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:31.000Z

Original author: sebastian.huber

In [changeset:”a3930e8c49b29fa4a98c4eeeddbdb7b18d371292/rtems” a3930e8c/rtems]:

kern_ntptime.c: Add lmax() qmin() definitions

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:34.000Z

Original author: sebastian.huber

In [changeset:”bf61753a9209233119c8e5723463d2e21ef56e2a/rtems” bf61753a/rtems]:

kern_tc.c: Add atomic dependencies required by the PPS API

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:36.000Z

Original author: sebastian.huber

In [changeset:”95c747d9e71d4d385cfed0554c9dadfa76c44491/rtems” 95c747d9/rtems]:

kern_tc.c: Replace FreeBSD event mechanism by adding pointers to function

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:39.000Z

Original author: sebastian.huber

In [changeset:”ac4ea5366482dad9150c5aaa652b71c00960741f/rtems” ac4ea53/rtems]:

score: Rename tc_getfrequency()

Rename tc_getfrequency() to _Timecounter_Get_frequency().

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:41.000Z

Original author: sebastian.huber

In [changeset:”c34d3aecb19dd78c8204fcc9342aecdaedf38d38/rtems” c34d3ae/rtems]:

kern_tc.c: Add definitions required by PPS API

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:43.000Z

Original author: sebastian.huber

In [changeset:”13513b810422fe181254cba32d61d85ad79d6cf2/rtems” 13513b81/rtems]:

kern_tc.c: Enable PPS API support

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:45.000Z

Original author: sebastian.huber

In [changeset:”b304603b62e3c6d579bcad5ab6bd45b455cfa39f/rtems” b304603b/rtems]:

kern_ntptime.c: Add define in order to remove warning

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:48.000Z

Original author: sebastian.huber

In [changeset:”b3e4f5809d4a3b4d235cd175f39d1d95a0c2b128/rtems” b3e4f58/rtems]:

timepps.h: PPS_SYNC defined by default

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:50.000Z

Original author: sebastian.huber

In [changeset:”5ccf9605ddfd0a226f7f1c6c3ecde8623b82c837/rtems” 5ccf960/rtems]:

timecounter.h: Add _Timecounter_Discipline()

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:52.000Z

Original author: sebastian.huber

In [changeset:”6553bf4ab60490134f362e3933023bb5bbceecdf/rtems” 6553bf4/rtems]:

testsuites/sptests: Add sppps01 test

Update #2349.

Author: Trac Migrate

2022-05-23T07:04:54.000Z

Original author: sebastian.huber

In [changeset:”495f8363ded3ea881f0c5f960ff49baa59a2ac9b/rtems” 495f836/rtems]:

score: Reformat for code coverage

Close #2349.

Author: Trac Migrate

2022-05-27T09:25:53.000Z

Original author: sebastian.huber

In [changeset:”044e8b6b979cc8186b435ea60411789fe5cb7e87/rtems” 044e8b6/rtems]:

score: Fix pps_fetch()

Return early only if there was a timeout, otherwise return the PPS info.

Update #2349.

Author: Trac Migrate

2022-05-27T11:37:42.000Z

Original author: sebastian.huber

In [changeset:”34ba0e5a8e5d8f9c9ce2b10bcc4887b82130a0c1/rtems” 34ba0e5a/rtems]:

sppps01: Improve default handler test

Update #2349.

Author: Trac Migrate

2022-06-10T09:06:14.000Z

Original author: sebastian.huber

In [changeset:”11621c9c521f7d9fe5e090a06f469b5d41e6be17/rtems” 11621c9c/rtems]:

kern_tc.c: Update pps_event() for uniprocessor configurations

Since pps->capgen equal to zero is not a special value in uniprocessor configurations, there is no need to check for this condition.

Update #2349

Author: Trac Migrate

2022-06-23T07:42:35.000Z

Original author: sebastian.huber

In [changeset:”94df3a7a6d7c778766ed30a41b55f700475f7e25/rtems” 94df3a7a/rtems]:

kern_tc.c: Provide a weak hardpps() implementation

The real implementation of hardpps() is defined in kern_ntptime.c.  Use it only
if the NTP support is needed by the application.

Update #2349.

Author: Trac Migrate

2022-07-05T13:10:33.000Z

Original author: sebastian.huber

In [changeset:”eefaf0687c2af9f17c98f4f22fbb5a34642ea1d5/rtems” eefaf068/rtems]:

sppps01: Add test case for early returns of pps_event()

Update #2349.

Author: Trac Migrate

2022-07-13T13:58:58.000Z

Original author: sebastian.huber

In [changeset:”013e028f8742f547885a78dd4dab069a6984a26f/rtems” 013e028/rtems]:

sppps01: Fix test in SMP configurations

Update #2349.

Author: Amar Takhar

2024-04-25T20:44:46.705Z

changed the description

2348 - Timecounter: Add NTP support

Id

2348

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2015-05-20T06:30:47.000Z

Updated

2024-04-25T20:44:46.209Z

Milestone

6.1

Labels

priority::normal, qualification, resolution::fixed, rtems::score, tickettype::enhancement, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2348

Merges

0

Original author: sebastian.huber

The FreeBSD timecounter implementation supports the NTP. This support is currently disabled in RTEMS.

Author: Chris Johns

2017-08-14T00:08:25.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.0” to %”Indefinite”

  • Version ~”4.11” deleted

Author: Chris Johns

2021-10-27T00:47:22.000Z

Original author: sebastian.huber

There needs to be an interface in the score to provide access to ntp_update_second(). The call may not be present in the kernel sources, it will mostly likely be provided by an application or an external library such as libbsd.a.

I suggest a file is added to the score that contains ntp_update_second() and that function checks a function pointer and if set the function is called. This brings kern_tc.c closer to upstream FreeBSD sources.

While on the topic of kern_tc.c and being as close to FB as we can, I think the RTEMS doxygen comments should be removed. We should maintain a common policy for imported sources like this.

Author: Trac Migrate

2021-10-27T05:37:47.000Z

Original author: sebastian.huber

Good timing, I recently updated kern_tc.c to the latest FreeBSD version:

https://git.rtems.org/sebh/rtems.git/log/?h=timecounter-2021

I just didn’t send the patch set for review yet, since nobody commented on the new clock manager directives so far:

https://lists.rtems.org/pipermail/devel/2021-October/069697.html

The kern_tc.c is quite close to the original FreeBSD code and the Doxygen comment block on top of the file is not an issue.

In this patch set I removed the NTP code block since nobody was interested in NTP support in the last 6 years:

https://git.rtems.org/sebh/rtems.git/commit/?h=timecounter-2021&id=f85259b1edfff1d89c013c97510a9427825ea81b

This enabled a performance optimization here:

https://git.rtems.org/sebh/rtems.git/commit/?h=timecounter-2021&id=04ed8d3c8cf88b7f1e3fb7ad78a91be1fefc396c

The performance optimization is important for targets with slow 64-bit divisions (which are most RTEMS targets). If you want to add NTP support, then we have to restructure the FreeBSD code a bit. This can be integrated in FreeBSD. I can do this it just depends on how urgent it is.

In a first approach the proposed callback makes sense. If someone using lwIP needs NTP support, then we can add kern_ntptime.c to RTEMS.

Author: Chris Johns

2021-10-27T06:33:28.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

Good timing, I recently updated kern_tc.c to the latest FreeBSD version:

It does seem so. :)

https://git.rtems.org/sebh/rtems.git/log/?h=timecounter-2021 I just didn’t send the patch set for review yet, since nobody commented on the new clock manager directives so far:

I only suspected something was in the works because of the posts to FreeBSD hackers. It would be good to resolve the PTP support.

https://lists.rtems.org/pipermail/devel/2021-October/069697.html

I saw this but I did not look closely. I did not know it was a request for a new feature. I will add it to my list so sorry about that.

The kern_tc.c is quite close to the original FreeBSD code and the Doxygen comment block on top of the file is not an issue.

Why the special exception here?

My focus for the leadership group, including you, is to set policies for this sort of thing and then having everyone accept and adhere to them. It is simpler and more democratic to do this. My concern is having a rule that creates an exceptions because it makes things complicated. I know this is a single file but there are other places where more code comes across and this is where things become confusing.

In this patch set I removed the NTP code block since nobody was interested in NTP support in the last 6 years: https://git.rtems.org/sebh/rtems.git/commit/?h=timecounter-2021&id=f85259b1edfff1d89c013c97510a9427825ea81b

It is needed. I have openly discuss this topic …

https://lists.rtems.org/pipermail/devel/2021-March/065608.html

The PTP changes for RTEMS have only just been posted upstream ..

https://github.com/ptpd/ptpd/pull/85

Gabriel has done a fantastic job getting my hacks into a suitable state they would be pushed upstream.

This enabled a performance optimization here: https://git.rtems.org/sebh/rtems.git/commit/?h=timecounter-2021&id=04ed8d3c8cf88b7f1e3fb7ad78a91be1fefc396c The performance optimization is important for targets with slow 64-bit divisions (which are most RTEMS targets). If you want to add NTP support, then we have to restructure the FreeBSD code a bit. This can be integrated in FreeBSD. I can do this it just depends on how urgent it is.

I have nothing to offer here and will happily be guided by you. I am sorry I have no time to spend looking at the detail.

In a first approach the proposed callback makes sense. If someone using lwIP needs NTP support, then we can add kern_ntptime.c to RTEMS.

The support being added is LibBSD so I am not sure where kern_ntptime.c is being added. Maybe Gabriel can be comment more on this.

Author: Trac Migrate

2021-10-27T12:03:51.000Z

Original author: sebastian.huber

kern_ntptime.c is ported from freebsd-org to freebsd in rtems-libbsd. The last commits of this branch https://github.com/GabrielDai/rtems-libbsd/tree/ptpd show the changes.

Regarding adding the function ntp_update_second() in score, do you know where the function pointer should be updated (to point to ntp_update_second() in kern_ntptime.c)?

Author: Trac Migrate

2021-10-28T05:25:49.000Z

Original author: sebastian.huber

Replying to Chris Johns:

Replying to Sebastian Huber:

The kern_tc.c is quite close to the original FreeBSD code and the Doxygen comment block on top of the file is not an issue.

Why the special exception here? My focus for the leadership group, including you, is to set policies for this sort of thing and then having everyone accept and adhere to them. It is simpler and more democratic to do this. My concern is having a rule that creates an exceptions because it makes things complicated. I know this is a single file but there are other places where more code comes across and this is where things become confusing.

There is not just one rule involved here. The timekeeping is an important service of an operating system. It should be visible in the internal documentation (Doxygen). The file history shows that there is no issue with keeping it in synchronization with FreeBSD.

Author: Trac Migrate

2021-10-28T05:35:06.000Z

Original author: sebastian.huber

Replying to GabrielMoyano:

kern_ntptime.c is ported from freebsd-org to freebsd in rtems-libbsd. The last commits of this branch https://github.com/GabrielDai/rtems-libbsd/tree/ptpd show the changes. Regarding adding the function ntp_update_second() in score, do you know where the function pointer should be updated (to point to ntp_update_second() in kern_ntptime.c)?

The callback for ntp_update_second() is currently not implemented. I would like to integrate my patch set which updates kern_tc.c to the latest FreeBSD version first. I would like to also try to rearrange the code a bit in the FreeBSD upstream. For libbsd my approach would be to add an internal API to #include <rtems/score/timecounter.h> which can be used to set the NTP callback in kern_ntptime.c.

Author: Chris Johns

2021-10-28T07:47:23.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

Replying to Chris Johns:

Replying to Sebastian Huber:

The kern_tc.c is quite close to the original FreeBSD code and the Doxygen comment block on top of the file is not an issue.

Why the special exception here? My focus for the leadership group, including you, is to set policies for this sort of thing and then having everyone accept and adhere to them. It is simpler and more democratic to do this. My concern is having a rule that creates an exceptions because it makes things complicated. I know this is a single file but there are other places where more code comes across and this is where things become confusing.

There is not just one rule involved here. The timekeeping is an important service of an operating system. It should be visible in the internal documentation (Doxygen). The file history shows that there is no issue with keeping it in synchronization with FreeBSD.

This is not about the history. The history of this file reflects the quality of the person currently doing the work and it is a very high standard. Expecting that standard everywhere is asking a lot. I think we need to document how we integrate external code and for that I was considering the following as the basis:

https://git.rtems.org/rtems-libbsd/tree/CONTRIBUTING.md#n248

I would be interested to understand how this score file or files like it could be handled by a rule or rules? A rule in the ticket may not be clean and suitable documentation however it provides me with a means to show what we consider as OK if you could provide this.

Author: Trac Migrate

2021-10-28T09:17:20.000Z

Original author: sebastian.huber

Replying to Chris Johns:

Replying to Sebastian Huber:

Replying to Chris Johns:

Replying to Sebastian Huber:

The kern_tc.c is quite close to the original FreeBSD code and the Doxygen comment block on top of the file is not an issue.

Why the special exception here? My focus for the leadership group, including you, is to set policies for this sort of thing and then having everyone accept and adhere to them. It is simpler and more democratic to do this. My concern is having a rule that creates an exceptions because it makes things complicated. I know this is a single file but there are other places where more code comes across and this is where things become confusing.

There is not just one rule involved here. The timekeeping is an important service of an operating system. It should be visible in the internal documentation (Doxygen). The file history shows that there is no issue with keeping it in synchronization with FreeBSD.

This is not about the history. The history of this file reflects the quality of the person currently doing the work and it is a very high standard. Expecting that standard everywhere is asking a lot. I think we need to document how we integrate external code and for that I was considering the following as the basis: https://git.rtems.org/rtems-libbsd/tree/CONTRIBUTING.md#n248 I would be interested to understand how this score file or files like it could be handled by a rule or rules? A rule in the ticket may not be clean and suitable documentation however it provides me with a means to show what we consider as OK if you could provide this.

The libbsd contributing rules make sense for libbsd which deals with a couple of hundred files and a semi-automatic synchronization support.

External files placed in the score should integrate into the score documentation and be maintainable. Here we need a bit more flexibility.

Author: Trac Migrate

2021-10-28T09:33:48.000Z

Original author: sebastian.huber

I updated the timecounter update branch to include support for an NTP update second handler:

https://git.rtems.org/sebh/rtems.git/log/?h=timecounter-2021

https://git.rtems.org/sebh/rtems.git/commit/?h=timecounter-2021&id=817437b6dda00764f368b2da9eeab67ec284a3bd

I wait for some feedback on the FreeBSD mailing list before I send the patch set for review.

Author: Trac Migrate

2021-10-28T11:29:14.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

I updated the timecounter update branch to include support for an NTP update second handler: https://git.rtems.org/sebh/rtems.git/log/?h=timecounter-2021 https://git.rtems.org/sebh/rtems.git/commit/?h=timecounter-2021&id=817437b6dda00764f368b2da9eeab67ec284a3bd

This looks nice, thx. Now, I guess that one option is to call _Timecounter_Set_NTP_update_second() just before starting ptpd

I wait for some feedback on the FreeBSD mailing list before I send the patch set for review.

ok

Author: Chris Johns

2021-10-28T22:57:18.000Z

Original author: sebastian.huber

Replying to Sebastian Huber:

Replying to Chris Johns:

Replying to Sebastian Huber:

Replying to Chris Johns:

Replying to Sebastian Huber:

The kern_tc.c is quite close to the original FreeBSD code and the Doxygen comment block on top of the file is not an issue.

Why the special exception here? My focus for the leadership group, including you, is to set policies for this sort of thing and then having everyone accept and adhere to them. It is simpler and more democratic to do this. My concern is having a rule that creates an exceptions because it makes things complicated. I know this is a single file but there are other places where more code comes across and this is where things become confusing.

There is not just one rule involved here. The timekeeping is an important service of an operating system. It should be visible in the internal documentation (Doxygen). The file history shows that there is no issue with keeping it in synchronization with FreeBSD.

This is not about the history. The history of this file reflects the quality of the person currently doing the work and it is a very high standard. Expecting that standard everywhere is asking a lot. I think we need to document how we integrate external code and for that I was considering the following as the basis: https://git.rtems.org/rtems-libbsd/tree/CONTRIBUTING.md#n248 I would be interested to understand how this score file or files like it could be handled by a rule or rules? A rule in the ticket may not be clean and suitable documentation however it provides me with a means to show what we consider as OK if you could provide this.

The libbsd contributing rules make sense for libbsd which deals with a couple of hundred files and a semi-automatic synchronization support. External files placed in the score should integrate into the score documentation and be maintainable. Here we need a bit more flexibility.

This makes sense. Should the documentation should be limited to a single block at the start of the file and else where in the file the LibBSD rules apply?

Author: Trac Migrate

2021-11-15T08:16:56.000Z

Original author: sebastian.huber

In [changeset:”ffb8833dd28418cb7e427f0a0469bfc49e18ecf2/rtems” ffb8833d/rtems]:

score: Add _Timecounter_Set_NTP_update_second()

Allow the installation of an NTP update second handler which may be used by an
NTP service.

Update #2348.

Author: Trac Migrate

2021-11-15T08:19:27.000Z

Original author: sebastian.huber

Replying to GabrielMoyano:

Replying to Sebastian Huber:

This looks nice, thx. Now, I guess that one option is to call _Timecounter_Set_NTP_update_second() just before starting ptpd

I wait for some feedback on the FreeBSD mailing list before I send the patch set for review.

ok

I checked in the patch set. The kern_tc.c is now fully synchronized with the latest FreeBSD version. You can now install an NTP update second handler via _Timecounter_Set_NTP_update_second() from #include <rtems/score/timecounter.h>.

Author: Trac Migrate

2021-11-15T10:56:37.000Z

Original author: sebastian.huber

I checked in the patch set. The kern_tc.c is now fully synchronized with the latest FreeBSD version. You can now install an NTP update second handler via _Timecounter_Set_NTP_update_second() from #include <rtems/score/timecounter.h>.

Thank you very much Sebastian. Are the changes portable to the branch 5? Our development is based on that branch and it will be very nice to have them there too

Author: Trac Migrate

2021-11-15T11:25:13.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

  • Version set to ~”4.11”

Author: Trac Migrate

2021-11-15T11:27:10.000Z

Original author: sebastian.huber

Replying to GabrielMoyano:

I checked in the patch set. The kern_tc.c is now fully synchronized with the latest FreeBSD version. You can now install an NTP update second handler via _Timecounter_Set_NTP_update_second() from #include <rtems/score/timecounter.h>.

Thank you very much Sebastian. Are the changes portable to the branch 5? Our development is based on that branch and it will be very nice to have them there too

I think the patch set is back portable to RTEMS 5 without breaking the ABI/API. Just clone this ticket and set the mile stone to 5.2. Then try to back port all the changes or a subset and send it for review. I have no time to work on it.

Author: Trac Migrate

2021-11-15T11:40:42.000Z

Original author: sebastian.huber

I think the patch set is back portable to RTEMS 5 without breaking the ABI/API. Just clone this ticket and set the mile stone to 5.2. Then try to back port all the changes or a subset and send it for review. I have no time to work on it.

Thx. I’ll do so. Here the ticket https://devel.rtems.org/ticket/4549#ticket

Author: Joel Sherrill

2021-12-17T17:02:43.000Z

Original author: sebastian.huber

Is this ticket ready to close?

Author: Trac Migrate

2022-02-21T13:15:10.000Z

Original author: sebastian.huber

In [changeset:”91057b3bdfa5c339a4435d0826e1581acd0ce197/rtems” 91057b3/rtems]:

kern_ntptime.c: Import from FreeBSD

The file was imported from this repository:

https://github.com/freebsd/freebsd.git

This commit was used:

commit 3ec0dc367bff27c345ad83240625b2057af391b9
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Mon Feb 7 14:16:16 2022 -0700

kern_ntptime.c: Remove ntp_init()

The ntp_init() function did set a couple of global objects to zero.  These
objects are in the .bss section and already initialized to zero during kernel
or module loading.

Update #2348.

Author: Trac Migrate

2022-02-21T13:15:14.000Z

Original author: sebastian.huber

In [changeset:”8f1e8f8f26525a8819c8982a2d2c4e339e9921a0/rtems” 8f1e8f8f/rtems]:

kern_ntptime.c: Port to RTEMS

Remove previous adjtime() implementation.

Update #2348.

Author: Trac Migrate

2022-06-07T06:54:14.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Author: Amar Takhar

2024-04-25T20:44:46.247Z

changed the description

2189 - Insufficient documentation for rtems_clock_get_tod()

Id

2189

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2014-09-16T06:33:52.000Z

Updated

2024-04-25T20:44:32.519Z

Milestone

6.1

Labels

priority::highest, priority::normal, qualification, resolution::fixed, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2189

Merges

0

Original author: sebastian.huber

It is not clear which date and time is returned by rtems_clock_get_tod(). For example which time zone is used. Is there a relation to UTC?

Author: Chris Johns

2014-09-16T07:29:53.000Z

Original author: sebastian.huber

  • Cc added @@chrisj

The timezone is the one you used when you set the time with the set call. If the time is not set this function returns RTEMS_NOT_DEFINED. It is assumed you set a suitable time in the first place and know the specific context of use.

Author: Gedare Bloom

2014-12-19T05:06:18.000Z

Original author: sebastian.huber

  • Priority changed from ~”normal” to ~”highest”

Bump priority to highest for tickets with a fix attached or seemingly simple fix proposed in the description or comments.

Author: Gedare Bloom

2015-03-02T20:42:45.000Z

Original author: sebastian.huber

  • Milestone changed from %”4.11” to %”4.11.1”

bump milestone

Author: Joel Sherrill

2015-10-20T23:05:06.000Z

Original author: sebastian.huber

This ticket does not have a patch attached or an obvious (to me) fix. What is the fix proposed?

Author: Trac Migrate

2015-10-21T05:42:48.000Z

Original author: sebastian.huber

We need a more precise documentation of the time services. How are leap seconds handled for example? UNIX time vs. UTC.

Author: Trac Migrate

2015-11-24T09:34:59.000Z

Original author: sebastian.huber

The wall clock time services lack documentation in general. What is the relation between rtems_time_of_day and the UNIX time as specified by IEEE Std 1003.1, 2013 Edition, 4.15 Seconds Since the Epoch (http://pubs.opengroup.org/onlinepubs/9699919799/). For example _TOD_To_seconds() does not use the expression in this standard document. This affects rtems_timer_fire_when().

Author: Joel Sherrill

2015-11-24T16:22:54.000Z

Original author: sebastian.huber

Can you provide a specific link? That is to the top of the standard.

Author: Trac Migrate

2015-11-25T06:49:43.000Z

Original author: sebastian.huber

4.15 Seconds Since the Epoch

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html

See also

http://www.madore.org/~david/computers/unix-leap-seconds.html

Author: Trac Migrate

2017-01-26T07:16:00.000Z

Original author: sebastian.huber

  • Milestone changed from %”4.11.1” to %”4.11.2”

Author: Trac Migrate

2017-02-15T13:37:51.000Z

Original author: sebastian.huber

  • Milestone changed from %”4.11.2” to %”Indefinite”

  • Owner set to Needs Funding

  • Status changed from new to assigned

Author: Trac Migrate

2021-09-29T13:23:52.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Documentation was improved for RTEMS 6.

Author: Amar Takhar

2024-04-25T20:44:32.559Z

changed the description

4999 - missing bsp’s in rtems 6.1 rc2

Id

4999

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2024-03-13T17:07:04.000Z

Updated

2024-03-15T01:44:17.000Z

Milestone

6.1

Labels

arch:powerpc, priority::high, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4999

Merges

0

Original author: junkes@fhi-berlin.mpg.de

Only a few bsps are available as configurations (bsets). Not all that are listed in the documentation. E.g. ‘beatnik’ is missing.

this is the output of ../source-builder/sb-set-builder –list-bsets … bsps/atsamv.bset bsps/beagleboneblack.bset bsps/erc32.bset bsps/gr712rc.bset bsps/gr740.bset bsps/imx7.bset bsps/pc.bset bsps/qoriq_e500.bset bsps/qoriq_e6500_32.bset bsps/qoriq_e6500_64.bset bsps/raspberrypi2.bset bsps/xilinx_zynq_zc702.bset bsps/xilinx_zynq_zc706.bset bsps/xilinx_zynq_zedboard.bset …

Author: Trac Migrate

2024-03-14T08:41:12.000Z

Original author: junkes@fhi-berlin.mpg.de

  • Resolution set to ~”fixed”

  • Status changed from new to closed

but this works? ../source-builder/sb-set-builder –prefix=$HOME/development/rtems/6.1-rc2 –target=powerpc-rtems6 –with-rtems-bsp=powerpc/beatnik –with-rtems-tests=yes 6/rtems-kernel

Author: Joel Sherrill

2024-03-14T14:26:09.000Z

Original author: junkes@fhi-berlin.mpg.de

Is that kernel building command line equivalent? The BSP stack bsets include more than RTEMS – they usually build the tools, rtems, network stack, and likely some support libraries. This is from BBB:

6/rtems-arm
6/rtems-kernel
6/rtems-libbsd
6/rtems-packages

If you want that set easily buildable and not just RTEMS, some more BSPs need to get added.

It would be a question for Chris, but I wonder if the RSB supports a way to have a template bset that the arch and bsp come from the command line. This could reduce it to 3 bsets (libbsd, lwip, and no networking). Just a thought.

And FWIW every BSP bset gets built as part of the OAR build sweeper. Just as needed when there are changes requiring it.

Author: Chris Johns

2024-03-15T01:44:17.000Z

Original author: junkes@fhi-berlin.mpg.de

The RTEMS deployment repo has more examples and possible ways to build BSP packages:

https://git.rtems.org/chrisj/rtems-deployment.git/tree/config/epics

4995 - powerpc/qoriq_e6500_64 rtems-syms unknown machine type (cloned)

Id

4995

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2024-02-26T09:37:41.000Z

Updated

2024-02-29T08:57:20.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4995

Merges

0

Cloned from #3627:


rtems-syms does not know 64-bit powerpc.

gmake[5]: Entering directory `/data/home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qoriq_e6500_64-rtems/powerpc-rtems5/c/qoriq_e6500_64/testsuites/libtests'
rtems-syms -e -c "-mcpu=e6500 -m64 -fno-common -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs" -o dl07-sym.o dl07.pre
error: machine-type: unknown machine type: 21

Author: Trac Migrate

2024-02-29T08:57:20.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e7d5f9c0091b3491d662591e4c5c7ee3ae81aa70/rtems-tools” e7d5f9c/rtems-tools]:

rld: Recognize 64-bit PowerPC

Close #4995.

4974 - rtems-tools buid failed with ‘–host=x86_64-w64-mingw32’

Id

4974

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-11-30T06:30:04.000Z

Updated

2024-02-29T08:56:09.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4974

Merges

0

Original author: jameszxj

rtems-tools build failed with “–host=x86_64-w64-mingw32” after the commit https://git.rtems.org/rtems-tools/commit/?id=a4b312ee4f3d8c93ab0d45d568879069e7ac7d7a ‘writeargv’ is undefined. add libierty/argv.c will solve this problem.

Author: Trac Migrate

2023-11-30T06:31:44.000Z

Original author: jameszxj

Author: Trac Migrate

2023-11-30T06:33:40.000Z

Original author: jameszxj

argv.c file of patch is from gcc13.2

Author: Trac Migrate

2024-02-29T08:56:09.000Z

Original author: jameszxj

  • Owner set to zhengxiaojun <jameszxj@gmail.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”ce16c8084093f8a54afdd2d22954e41588a2bc81/rtems-tools” ce16c808/rtems-tools]:

add libiberty/argv.c for mingw32 build

Signed-off-by: zhengxiaojun <jameszxj@gmail.com>

Close #4974.

4969 - Update libibery sources in rtems-tools

Id

4969

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-11-21T04:56:37.000Z

Updated

2024-02-28T08:19:04.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4969

Merges

0

MacOS is removing vfork. Update to gcc latest sources and use POSIX spawn support.

Update all files.

Author: Trac Migrate

2023-11-21T21:29:38.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a4b312ee4f3d8c93ab0d45d568879069e7ac7d7a/rtems-tools” a4b312e/rtems-tools]:

rtemstoolkit/libierty: Update to gcc latest

- Use POSIX spawn support for MacOS

Closes #4969

Author: Trac Migrate

2023-11-23T22:36:13.000Z

In [changeset:”b7bb49321ce59f083577b0f31dcb290a63322e43/rtems-source-builder” b7bb493/rtems-source-builder]:

rtems/rtems-tools: Update with C++17 and Python 3.12 fixes

Updates #4969
Updates #4970

Author: Trac Migrate

2024-02-28T08:19:04.000Z

In [changeset:”489565f330da91bbcf35b4a51504c6cf5d32c6fb/rtems-tools” 489565f/rtems-tools]:

rtemstoolkit/libiberty: Add missing file

This fixes the following build error for --host=x86_64-w64-mingw32:

rtemstoolkit/libiberty.a(pex-win32.c.18.o): in function `win32_spawn':
rtemstoolkit/libiberty/pex-win32.c:643: undefined reference to `writeargv'

Update #4969.

4994 - Documentation Sphinx theme broken for HTML

Id

4994

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2024-02-21T05:01:50.000Z

Updated

2024-02-21T16:54:08.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4994

Merges

0

The theme in rtems-docs.git breaks with newer versions of sphinx-build.

Author: Amar Takhar

2024-02-21T05:29:03.000Z

Are you going to fix this?

Also you didn’t mention which version of Sphinx. Which one?

Author: Trac Migrate

2024-02-21T16:54:08.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”204ac80935eb82f7b32603f63a12b7f0651a17e6/rtems-docs” 204ac80/rtems-docs]:

sphinx: Use the pip installed sphinx-rtd-theme

- Remove the RTEMS version of the theme

- Use conf.py to specify our style sheet

- Depend on the jQuery contrib package for including jQuery

- Detect the theme is installed

Closes #4994

4967 - strtof leaks memory

Id

4967

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-11-15T04:07:59.000Z

Updated

2024-02-16T01:01:37.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::newlib, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4967

Merges

0

The libc call strtof leaks memory when a thread exits if strtof has been made within the context of the thread. The code uses Balloc and Bfree to obtain pieces of memory it uses. The memory is recycled using newlib reent TLS variables. The _reclaim_reent() does not clean up _REENT_MP_P5S.

Author: Chris Johns

2023-11-15T04:08:39.000Z

Testsuite test to check strtof heap usage

Author: Chris Johns

2023-11-15T04:32:48.000Z

The patch fixes the memory leack in strtof family of calls.

Author: Trac Migrate

2023-11-22T06:12:50.000Z

In [changeset:”07be298e0d32b1cccfcd8456782f40fc92cddc21/rtems-source-builder” 07be298/rtems-source-builder]:

6/7: Update Newlib

Pick up fixes for ARM/optimized-routines and the memory reclamation at thread
exit.

Update #4510.
Update #4967.

Author: Chris Johns

2024-02-16T01:01:37.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4666 - TFTP: Implement block and window size options

Id

4666

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-06-21T07:25:19.000Z

Updated

2024-01-18T16:36:42.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4666

Merges

0

Original author: sebastian.huber

Support the following TFTP options:

  • RFC 2347 TFTP Option Extension

  • RFC 2348 TFTP Blocksize Option

  • RFC 7440 TFTP Windowsize Option

Author: Trac Migrate

2022-06-21T07:46:13.000Z

Original author: sebastian.huber

In [changeset:”c044f0502a23a1a2c61b4e1f4db8a7895b72c2d9/rtems” c044f050/rtems]:

TFTPFS: Cleanup: Remove spaces at lines ends

Update #4666.

Author: Trac Migrate

2022-06-21T07:46:16.000Z

Original author: sebastian.huber

In [changeset:”679e7f109ab686255ca1e77f8b0cbb7812cf96e6/rtems” 679e7f10/rtems]:

TFTPFS: Implement block and window size options

The original file cpukit/libfs/src/ftpfs/tftpDriver.c
is split into two:

tftpfs.c     - This file contains the code from tftpDriver.c
related to file system operations such as mount(),
open(), read(), and so on.

tftpDriver.c - In the original file remains only the code related
to networking.  This code implements the Trivial
File Transfer Protocol (TFTP).

Moreover, the code is extended to support

* RFC 2347 TFTP Option Extension
* RFC 2348 TFTP Blocksize Option
* RFC 7440 TFTP Windowsize Option

Update #4666.

Author: Trac Migrate

2022-06-21T07:46:18.000Z

Original author: sebastian.huber

In [changeset:”3e2b4ec8575d33becb06b57cf1a0fbbd09a53f68/rtems” 3e2b4ec/rtems]:

TFTPFS: Add tests

Update #4666.

Author: Trac Migrate

2022-06-21T14:06:17.000Z

Original author: sebastian.huber

In [changeset:”e38d4f79fa5479ca243a6fd9ce31d83f325bb9b2/rtems” e38d4f7/rtems]:

TFTPFS: Reduce test configuration

Update #4666.

Author: Trac Migrate

2022-06-21T14:06:19.000Z

Original author: sebastian.huber

In [changeset:”085f3637aa1b9f62d464e79f55f67c8ed848c9bc/rtems” 085f363/rtems]:

TFTPFS: Fix test configuration for FP targets

The test uses snprintf().

Update #4666.

Author: Chris Johns

2022-11-29T22:50:21.000Z

Original author: sebastian.huber

Has this task been completed?

Author: Joel Sherrill

2023-02-10T13:51:58.000Z

Original author: sebastian.huber

Pinging again. Has this task been completed? If so, please close. If not, will it be done by 6.1?

Author: Trac Migrate

2023-02-27T16:21:32.000Z

Original author: sebastian.huber

All three RFCs have been implemented and the tests are also present and working. One additional patch was needed to provide a missing diagram for the documentation:

[https://lists.rtems.org/pipermail/devel/2022-October/073561.html]

Moreover, Coverity issues were fixed later on, see #4718.

This work on TFTP is completed and this ticket can be closed.

Author: Trac Migrate

2023-02-27T16:22:47.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Author: Trac Migrate

2024-01-18T16:36:42.000Z

Original author: sebastian.huber

In [changeset:”3626fe833d75291ee738f9aae7fe25e98adaaeec/rtems” 3626fe8/rtems]:

fstests/tftpfs: Fix build dependency

Update #4666.

4980 - Build documentation using sphinx 7.2

Id

4980

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-12-19T00:29:30.000Z

Updated

2023-12-19T20:41:50.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4980

Merges

0

  • Set no max version

  • Fix the layout to support versions later than 5.9

I have no idea when the breakage happened and if other versions are effected.

Author: Chris Johns

2023-12-19T01:02:27.000Z

I have tested a patch with versions:

Author: Trac Migrate

2023-12-19T20:41:50.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e31a0b22fe43e0ec910678cdc4bdcf2be661a461/rtems-docs” e31a0b2/rtems-docs]:

sphinx/style: Fix building with the latest sphinx

Tested on sphinx 7.2, 6.1.3 AND 5.3.0

Closes #4980

4959 - rtems-test tftp does not a session timeout

Id

4959

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-10-05T05:23:48.000Z

Updated

2023-12-18T05:30:16.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4959

Merges

0

The TFTP server has a timeout for session that are running however there is no timeout on the listen state. A target could fail to create a session. Add a session timeout.

Author: Trac Migrate

2023-11-07T21:07:44.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a22b396a32f1f1ce9b2d7c2c51dd9ea4d6db12fe/rtems-tools” a22b396/rtems-tools]:

tester/tftp: Add a session timeout

- Fix listener done state

- Finish open with the state as finished

Closes #4959

Author: Trac Migrate

2023-12-18T05:30:16.000Z

In [changeset:”384acf1bcb06e7e7b794395f4ebca7254acc59fb/rtems-tools” 384acf1/rtems-tools]:

tester/console: Fix restart regx check

The fix to the TFTP timeout has a simple bug.

Updates #4959

4977 - tmux bug swaps lines and columns

Id

4977

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-12-11T06:11:30.000Z

Updated

2023-12-13T20:22:30.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4977

Merges

0

A tmux bug which is fixed but not released swaps the columns and rows fields:

https://github.com/tmux/tmux/issues/3457

Given it will be a while before this enters downstream packages provide a work around.

also improve response time to the query. At the moment a 50 msec delay is imposed and it does not have to be there.

Author: Trac Migrate

2023-12-13T20:22:30.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7260887fa989c0141e7265cd851e00b4101410d8/rtems” 7260887/rtems]:

libmisc/shell: Work around tmux bug in row and column

- Extend the timeout to 150 msec for long remote sessions

- Improve the performance of the detection

Closes #4975
Closes #4977

4975 - Terminal row/col probe timeout too fast

Id

4975

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-12-05T02:33:10.000Z

Updated

2023-12-13T20:22:30.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4975

Merges

0

The timeout is too fast if the terminal and the target hardware are on different continents.

Author: Trac Migrate

2023-12-13T20:22:30.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7260887fa989c0141e7265cd851e00b4101410d8/rtems” 7260887/rtems]:

libmisc/shell: Work around tmux bug in row and column

- Extend the timeout to 150 msec for long remote sessions

- Improve the performance of the detection

Closes #4975
Closes #4977

4973 - Add RSB options to control a specific python

Id

4973

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-11-29T03:18:18.000Z

Updated

2023-12-06T21:50:45.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4973

Merges

0

Older hosts can have varying installations of pythons. Provide a means to set a version found in your path with:

  1. --with-python2

  2. --with-python3

  3. --with-python-version

Author: Trac Migrate

2023-12-06T21:50:45.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a970057f468d361fa122968fb690019a212ecdaa/rtems-source-builder” a970057/rtems-source-builder]:

gdb: Add options to control the python version

The options are:
--with-python2
--with-python3
--with-python-version

Closes #4973

4970 - Fix C++ 17 deprecated functionality in rtems-tools

Id

4970

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-11-22T00:54:22.000Z

Updated

2023-11-23T22:36:13.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4970

Merges

0

The C++ code uses functionality depreciated in c++17. Update and resolve.

Author: Chris Johns

2023-11-22T00:56:42.000Z

  • Summary changed from Fix C++ 17 depreciated funtionality to Fix C++ 17 depreciated funtionality in rtrems-tools

Add the repo to the subject

Author: Trac Migrate

2023-11-22T21:01:55.000Z

In [changeset:”00af5a6ada64a1f5b3500c6f9fc17f1b393c2940/rtems-tools” 00af5a6/rtems-tools]:

rtemstoolkit: Update SimpleIni to latest

The resolves C++17 warnings.

Updates #4970

Author: Trac Migrate

2023-11-22T21:01:56.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”f408c0f8d935d53c232c67bed39e4018fd8d7a2a/rtems-tools” f408c0f/rtems-tools]:

rtemstoolkit, linkers: Fix C++17 warnings

Closes #4970

Author: Joel Sherrill

2023-11-23T16:11:17.000Z

  • Summary changed from Fix C++ 17 depreciated funtionality in rtrems-tools to Fix C++ 17 deprecated functionality in rtems-tools

Fix spelling in title

Author: Trac Migrate

2023-11-23T22:36:13.000Z

In [changeset:”b7bb49321ce59f083577b0f31dcb290a63322e43/rtems-source-builder” b7bb493/rtems-source-builder]:

rtems/rtems-tools: Update with C++17 and Python 3.12 fixes

Updates #4969
Updates #4970

4935 - 7/rtems-mips get source fails

Id

4935

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-07-30T22:56:21.000Z

Updated

2023-11-20T17:08:59.000Z

Milestone

6.1

Labels

priority::highest, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4935

Merges

0

Getting sources for 7/rtems-mips fails with:

error: 7/rtems-mips.bset:6: cannot find file: tools/rtems-mipstx39-gdb-head

Release candidates for 6 get the 7 sources because the 6-rc? are made from master.

Author: Chris Johns

2023-07-30T22:58:41.000Z

To test run this command (https://git.rtems.org/rtems-release/tree/rtems-release-sources#n139):

../source-builder/sb-get-sources --stop-on-error

Author: Chris Johns

2023-09-03T05:39:22.000Z

I will point the 7 MIPS gdb to the 6 version. I have no idea about this architecture and tools and no one has picked the issue up.

Also this is present:

warning: 0001-gcc-config-aarch64-rtems.h-Define--USE-INIT-FINI-.patch: no hash found
warning: 0001-microblaze-Define--ELF--for-RTEMS-target.patch: no hash found

I need to see why an error was not generated. No hash should be a hard error.

Author: Chris Johns

2023-11-17T03:18:22.000Z

  • Owner set to joel

  • Status changed from new to assigned

This is still present and making a release candidate breaks:

] Created: 6.1-rc1/rtems-6.1-rc1-release-notes.html 6.1-rc1/rtems-6.1-rc1-release-notes.pdf
] Collect tools sources
] RTEMS Release Sources, v6.1-rc1
] Package: rtems-source-builder
] Release: 6.1-rc1
tar Jxf ../rtems-source-builder-6.1-rc1.tar.xz
../source-builder/sb-get-sources
RTEMS Source Builder - Get Sources, 6.1-rc1
error: 7/rtems-mips.bset:6: cannot find file: tools/rtems-mipstx39-gdb-head
Build FAILED

Author: Trac Migrate

2023-11-20T17:08:59.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”ae81810adcfef8bd3ab8cfca2ed5ba4ac4b9779f/rtems-source-builder” ae81810/rtems-source-builder]:

rtems-mipstx39-gdb-head.bset: Add missing file

This configuration file was missing for the mipstx39 gdb build for the
head/7 tools.

Closes #4935.

4947 - Testsuite libtest tests not built with optimise or debug flags

Id

4947

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-08-24T23:27:22.000Z

Updated

2023-09-12T07:27:42.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4947

Merges

0

The tests are being built with the optimsize or debug options for:

  • aarch64/xilinx_zynqmp_lp64_qemu

  • arm/xilinx_zynq_a9_qemu

The build is:

09:44:14 runner ' /opt/work/rtems/6/bin/arm-rtems6-gcc
-MMD -Wall -Wmissing-prototypes -Wimplicit-function-declaration
-Wstrict-prototypes -Wnested-externs -march=armv7-a -mthumb
-mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -DHAVE_CONFIG_H=1
-Icpukit/include -I../../../cpukit/include -Icpukit/score/cpu/arm/include
-I../../../cpukit/score/cpu/arm/include -Ibsps/include
-I../../../bsps/include -Ibsps/arm/include -I../../../bsps/arm/include
-Ibsps/arm/xilinx-zynq/include -I../../../bsps/arm/xilinx-zynq/include
-Itestsuites/support/include -I../../../testsuites/support/include
-Itestsuites/libtests/dl09 -I../../../testsuites/libtests/dl09
-c /opt/work/chris/rtems/kernel/rtems.git/testsuites/libtests/dl09/dl-load.c
-o testsuites/libtests/dl09/dl-load.o '

while a cpukit file is:

09:45:00 runner ['/opt/work/rtems/6/bin/arm-rtems6-gcc',
'-MMD', '-Wall', '-Wmissing-prototypes', '-Wimplicit-function-declaration',
'-Wstrict-prototypes', '-Wnested-externs', '-march=armv7-a',
'-mthumb', '-mfpu=neon', '-mfloat-abi=hard', '-mtune=cortex-a9',
'-O2', '-g', '-fdata-sections', '-ffunction-sections',
'-Icpukit/include', '-I../../../cpukit/include',
'-Icpukit/score/cpu/arm/include',
'-I../../../cpukit/score/cpu/arm/include',
'../../../cpukit/libdl/rtl-elf.c',
'-c', '-o/opt/work/chris/rtems/kernel/rtems.git/build/arm/xilinx_zynq_a9_qemu/cpukit/libdl/rtl-elf.c.59.o',
'-DHAVE_CONFIG_H=1']

Author: Chris Johns

2023-08-24T23:48:52.000Z

The tests use the TEST_OPTIMIZATION_FLAGS which is defined in the BSP and based on OPTIMIZATION_FLAGS. This does not seem to be working.

Author: Chris Johns

2023-08-25T23:28:06.000Z

The issue is the tests are not being linked with the right or complete set of flags.

The optimization flags contain -g and given -g does not change the generated code it is questionable if this option should be here or a debug flags settings or even forced on as an invariant default.

The simplest solution at this point in time is to add ${TEST_OPTIMIZATION_FLAGS} to the ldflags in the grp.yml for the testsuite.

Adding TEST_OPTIMIZATION_FLAGS to the linker flags has the benefit of linking with -fdata-sections and -ffunction-sections and given we are building all the code with those options the tests are not truly testing the build a user sees.

There is a fragility around having the separate sections flags in optimization flag set. If someone adjusts the -O level they need to carry the other flags over. Is the separate sections important enough now that it needs its own setting to avoid simple mistakes?

Author: Chris Johns

2023-08-25T23:49:15.000Z

The test dl09 does not build dl-load.o with the TEST_OPTIMIZATION_FLAGS flags. Updating the dl09.yml spec’s cflags to have TEST_OPTIMIZATION_FLAGS works but adding that same to the ldflags breaks the build because the substitution does not happen.

It seems cflags does not pick up the top level grp.yml setting while ldflags does. I have no idea why it is like this.

Author: Trac Migrate

2023-09-12T07:27:42.000Z

In [changeset:”d2d1fa18a93d39b79421ed205755fd6623b2153b/rtems” d2d1fa18/rtems]:

build: Use build context for custom commands

Revert duplicated listing of TEST_OPTIMIZATION_FLAGS.

Close #4947.

4951 - rtems-tools fail on FreeBSD to get number of cores

Id

4951

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-08-28T04:52:14.000Z

Updated

2023-09-03T05:27:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, resolution::wontfix, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4951

Merges

0

$ ./waf test
Waf: Entering directory `/opt/work/chris/rtems/tools/rtems-tools.git/build'
Test python rtemstoolkit.check           : fail
Test python3 rtemstoolkit.check          : fail
Test python rtemstoolkit.config          : fail
Test python3 rtemstoolkit.config         : fail
Test python rtemstoolkit.configuration   : pass
Test python3 rtemstoolkit.configuration  : pass
Test python rtemstoolkit.error           : pass
Test python3 rtemstoolkit.error          : pass
Test python rtemstoolkit.execute         : fail
Test python3 rtemstoolkit.execute        : fail
Test python rtemstoolkit.git             : fail
Test python3 rtemstoolkit.git            : fail
Test python rtemstoolkit.host            : fail
Test python3 rtemstoolkit.host           : fail
Test python rtemstoolkit.log             : pass
Test python3 rtemstoolkit.log            : pass
Test python rtemstoolkit.macros          : pass
Test python3 rtemstoolkit.macros         : pass
Test python rtemstoolkit.mailer          : fail
Test python3 rtemstoolkit.mailer         : fail
Test python rtemstoolkit.options         : fail
Test python3 rtemstoolkit.options        : fail
Test python rtemstoolkit.path            : pass
Test python3 rtemstoolkit.path           : pass
Test python rtemstoolkit.reraise         : pass
Test python3 rtemstoolkit.reraise        : pass
Test python rtemstoolkit.rtems           : pass
Test python3 rtemstoolkit.rtems          : pass
Test python rtemstoolkit.stacktraces     : pass
Test python3 rtemstoolkit.stacktraces    : pass
Test python rtemstoolkit.textbox         : pass
Test python3 rtemstoolkit.textbox        : pass
Test python rtemstoolkit.version         : fail
Test python3 rtemstoolkit.version        : fail
Test failures

Author: Chris Johns

2023-08-28T04:55:22.000Z

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

  • Summary changed from rtems-tools unit tests fail on FreeBSD to rtems-tools fail on FreeBSD to get number of cores

The unit tests pass. I had a typo in a change I was testing. I have changed the ticket to track the original problem:

$ python  -m rtemstoolkit.host
Python's OS name: posix
Name      : freebsd
Windows   : No
]]]] ['/sbin/sysctl', 'hw.ncpu']
***** 1 usage: sysctl [-bdehiNnoqTtWx] [ -B <bufsize> ] [-f filename] name[=value] ...
sysctl [-bdehNnoqTtWx] [ -B <bufsize> ] -a

The execute command is failing.

Author: Chris Johns

2023-08-28T04:55:42.000Z

  • Resolution ~”wontfix” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2023-08-29T01:20:30.000Z

  • Owner set to Chris Johns <chrisj@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”3ea0c249346fda427bf0d3c169aa3e7c2a521df8/rtems-tools” 3ea0c24/rtems-tools]:

rtemstoolkit: Fix shell execution

The fixes to parse the command along with the pipe options broke
a simple shell command such as '/sbin/sysctl hw.ncpu' on FreeBSD.
This patch fixes the shell command by passing a string for the
various options.

The unit test has been updated to catch errors and report them.

Closes #4951

Author: Trac Migrate

2023-08-29T03:50:08.000Z

In [changeset:”9ca95760eefadccd90e651b248efbe42810d2ed6/rtems-source-builder” 9ca9576/rtems-source-builder]:

rtems/tools: Shell execute fixes

Updates #4951

Author: Trac Migrate

2023-09-03T05:27:49.000Z

In [changeset:”35c73203df1e0bc7f0935cfb37ebc6581d8f1103/rtems-source-builder” 35c7320/rtems-source-builder]:

rtems/tools: Execute use of shlex.join fix for python < 3.8

Updates #4951

4950 - libdl test dl07 fails on PowerPC

Id

4950

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-08-28T01:25:22.000Z

Updated

2023-08-29T01:21:58.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4950

Merges

0

The libdl test dl07 fails on PowerPC (psim) with:

rtl: alloc: del: READ_WRITE addr=0x91ca8
*** FATAL ***
fatal source: 13 (RTEMS_FATAL_SOURCE_HEAP)
heap error: heap=0x7e6d0 block=0x91cdc reason=HEAP_ERROR_BROKEN_PROTECTOR(0)=[0x91ce0,0,0,0]
RTEMS version: 6.0.0.b9f11607b1731bc5f2391653cd8f4ebe48ba278e
RTEMS tools: 12.3.1 20230626 (RTEMS 6, RSB 8e568b2ca3489d6bfa48e1d29618ea9b48a5b408, Newlib 4c7d0df)
executing thread ID: 0x0a010001
executing thread name: UI1

The issue is the .bss section size is too small for the sections present. The bug has been triggered by the separate section support now being used in the testsuite.

Author: Chris Johns

2023-08-28T06:31:02.000Z

The change to use separate data and text sections exposed a bug in how symbols and section alignment are handled when locating the symbols. The issues are: 1. The base address of a section may not be aligned to the required alignment 2. The location support on PowerPC included SDATA symbols in respective data section processing while not being included in the size calculation. This pushed the symbols out past the end of the allocated memory.

Author: Trac Migrate

2023-08-29T01:21:58.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”ac6de5a3e91e05f068f8ed2e548056357024b944/rtems” ac6de5a3/rtems]:

cpukit/libdl: Correctly account for section alignments

- Add the section alignment to the size as the allocator may not
provide correctly aligned memory

- Only include symbols in the section when locating symbols. The
powerpc was incorrectly adding SDATA BSS symbols to the BSS offset
overrunning the section

Closes #4950

4944 - libdl test dl09 fails on arm and aarch64

Id

4944

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-08-12T06:26:29.000Z

Updated

2023-08-28T01:19:04.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4944

Merges

0

The test crashes on arm and fails on aarch64 with:

--------------------------------------------------
Run: 3
Test source (link in strstr): testsuites/libtests/dl09/dl-load.c
Allocation size: 33554432
load: /dl09-o1.o
handel: 0x4811d650: unresolved externals
handle: 0x4811d650 loaded
space alloc: /dl09-o1.o: 33554432: 0x40118940
load: /dl09-o2.o
handel: 0x421191f0: unresolved externals
handle: 0x421191f0 loaded
space alloc: /dl09-o2.o: 33554432: 0x4c1225b0
load: /dl09-o3.o
kobj_reloc: Relocation 0x40045820 too far from 0x4e122f48 (base+0x18) for 26bit word
dlopen failed: (null)
/opt/work/chris/rtems/kernel/rtems.git/testsuites/libtests/dl09/dl-load.c: 168 o->handle != NULL

[ RTEMS shutdown ]
RTEMS version: 6.0.0.10da3025186cadf2d78e34cf81cce02121069d44
RTEMS tools: 12.3.1 20230626 (RTEMS 6, RSB 8e568b2ca3489d6bfa48e1d29618ea9b48a5b408, Newlib 4c7d0df)
executing thread ID: 0x0a010001
executing thread name: UI1

Author: Chris Johns

2023-08-15T02:51:10.000Z

It also fails on powerpc.

Author: Chris Johns

2023-08-18T23:54:04.000Z

The dl091 test allocates large blocks of memory between loading object files to move the object’s text base address out of the range of any relative addressing instructions to symbols in the base image forcing the use of trampolines.

On aarch64 the failure is the trampoline memory is out of range to the text memory so the relocations to the trampoline memory cannot be fixed up. The allocated trampoline memory is not colocated to the allocated text memory when it should be. The overflow is:

rtl: JUMP26/PC26/CALL: insn=0x4e123208 where=0x4e123208 target=0xfffffffff1f24898 raddr=0x40047aa0 parsing=0

The target value is the relative offset and is -201367832. The instruction to fix up is located at 0x4e123208. The trampoline allocation is:

rtl: tramp:elf: tramps: 14 count:14 total:14
rtl: tramp:elf: slots: 14 (224)
rtl: alloc: new: OBJECT addr=0x421190f0 size=224

If trace is enabled for the test a set of commands are run at the end of each pass to report the state of some things such as the heap. The heap state is returned by the malloc_info() call and that call causes the test to pass (see #4946. Something happens in the heap to bring the allocated memory closer together.

The intent of the original design was to have a trampoline table appended to one end of the text area of the object file’s memory. This means the maximum size of code that can be loaded is half the relative instruction offset size. A review of the code shows the trampoline memory is being heap allocated as a separate block. I cannot remember why it is implement this way. Effort was spent determining how to handle the allocation because the relocation records need to be parsed to determine the amount of memory to append to the text area and this means the relocation records are processed twice slowing loading down. The double processing of the relocation records was considered a suitable compromise to solve the problem. Parsing was added however the number of relocations is not being used when allocating the text area of memory.

I think the text area needs to be extended to hold the trampoline memory. I am not sure if the text size reported should be the object file’s text size or the size with the trampoline memory. I suppose it is text type memory so it should be included. It will make the change simpler.

Author: Chris Johns

2023-08-19T00:04:35.000Z

I now see the complicating factor and the reason the memory is a separate allocation.

The trampoline memory is sized to allocate space for each unresolved symbol an object file has. When loading an object file you do not know if an unresolved symbol will need a trampoline to reach the symbol.

Author: Chris Johns

2023-08-24T06:16:08.000Z

I have added allocator resize support to libdl. The object file memory is resized if there are any trampolines found when the relocation records are parsed. The sizing determines the amount of trampoline memory needed and the tramp_size is added to the text_size resizing the text section.

The order of allocations has been changed so text is last and so lower the probability resizing moves the text_base address. In the output from dl09 you can see 120 bytes of trampoline memory is being added onto the text section:

rtl: alloc: resize: READ_WRITE prev-addr=0x4e132610 addr=0x4e132610 size=8
rtl: alloc: resize: READ_WRITE prev-addr=0x4e132670 addr=0x4e132670 size=32
rtl: alloc: resize: READ prev-addr=0x4e1326e0 addr=0x4e1326e0 size=328
rtl: alloc: resize: READ_EXEC prev-addr=0x4e132870 addr=0x4e132870 size=472
rtl: resize sect: text  - b:0x4e132870 s:472 a:4
rtl: resize sect: tramp - b:0x4e1329d0 s:120 a:8
rtl: resize sect: const - b:0x4e1326e0 s:328 a:8
rtl: resize sect: eh    - b:0 s:0 a:0
rtl: resize sect: data  - b:0x4e132610 s:8 a:0
rtl: resize sect: bss   - b:0x4e132670 s:32 a:8

The changes will handle a section moving when resizing.

The dl09 test now passes for aarch64 with and without trace being turned on.

Author: Chris Johns

2023-08-26T23:05:18.000Z

Test results with the changes to fix dl09 for arm/ilinx_zynq_a9_qemu:

Passed:         9
Failed:         1
User Input:     1
Expected Fail:  0
Indeterminate:  0
Benchmark:      0
Timeout:        0
Test too long:  0
Invalid:        0
Wrong Version:  0
Wrong Build:    0
Wrong Tools:    0
Wrong Header:   0
-----------------
Total:         11
Failures:
dl06.exe
User Input:
dl10.exe

and for aarch64/xilinx_zynqmp_lp64_qemu:

Passed:         9
Failed:         1
User Input:     1
Expected Fail:  0
Indeterminate:  0
Benchmark:      0
Timeout:        0
Test too long:  0
Invalid:        0
Wrong Version:  0
Wrong Build:    0
Wrong Tools:    0
Wrong Header:   0
-----------------
Total:         11
Failures:
dl06.exe
User Input:
dl10.exe

Author: Trac Migrate

2023-08-28T01:19:01.000Z

In [changeset:”dcc6409f91f105a2017ca7d4540aa3409f8d8d3a/rtems” dcc6409/rtems]:

spec/testsuite/dl: Fix optimization flags

Updates #4944

Author: Trac Migrate

2023-08-28T01:19:04.000Z

  • Owner set to Chris Johns <chrisj@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”b9f11607b1731bc5f2391653cd8f4ebe48ba278e/rtems” b9f11607/rtems]:

libdl: Realloc text memory if there are trampolines

- Add resize to the allocator interface

- Rework the trampoline variables in the obj struct
to make better sense of what is happening

Closes #4944

4945 - rtems-test SIS support is broken

Id

4945

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-08-17T01:50:40.000Z

Updated

2023-08-21T00:37:35.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4945

Merges

0

The sis BSP is using gdb and I am not sure gdb supports the SIS simulator any more?

And sis-run is broken with the stand alone sis tool we now use. The -a option is not supported.

Author: Chris Johns

2023-08-17T01:51:01.000Z

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2023-08-21T00:37:35.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”349bbd96543365e830e5ef5e851765e4b742a8a4/rtems-tools” 349bbd9/rtems-tools]:

tester/sis: Use the RTEMS SIS command

Make sis and sis-run the same as there is no SIS support in
gdb anymore.

Closes #4945

4924 - Add Regulator Helper to RTEMS

Id

4924

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2023-07-07T20:31:03.000Z

Updated

2023-08-16T15:10:43.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4924

Merges

0

This is to add the Regulator Helper. This will include the regulator itself, a test with full coverage, an example for rtems-examples, and a chapter in the Classic API Guide.

The regulator is designed to sit logically between two entities – a source and a destination, where it limits the traffic sent to the destination to prevent it from being flooded with messages from the source. This can be used to accommodate bursty input from a source and meter it out to a destination.

Author: Joel Sherrill

2023-07-07T20:31:10.000Z

  • Owner set to @joel

  • Status changed from new to assigned

Author: Trac Migrate

2023-07-09T01:12:13.000Z

Hello joel intrested in working on this ticket would like some more info.

Author: Joel Sherrill

2023-07-09T14:57:23.000Z

The code was posted to devel@ for review Friday. Documentation will follow soon. The most helpful thing would be to review this code. Beyond this help is needed to address tickets with a 6.1 target.

Author: Trac Migrate

2023-08-11T18:21:24.000Z

In [changeset:”fd693085ea1fcfe41fedb877eac35875cad4aa08/rtems” fd69308/rtems]:

Add the Regulator Interface and test

Updates #4924.

The Regulator is an application support class which is used to
deal with the scenario where there is a bursty input source
which needs to be metered out to a destination sink. The maximum
size of bursts needs to be known and the delivery method must
be configured to deliver messages at a rate that allows the
traffic to not overflow.

Author: Joel Sherrill

2023-08-16T15:10:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Chapter added to the Classic API Guide and an example added to rtems-examples without having the ticket tagged:

This can now be closed.

4942 - Regulator warnings

Id

4942

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Joel Sherrill

Created

2023-08-11T22:30:59.000Z

Updated

2023-08-15T14:09:09.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4942

Merges

0

The recently added regulator has warnings on aarch64/xilinx_zynqmp_lp64_qemu:

../../../cpukit/libmisc/regulator/regulator.c: In function 'rtems_regulator_get_statistics':
../../../cpukit/libmisc/regulator/regulator.c:656:3: warning: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
656 |   memset(statistics, 0, sizeof(rtems_regulator_statistics));
|   ^~~~~~
../../../cpukit/libmisc/regulator/regulator.c:40:1: note: include '<string.h>' or provide a declaration of 'memset'
39 | #include <rtems/regulatorimpl.h>
+++ |+#include <string.h>
40 |
../../../cpukit/libmisc/regulator/regulator.c:656:3: warning: incompatible implicit declaration of built-in function 'memset' [-Wbuiltin-declaration-mismatch]
656 |   memset(statistics, 0, sizeof(rtems_regulator_statistics));
|   ^~~~~~
../../../cpukit/libmisc/regulator/regulator.c:656:3: note: include '<string.h>' or provide a declaration of 'memset'

Author: Trac Migrate

2023-08-13T00:51:08.000Z

Is there a way to compile libmisc I added the .h file but i didn’t see it compile when i ran ./waf is there an option to compile libmisc?

Author: Joel Sherrill

2023-08-13T04:46:16.000Z

Replying to z.ling111:

Is there a way to compile libmisc I added the .h file but i didn’t see it compile when i ran ./waf is there an option to compile libmisc?

libmisc is built all the time. Nothing special. Post the patch once you compile and run the tests.

Author: Trac Migrate

2023-08-15T14:09:09.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7b33aa26759e2431ecc8d0cf3254775d1fba0313/rtems” 7b33aa26/rtems]:

Address Regulator warning for no prototype for memset()

Closes #4942.

4943 - ARM unwind register is not being hooked

Id

4943

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-08-12T01:53:26.000Z

Updated

2023-08-14T01:05:25.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4943

Merges

0

The ARM unwind support is not working and dl05 is failing on aarch64.

The support uses __gnu_Unwind_Find_exidx and it is not being called.

I have not tested arm but the support is shared between arm and aarch64.

Author: Chris Johns

2023-08-12T05:59:41.000Z

The aarch64 architecture can use the DWARF 2 exception support. This is an improvement over the specific ARM support. Switching the unwind support to rtems_rtl_elf_unwind_dw2_.* functions results in dl05 passing.

Author: Chris Johns

2023-08-12T06:30:02.000Z

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2023-08-14T01:05:25.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”663e0dae8af6217f0273176ea6d92e7ab3fd307c/rtems” 663e0dae/rtems]:

cpukit/libdl: AARCH64 unwind uses DWARF 2 tables

Closes #4943

4940 - Fix cache support for ARM926EJ-S processor

Id

4940

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-08-10T06:10:15.000Z

Updated

2023-08-10T06:11:28.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4940

Merges

0

Original author: sebastian.huber

Fix the CP15 cache support so that it works on ARMv5T processors such as the ARM926EJ-S. This processor has different cache maintenance operations compared to ARMv6 processors such as the ARM1176JZF-S. The current support leads to undefined instruction exceptions.

Author: Trac Migrate

2023-08-10T06:11:28.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”ffec9f96fc727cc1745b2ee3e2fda965df8198d6/rtems” ffec9f96/rtems]:

arm: Fix cache support for ARM926EJ-S

The ARM926EJ-S is an ARMv5T architecture processor and lacks some
features of ARMv6 processors such as the ARM1176JZF-S.

Close #4940.

4934 - Update STM32 H7 HAL/LL drivers code

Id

4934

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-07-27T18:32:22.000Z

Updated

2023-08-02T08:26:14.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::task

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4934

Merges

0

Original author: kgardas

Hello,

patch series for updating STM32 H7 HAL/LL drivers code is ready for review already here: https://github.com/karelfv/rtems/tree/stm32h7-hal-update-2023-07.

The code was tested on both M7 and M4 cores on stm32h747i-disco board and shows that update does not cause any new failures/regressions.

The patch series was already submitted for review on devel@ here: https://lists.rtems.org/pipermail/devel/2023-July/075880.html

Author: Trac Migrate

2023-08-02T08:26:14.000Z

Original author: kgardas

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

New HAL code was merged into the tree on July 31 2023. Hence closing.

3910 - Add BSP for STM32H7

Id

3910

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-03-19T08:31:22.000Z

Updated

2023-07-31T16:12:08.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::project, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3910

Merges

0

Original author: sebastian.huber

Add a BSP for the STM32H7 series. Import the HAL from https://github.com/STMicroelectronics/stm32h7xx_hal_driver. Add a VERSION file to allow future updates similar to https://git.rtems.org/rtems/tree/cpukit/dtc/VERSION. Add standard clock and console drivers.

Author: Trac Migrate

2020-04-02T09:14:25.000Z

Original author: sebastian.huber

In [changeset:”2c7cd341a038776843f4f29ccde7b3dc3d2b15a7/rtems-docs” 2c7cd34/rtems-docs]:

eng: Add documentation guidelines

Start with templates for the application configuration options.

Remove "Format to be followed for making changes in this file" from
c-user.

Update #3910.

Author: Trac Migrate

2020-10-20T15:29:55.000Z

Original author: sebastian.huber

Hi Sebastian, I was keen to use RTEMS on an STM32H7xx board and thought I would reach out and see how the effort was going. I’m not much of a C/C++ dev unfortunately but if there is anything I can do to assist please let me know.

Cheers,

Mick

Author: Trac Migrate

2020-10-21T05:59:34.000Z

Original author: sebastian.huber

In [changeset:”3fccdc956c298a3f8942e83f3c933ade447e3c16/rtems” 3fccdc95/rtems]:

bsps/arm: Add support for MPU region alignment

Update #3910.

Author: Trac Migrate

2020-10-27T05:14:39.000Z

Original author: sebastian.huber

In [changeset:”2131228f793fafda7bc05e22d2167985502b046d/rtems” 2131228/rtems]:

bsp/stm32h7: Import from STM32CubeMX-5.6.0

Update #3910.

Author: Trac Migrate

2020-10-27T05:14:43.000Z

Original author: sebastian.huber

In [changeset:”2cfcd005e9e4a14ccda6ab4bcd5f2466762cf86d/rtems” 2cfcd00/rtems]:

bsp/stm32h7: Constify some functions

Update #3910.

Author: Trac Migrate

2020-10-27T05:14:46.000Z

Original author: sebastian.huber

In [changeset:”2f157e20073d11364a3e3811328d8657e04d8788/rtems” 2f157e2/rtems]:

bsp/stm32h7: Move <math.h> include

This is necessary for libbsd compatibility.

Update #3910.

Author: Trac Migrate

2020-10-27T05:14:49.000Z

Original author: sebastian.huber

In [changeset:”abb78587b6d1be08697810cdae31cd2dbe35ee4a/rtems” abb7858/rtems]:

bsp/stm32h7: Enable LL drivers

Update #3910.

Author: Trac Migrate

2020-10-27T05:14:53.000Z

Original author: sebastian.huber

In [changeset:”e4ba06f8b49da4334543f713ba437263c794d7ee/rtems” e4ba06f/rtems]:

bsp/stm32h7: Disable unused functions

Update #3910.

Author: Trac Migrate

2020-10-27T05:14:56.000Z

Original author: sebastian.huber

In [changeset:”c44e404888bb99c1b3ff3052907c9df012d80fb9/rtems” c44e404/rtems]:

bsp/stm32h7: Fix warnings

Update #3910.

Author: Trac Migrate

2020-10-27T05:14:59.000Z

Original author: sebastian.huber

In [changeset:”99494370d6124ef5d773119fa59f5bac4bbf395f/rtems” 99494370/rtems]:

bsp/stm32h7: New BSP

Update #3910.

Author: Trac Migrate

2020-10-27T06:51:45.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”8fe0da219826116b22fae50a7a8991736118b6f7/rtems-docs” 8fe0da2/rtems-docs]:

user: Add arm/stm32h7

Close #3910.

Author: Trac Migrate

2020-11-26T07:37:19.000Z

Original author: sebastian.huber

In [changeset:”fe58f6ce4bf1ff5e92d64b9fee0cb46b6ac06e64/rtems” fe58f6ce/rtems]:

bsp/stm32h7: Add and use BSP Doxygen group

Update #3910.

Author: Trac Migrate

2023-07-31T16:11:55.000Z

Original author: sebastian.huber

In [changeset:”4b3d7993d2cebf0596066d99f2475017064723c0/rtems” 4b3d799/rtems]:

bsp/stm32h7: Disable unused functions

Re-apply based on:

commit e4ba06f8b49da4334543f713ba437263c794d7ee
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Thu Apr 2 08:28:56 2020 +0200

bsp/stm32h7: Disable unused functions

Update #3910.

Author: Trac Migrate

2023-07-31T16:11:57.000Z

Original author: sebastian.huber

In [changeset:”ed358507a3ef5ed2d894dfaf8d0b9a885e649604/rtems” ed35850/rtems]:

bsp/stm32h7: Enable LL drivers

Re-apply based on:

commit abb78587b6d1be08697810cdae31cd2dbe35ee4a
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Wed Apr 1 11:11:59 2020 +0200

bsp/stm32h7: Enable LL drivers

Update #3910.

Author: Trac Migrate

2023-07-31T16:12:06.000Z

Original author: sebastian.huber

In [changeset:”ba8ac65929f9e82892d44779a3c37d4cfea14ec7/rtems” ba8ac65/rtems]:

bsp/stm32h7: Add and use BSP Doxygen group

Inspired by:

commit fe58f6ce4bf1ff5e92d64b9fee0cb46b6ac06e64
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Thu Nov 26 08:13:52 2020 +0100

bsp/stm32h7: Add and use BSP Doxygen group

Update #3910.

Author: Trac Migrate

2023-07-31T16:12:08.000Z

Original author: sebastian.huber

In [changeset:”f08f75f0bdc8e482e10625938a7000d43f97ad51/rtems” f08f75f/rtems]:

bsps/stm32h7: fix compilation issue after HAL update

Based on:

commit 99494370d6124ef5d773119fa59f5bac4bbf395f
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Wed Mar 4 12:34:34 2020 +0100

bsp/stm32h7: New BSP

Update #3910.

4803 - Revert or Mark CAN API as experimental

Id

4803

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Gedare Bloom

Created

2023-01-20T22:37:10.000Z

Updated

2023-07-27T18:27:24.000Z

Milestone

6.1

Labels

device, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4803

Merges

0

The CAN API done in GSoC 2022 is not stable. There are some key deficiencies that need to be fixed, and they may cause the API to change. The API needs to be marked as experimental or reverted before it appears in a release.

Author: Trac Migrate

2023-01-21T07:46:52.000Z

  • Cc added @karel@functional.vision

Author: Trac Migrate

2023-07-27T18:27:24.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”c1cad595af965e36de90ed19b5118fb23faedef6/rtems” c1cad59/rtems]:

Revert "cpukit/dev/can: Added CAN support"

This reverts commit cd91b37dce728b372f164355719a4e601e12e7b3.

Closes #4803.

4772 - Remove use of interval from rtems_task_wake_after() documentation

Id

4772

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Kinsey Moore

Created

2022-12-06T22:35:30.000Z

Updated

2023-07-20T12:43:36.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4772

Merges

0

The Classic API documentation for rtems_task_wake_after() refers to an interval while the call accepts ticks. The exact interval is not known because the period of time to next tick is not known when the call is made.

  1. Clarify the wording

  2. Recommend new applications use the POSIX based calls nanosleep() and clock_nanosleep() for applications that have intervals in a time base rather than system ticks.

The Gemini, Verify the fidelity of RTEMS System Tick issue provides some back ground to this change.

Author: Joel Sherrill

2023-06-22T22:03:49.000Z

This is requested as an outcome of RTEMS System Tick Resolution (#30) from NSF NOIRLab / Gemini. This is about verifying the fidelity of RTEMS System Tick. A recent test of our systemTickTest tool inside GemUtils is discussed here.

https://gitlab.com/nsf-noirlab/gemini/rtsw/epics-base/epics-base/uploads/3ef07e7417e9e14903de65fd91c8417f/EPICS_Task_Sleep-CCJ.pdf

The intent is to be clear it is “number of ticks” and not an arbitrarily precise “interval”. Now that RTEMS can have nanosecond granularity this distinction becomes important.

Author: Joel Sherrill

2023-06-22T22:04:43.000Z

  • Owner set to @kinsey

  • Status changed from new to assigned

Author: Trac Migrate

2023-07-06T18:40:05.000Z

In [changeset:”981ba2de41ade670813d401cba9abff086a5a6e0/rtems-docs” 981ba2d/rtems-docs]:

c-user: Update references to rtems_task_wake_after

rtems_task_wake_after takes a parameter in terms of a count of clock
ticks and not a measure in a subunit of seconds. This updates
documentation to reflect that. This also makes obvious the caveat about
the first tick wait not being a whole tick and points the user at a
replacement for better accuracy.

Updates #4772

Author: Kinsey Moore

2023-07-13T20:15:22.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Author: Trac Migrate

2023-07-20T09:06:02.000Z

In [changeset:”20fc133693e8502994cd0deb4d38600cfeb5320e/rtems-central” 20fc133/rtems-central]:

spec/wake-after: Update references to intervals

rtems_task_wake_after takes a parameter in terms of a count of clock
ticks and not a measure in a subunit of seconds. This updates
documentation to reflect that and recommends clock_nanosleep() for
applications requiring sleep for a time-based duration instead of a
count of clock ticks.

Updates #4772

Author: Trac Migrate

2023-07-20T09:06:29.000Z

In [changeset:”be789ee60ee14a8005dd5cbc07593da63141b563/rtems-docs” be789ee/rtems-docs]:

c-user: Update copyright and use glossary terms

Updates #4772.

Author: Trac Migrate

2023-07-20T09:09:35.000Z

In [changeset:”21429f681dfc94881b5d26763102c1e604889a24/rtems” 21429f6/rtems]:

rtems: Update references to rtems_task_wake_after

rtems_task_wake_after takes a parameter in terms of a count of clock
ticks and not a measure in a subunit of seconds. This updates
documentation to reflect that. This also makes obvious the caveat about
the first tick wait not being a whole tick and points the user at a
replacement for better accuracy.

Updates #4772

Author: Trac Migrate

2023-07-20T12:41:48.000Z

In [changeset:”63a5c190b0076bd7f916f5e038955b8ff84cc039/rtems-docs” 63a5c19/rtems-docs]:

c-user: Fix typo

Updates #4772.

Author: Trac Migrate

2023-07-20T12:43:36.000Z

In [changeset:”49356594d3e86d3618d0613c26898e1c3884a1db/rtems” 4935659/rtems]:

rtems: Fix typo

Update #4772.

4867 - Clean up rtems-lwip uLan directory

Id

4867

State

closed

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Kinsey Moore

Created

2023-03-03T14:35:49.000Z

Updated

2023-07-03T14:52:57.000Z

Milestone

6.1

Labels

network::lwip, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4867

Merges

0

The uLan directory in rtems-lwip was originally sourced from another project as documented in its ORIGIN.uLan file. This directory contains both some BSP-specific drivers as well as some of the core RTEMS/lwIP integration code in the form of sys_arch.c/h.

Permission has been given by the authors of this upstream repository to relicense the code under the terms of the rtemslwip directory so as to remove references to “uLan” since this term is relatively unrelated to either project and just so happened to be the location of the source. https://lists.rtems.org/pipermail/devel/2023-March/074525.html

Core integration components should be rehomed under rtemslwip/common and BSP-specific code should be rehomed under rtemslwip in a BSP-specific directory or in a new root directory with appropriate LICENSE and ORIGIN files depending on its provenance.

Author: Joel Sherrill

2023-06-22T20:53:40.000Z

  • Owner set to @kinsey

  • Status changed from new to assigned

Author: Trac Migrate

2023-07-03T14:52:57.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”d0cb3185afd962a034f0818c73f2becf6fe05bfc/rtems-lwip” d0cb318/rtems-lwip]:

Alter ownership of components in uLan

This commit breaks up the uLan directory and removes its ORIGIN and
COPYING metadata in favor of this repository being the authoritative
source of these sources as per the wishes of the originator of these
files. More information can be found here:
https://lists.rtems.org/pipermail/devel/2023-March/074525.html

Closes #4867

4869 - Add QSPI Flash Device API

Id

4869

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-03-06T02:27:09.000Z

Updated

2023-06-30T00:13:22.000Z

Milestone

6.1

Labels

device::spi, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4869

Merges

0

Original author: Eagleirony

Add an API for qspi flash to create device node.

Author: Trac Migrate

2023-03-06T02:31:48.000Z

Original author: Eagleirony

Author: Chris Johns

2023-03-06T02:41:29.000Z

Original author: Eagleirony

Thanks for this.

Should this be SPI Flash or SPIFLASH? QSPI is quad SPI and there also exists octal and it would be good to have both supported?

Author: Trac Migrate

2023-03-06T04:40:12.000Z

Original author: Eagleirony

Author: Chris Johns

2023-03-08T00:30:06.000Z

Original author: Eagleirony

Can we please have an ioctl command that lets a user can set a region in the flash device access is limited to? It may be nice to make the read and write calls relative to a region’s base address. By default a device open maps to the entire flash.

The use case is allowed shared access to the flash device. For example JFFS on a region and the ability to modified a boot area.

Author: Trac Migrate

2023-03-09T00:31:19.000Z

Original author: Eagleirony

Renamed the API to spiflash to reflect it’s use for more then QSPI flash. I have also added region set and unset to define a base and length for limited access. Offsets are relative to the base set.

Author: Trac Migrate

2023-03-09T00:33:35.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-09T03:13:33.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-15T23:25:11.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-15T23:25:29.000Z

Original author: Eagleirony

Author: Trac Migrate

2023-03-15T23:26:56.000Z

Original author: Eagleirony

Renamed to flashdev for wider compatibility and added type IOCTL.

Author: Joel Sherrill

2023-06-22T21:20:13.000Z

Original author: Eagleirony

Can this be closed now?

Author: Chris Johns

2023-06-22T21:22:37.000Z

Original author: Eagleirony

No, it is being worked on.

Author: Chris Johns

2023-06-30T00:13:22.000Z

Original author: Eagleirony

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4857 - RSB Recipe Missing %hash Does Not Fail

Id

4857

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Chris Johns

Created

2023-02-16T22:34:10.000Z

Updated

2023-06-30T00:11:25.000Z

Milestone

6.1

Labels

priority::normal, resolution::duplicate, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4857

Merges

0

If a recipe is missing a %hash command, it is reported as a warning. It would be preferable to have an error.

warning: gdb-readline8.2.patch: no hash found

From #4760 and copied as part of merging these tickets:

The time has come to raise a fatal error if a hash is missing rather than a warning. This will stop missing checksums being present when releasing. It also makes it simpler to test releases for no missing checksums.

Author: Joel Sherrill

2023-06-22T21:15:04.000Z

  • Description changed

If a recipe is missing a %hash command, it is reported as a warning. It would be preferable to have an error.

{{{
warning: gdb-readline8.2.patch: no hash found
}}}
+
+ From #4760 and copied as part of merging these tickets:
+
+ The time has come to raise a fatal error if a hash is missing rather than a warning. This will stop missing checksums being present when releasing.
+ It also makes it simpler to test releases for no missing checksums.

Author: Joel Sherrill

2023-06-22T22:32:07.000Z

Please check and then confirm before closing

Author: Chris Johns

2023-06-30T00:11:15.000Z

This is being closed because #4760 makes any missing %hash cause a fatal error.

Author: Chris Johns

2023-06-30T00:11:25.000Z

  • Resolution set to ~”duplicate”

  • Status changed from assigned to closed

4887 - RTEMS Net Legacy does not build as a package in the RSB

Id

4887

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-03-23T02:24:52.000Z

Updated

2023-06-22T22:35:02.000Z

Milestone

6.1

Labels

network::legacy, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4887

Merges

0

The waf support does not handle staged builds or the options --rtems-tools and --rtems at the same time. The build fails when reading the rtemsbsp static library because it will not be in the PREFIX.

Also the build script scans for .c and .h files. This is fragile. If someone copies in a C file for some reason it is picked up. The sources and headers need to be explicit in build script.

Author: Chris Johns

2023-03-23T21:20:31.000Z

I do not understand what the bsp_drivers.py use of os.path.expanduser is for? A build should not reference files outside the source tree unless there are options a user uses.

I am not following the bsp_driver code. Testing it I am seeing for atsamv:

arm/atsamv:
({'arm/atsamv': ['bsps/arm/atsamv/arm/atsamv/net', 'bsps/arm/atsamv/arm/atsamv/include']}, {'arm/atsamv': []})

There is `` bsps/arm/atsam`` but no bsps/arm/atsamv and bsps/arm/atsamv/arm/atsamv/net looks to be repeated. I am confused.

Author: Chris Johns

2023-03-24T02:13:23.000Z

The BSP list does not handle aliases, for example the powerpc/beatnik has a number of aliased BSPs such as powerpc/mvme2703.

Author: Chris Johns

2023-03-27T03:40:31.000Z

  • Attachment r added

List of headers in rtems-net-legacy against those install by an RTEMS 5.3 networking build

Author: Chris Johns

2023-03-27T03:42:36.000Z

The attached file r is a list of headers that matched headers found in an installed powerpc/mvme2307 build of RTEMS 5.3 with networking enabled.

The list is what needs to be installed. The existing build scans for files and installs them.

Author: Joel Sherrill

2023-06-22T21:15:45.000Z

Can this be closed now?

Author: Joel Sherrill

2023-06-22T22:35:02.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Chris says this is fixed.

4778 - Deployed RSB does not find release version config

Id

4778

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-12-18T04:13:30.000Z

Updated

2023-06-22T22:05:43.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4778

Merges

0

Cloned from #4777:


The RSB does not find the VERSION file when released.

Author: Chris Johns

2022-12-18T04:13:42.000Z

  • Summary changed from Deployed RSB does not find release version config (cloned) to Deployed RSB does not find release version config

Author: Chris Johns

2023-06-22T22:05:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4882 - mvme2703 legacy network build failure

Id

4882

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-03-21T04:56:36.000Z

Updated

2023-06-22T22:05:14.000Z

Milestone

6.1

Labels

network::legacy, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4882

Merges

0

Building powerpc/mvme2703 BSP with the legacy networking fails with:

../../netinet/in.c: In function 'in_canforward':
../../netinet/in.c:117:13: warning: implicit declaration of function 'IN_CLASSA'; did you mean 'IN_BADCLASS'? [-Wimplicit-function-declaration]
117 |         if (IN_CLASSA(i)) {
|             ^~~~~~~~~
|             IN_BADCLASS
../../netinet/in.c:118:27: error: 'IN_CLASSA_NET' undeclared (first use in this function)
118 |                 net = i & IN_CLASSA_NET;
|                           ^~~~~~~~~~~~~
../../netinet/in.c:118:27: note: each undeclared identifier is reported only once for each function it appears in
../../netinet/in.c:119:41: error: 'IN_LOOPBACKNET' undeclared (first use in this function); did you mean 'IN_LOOPBACK'?
119 |                 if (net == 0 || net == (IN_LOOPBACKNET << IN_CLASSA_NSHIFT))
|                                         ^~~~~~~~~~~~~~
|                                         IN_LOOPBACK
../../netinet/in.c:119:59: error: 'IN_CLASSA_NSHIFT' undeclared (first use in this function)
119 |                 if (net == 0 || net == (IN_LOOPBACKNET << IN_CLASSA_NSHIFT))
|                                                           ^~~~~~~~~~~~~~~~
../../netinet/in.c: In function 'in_ifinit':
../../netinet/in.c:495:34: error: 'IN_CLASSA_NET' undeclared (first use in this function)
495 |                 ia->ia_netmask = IN_CLASSA_NET;
|                                  ^~~~~~~~~~~~~
../../netinet/in.c:496:18: warning: implicit declaration of function 'IN_CLASSB'; did you mean 'IN_BADCLASS'? [-Wimplicit-function-declaration]
496 |         else if (IN_CLASSB(i))
|                  ^~~~~~~~~
|                  IN_BADCLASS
../../netinet/in.c:497:34: error: 'IN_CLASSB_NET' undeclared (first use in this function)
497 |                 ia->ia_netmask = IN_CLASSB_NET;
|                                  ^~~~~~~~~~~~~
../../netinet/in.c:499:34: error: 'IN_CLASSC_NET' undeclared (first use in this function)
499 |                 ia->ia_netmask = IN_CLASSC_NET;
|                                  ^~~~~~~~~~~~~

Author: Chris Johns

2023-03-21T05:49:58.000Z

Also have:

[ 29/223] Compiling libtest/testbusy.c
../../libtest/testbusy.c: In function 'rtems_test_busy_cpu_usage':
../../libtest/testbusy.c:31:3: error: too many arguments to function '_Thread_Get_CPU_time_used'
31 |   _Thread_Get_CPU_time_used( executing, &start );
|   ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../libtest/testbusy.c:21:
/opt/work/rtems/6-bsp/powerpc-rtems6/mvme2307/lib/include/rtems/score/threadimpl.h:1306:19: note: declared here
1306 | Timestamp_Control _Thread_Get_CPU_time_used( Thread_Control *the_thread );
|                   ^~~~~~~~~~~~~~~~~~~~~~~~~
../../libtest/testbusy.c:35:5: error: too many arguments to function '_Thread_Get_CPU_time_used'
35 |     _Thread_Get_CPU_time_used( executing, &now );
|     ^~~~~~~~~~~~~~~~~~~~~~~~~
/opt/work/rtems/6-bsp/powerpc-rtems6/mvme2307/lib/include/rtems/score/threadimpl.h:1306:19: note: declared here
1306 | Timestamp_Control _Thread_Get_CPU_time_used( Thread_Control *the_thread );
|                   ^~~~~~~~~~~~~~~~~~~~~~~~~

Author: Chris Johns

2023-03-21T05:57:40.000Z

There are a couple of issues. The headers installed with the tools requires -DIN_HISTORICAL_NETS=1 on the command line and the score API for the CPU usage has changed.

Author: Chris Johns

2023-06-22T22:05:14.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4899 - BSP powerpc/qoriq_e6500_64 and powerpc/qoriq_e6500_32 fail to build

Id

4899

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-04-23T22:29:25.000Z

Updated

2023-06-22T21:45:21.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4899

Merges

0

[  87/1471] Compiling bsps/powerpc/shared/vme/vmeTsi148.c
/tmp//cccfu9l8.s: Assembler messages:
/tmp//cccfu9l8.s:353: Error: unrecognized opcode: `eieio'
/tmp//cccfu9l8.s:386: Error: unrecognized opcode: `eieio'
/tmp//cccfu9l8.s:419: Error: unrecognized opcode: `eieio'
/tmp//cccfu9l8.s:444: Error: unrecognized opcode: `eieio'
/tmp//cccfu9l8.s:477: Error: unrecognized opcode: `eieio'
/tmp//cccfu9l8.s:503: Error: unrecognized opcode: `eieio'
...

Author: Trac Migrate

2023-04-24T08:40:54.000Z

I can’t reproduce this issue:

Waf: Entering directory `/tmp/sh/b-rtems/powerpc/qoriq_core_0'
[  87/1471] Compiling bsps/powerpc/shared/vme/vmeTsi148.c
Waf: Leaving directory `/tmp/sh/b-rtems/powerpc/qoriq_core_0'
'build_powerpc/qoriq_core_0' finished successfully (0.626s)
Waf: Entering directory `/tmp/sh/b-rtems/powerpc/qoriq_core_1'
[  87/1471] Compiling bsps/powerpc/shared/vme/vmeTsi148.c
Waf: Leaving directory `/tmp/sh/b-rtems/powerpc/qoriq_core_1'
'build_powerpc/qoriq_core_1' finished successfully (0.598s)
Waf: Entering directory `/tmp/sh/b-rtems/powerpc/qoriq_e500'
[  87/1471] Compiling bsps/powerpc/shared/vme/vmeTsi148.c
Waf: Leaving directory `/tmp/sh/b-rtems/powerpc/qoriq_e500'
'build_powerpc/qoriq_e500' finished successfully (0.600s)
Waf: Entering directory `/tmp/sh/b-rtems/powerpc/qoriq_e6500_32'
[  87/1471] Compiling bsps/powerpc/shared/vme/vmeTsi148.c
Waf: Leaving directory `/tmp/sh/b-rtems/powerpc/qoriq_e6500_32'
'build_powerpc/qoriq_e6500_32' finished successfully (0.643s)
Waf: Entering directory `/tmp/sh/b-rtems/powerpc/qoriq_e6500_64'
[  76/2031] Compiling bsps/powerpc/shared/vme/vmeTsi148.c
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148FindPciBase':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:466:16: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
466 |         *pbase=(BERegister*)(((pci_ulong)BSP_PCI2LOCAL_ADDR(busaddr)) & ~0xff);
|                ^
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148InitInstance':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:493:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
493 |                                 (unsigned int)base, irq);
|                                 ^
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148ResetBusXX':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:553:9: warning: implicit declaration of function 'rtems_interrupt_disable'; did you mean 'rtems_interrupt_raise'? [-Wimplicit-function-declaration]
553 |         rtems_interrupt_disable(flags);
|         ^~~~~~~~~~~~~~~~~~~~~~~
|         rtems_interrupt_raise
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:553:9: warning: nested extern declaration of 'rtems_interrupt_disable' [-Wnested-externs]
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:556:9: warning: implicit declaration of function 'rtems_interrupt_enable'; did you mean 'rtems_interrupt_raise'? [-Wimplicit-function-declaration]
556 |         rtems_interrupt_enable(flags);
|         ^~~~~~~~~~~~~~~~~~~~~~
|         rtems_interrupt_raise
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:556:9: warning: nested extern declaration of 'rtems_interrupt_enable' [-Wnested-externs]
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'tsiVMEISR':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1487:47: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1487 | int                                     pin = (int)arg;
|                                               ^
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'connectIsr':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1598:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1598 |         xx.handle = (rtems_irq_hdl_param)slot;
|                     ^
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'tsi_desc_setnxt':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:2401:56: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
2401 |                 st_be32( &d->dnlal, BSP_LOCAL2PCI_ADDR((uint32_t)n) );
|                                                        ^
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:381:45: note: in definition of macro 'BSP_LOCAL2PCI_ADDR'
381 | #define BSP_LOCAL2PCI_ADDR(l)   (((uint32_t)l)+PCI_DRAM_OFFSET)
|                                             ^
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148DmaListStartXX':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:381:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
381 | #define BSP_LOCAL2PCI_ADDR(l)   (((uint32_t)l)+PCI_DRAM_OFFSET)
|                                   ^
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:337:111: note: in definition of macro 'TSI_WR'
337 | #define TSI_WR(base, reg, val)                  out_be32((volatile uint32_t *)((base) + (reg)/sizeof(*base)), val)
|                                                                                                               ^~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:2495:64: note: in expansion of macro 'BSP_LOCAL2PCI_ADDR'
2495 |                 TSI_WR(base, TSI_DNLAL_REG(channel), (uint32_t)BSP_LOCAL2PCI_ADDR(d));
|                                                                ^~~~~~~~~~~~~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148ResetBusXX':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:553:9: warning: 'flags' is used uninitialized [-Wuninitialized]
553 |         rtems_interrupt_disable(flags);
|         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:550:15: note: 'flags' was declared here
550 | unsigned long flags;
|               ^~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'intDoEnDis':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1862:9: warning: 'flags' may be used uninitialized [-Wmaybe-uninitialized]
1862 |         rtems_interrupt_disable(flags);
|         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1851:17: note: 'flags' was declared here
1851 | unsigned long   flags, v;
|                 ^~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148IntRoute':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1444:1: warning: 'flags' may be used uninitialized [-Wmaybe-uninitialized]
1444 | rtems_interrupt_disable(flags);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1412:38: note: 'flags' was declared here
1412 | unsigned long   mask, shift, mapreg, flags, wire;
|                                      ^~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148ISRGet':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1473:9: warning: 'flags' may be used uninitialized [-Wmaybe-uninitialized]
1473 |         rtems_interrupt_disable(flags);
|         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1463:19: note: 'flags' was declared here
1463 | unsigned long     flags;
|                   ^~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148InstallISR':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1810:17: warning: 'flags' may be used uninitialized [-Wmaybe-uninitialized]
1810 |                 rtems_interrupt_disable(flags);
|                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1796:19: note: 'flags' was declared here
1796 | unsigned long     flags;
|                   ^~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c: In function 'vmeTsi148RemoveISR':
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1834:17: warning: 'flags' may be used uninitialized [-Wmaybe-uninitialized]
1834 |                 rtems_interrupt_disable(flags);
|                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/powerpc/shared/vme/vmeTsi148.c:1826:19: note: 'flags' was declared here
1826 | unsigned long     flags;
|                   ^~~~~

Waf: Leaving directory `/tmp/sh/b-rtems/powerpc/qoriq_e6500_64'

Author: Chris Johns

2023-04-24T09:13:31.000Z

I just tried and I am still see the error. I am using:

[DEFAULT]
BUILD_TESTS = False
RTEMS_DEBUG = True

[powerpc/qoriq_e6500_32]

[powerpc/qoriq_e6500_64]
ruru rtems.git $ /opt/work/rtems/6/bin/powerpc-rtems6-gcc --version
powerpc-rtems6-gcc (GCC) 12.2.1 20220908 (RTEMS 6, RSB c0edd80bcd27b3dad7ee7acf5ea129e81e6a6f64, Newlib 783133b)
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Author: Trac Migrate

2023-04-24T09:19:40.000Z

Very strange, I don’t get this error with:

/opt/rtems/6/bin/powerpc-rtems6-gcc --version
powerpc-rtems6-gcc (GCC) 12.2.1 20230421 (RTEMS 6, RSB 21bf2f3d73e49006cb6fd45f064d6b045bc4ed07, Newlib da40bd6)
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Author: Joel Sherrill

2023-06-22T21:03:58.000Z

Chris.. I thought this was resolved. Can we close?

Author: Chris Johns

2023-06-22T21:45:21.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Building now

4906 - libbsd not working on nucleo-h743ZI

Id

4906

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-05-15T17:42:30.000Z

Updated

2023-06-22T20:47:49.000Z

Milestone

6.1

Labels

arch:arm, network::libbsd, priority::normal, resolution::invalid, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4906

Merges

0

Original author: yangn0

libbsd not working on nucleo-h743ZI.

I run the libbsd testsuit selectpollkqueue01,get a fatal.

The same fatal happened in my project.

* FATAL * fatal source: 0 (INTERNAL_ERROR_CORE) fatal code: 2 (INTERNAL_ERROR_TOO_LITTLE_WORKSPACE) RTEMS version: 6.0.0.020163e5b7bb0b4363b57f37729b99becae9c629 RTEMS tools: 12.2.1 20230224 (RTEMS 6, RSB f0e34eab8bf33b833a7d9d0b2bddd3b89f6d83cb, Newlib 17ac400) executing

i used a sh to build libbsd

cd /home/yangn0/devel/rtems-arm/rtems-libbsd
./waf distclean
./waf configure --prefix=$HOME/devel/rtems-arm/tools/rtems/6 \\
--rtems-bsps=arm/nucleo-h743zi \\
--buildset=buildset/default.ini
./waf
./waf install

Author: Joel Sherrill

2023-06-22T20:47:17.000Z

Original author: yangn0

The nucleo-h743ZI only has 1MB RAM. Although we don’t have a hard line for the minimum RAM required for libbsd, this is well below the normal for use. We would recommend using lwip instead in such a low RAM environment. Please feel free to ask on devel@ or Discord for help with that.

Author: Joel Sherrill

2023-06-22T20:47:49.000Z

Original author: yangn0

  • Resolution set to ~”invalid”

  • Status changed from new to closed

There is nothing to fix in this situation. Closing.

4912 - Collect Compression Library Source in Single Place

Id

4912

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2023-05-26T14:55:25.000Z

Updated

2023-06-06T13:49:01.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4912

Merges

0

Currently zlib is in cpukit/ while xz is in cpukit/libmisc. The purpose of this ticket is to create cpukit/compression and move both to it.

This ticket does not add, remove, or upgrade the existing source. It is intended to just document improving the organization.

Author: Joel Sherrill

2023-05-26T14:55:32.000Z

  • Owner set to @joel

  • Status changed from new to assigned

Author: Trac Migrate

2023-06-06T13:49:01.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”bb5dbff74a135957f3774e0ee1175bf7cf06edce/rtems” bb5dbff7/rtems]:

Move various compression libraries into single subdirectory

This improves the organization of the cpukit.

Closes #4912.

4913 - libbsd/ipsec-tools: Problems with more than 64 open files

Id

4913

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-05-31T05:56:47.000Z

Updated

2023-05-31T06:04:26.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4913

Merges

0

Original author: Christian Mauderer

IPSec with racoon doesn’t work if there are more than 64 open file descriptors in the system.

Author: Trac Migrate

2023-05-31T06:01:36.000Z

Original author: Christian Mauderer

In [changeset:”dfb21446417ba93240d018bebe84a51601ba2df5/rtems-libbsd” dfb2144/rtems-libbsd]:

ipsec-tools: Fix copying fd_set prior to select

The racoon session code copies an fd_set from one variable into another
prior to calling select. That works well for simple structures.

In libbsd we have to allocate fd_sets instead of using fixed structures
to avoid a problem with file numbers bigger than FD_SETSIZE. The simple
assignment didn't work in that case.

This patch makes sure that a memcpy is used instead.

Update #4913

Author: Trac Migrate

2023-05-31T06:03:37.000Z

Original author: Christian Mauderer

In [changeset:”8ed211f4a1940ba714ed1c43a302b1a2c622e102/rtems-libbsd” 8ed211f/rtems-libbsd]:

ipsec-tools: Fix copying fd_set prior to select

The racoon session code copies an fd_set from one variable into another
prior to calling select. That works well for simple structures.

In libbsd we have to allocate fd_sets instead of using fixed structures
to avoid a problem with file numbers bigger than FD_SETSIZE. The simple
assignment didn't work in that case.

This patch makes sure that a memcpy is used instead.

Update #4913

Author: Trac Migrate

2023-05-31T06:04:26.000Z

Original author: Christian Mauderer

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4901 - rtems_task_construct Documentation Missing Some Details

Id

4901

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2023-04-26T14:31:48.000Z

Updated

2023-05-19T05:21:42.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4901

Merges

0

The rtems_task_construct directive description has a couple of deficiencies:

  • does not mention or link to RTEMS_TASK_STORAGE_SIZE

  • does not provide rtems_task_config and discuss the fields

It would be nice to discuss how each of the parameters to rtems_task_create is set/computed when using rtems_task_config.

I did not look but rtems_message_queue_construct may have similar issues.

Author: Joel Sherrill

2023-04-26T14:32:05.000Z

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2023-04-27T05:57:24.000Z

Yes, this is definitely missing. One issue is that we have no documentation of the data structures in the Classic API Guide. They are only present in the Doxygen documentation. My plan is to improve the documentation generator in rtems-central to produce documentation for the data structures.

Author: Joel Sherrill

2023-04-27T11:43:15.000Z

It isn’t just the data structure. That could be largely accounted for with a quick mention that rtems_task_config maps to the arguments to rtems_task_create. The problem is specifically stack_size in create becomes storage_size in construct and you have to use a macro on your desired stack_size to fill in the structure. The dtor field is also missing info. You could get by with a bullet list on the structure parameters showing how they map or are used.

There is also nothing in rtems-examples which uses this.

Author: Trac Migrate

2023-04-27T13:38:13.000Z

Most of the stuff is already covered in the Doxygen output:

https://github.com/RTEMS/rtems/blob/master/cpukit/include/rtems/rtems/tasks.h#L107

Author: Trac Migrate

2023-05-19T05:21:42.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e33eae15a79e9b58c381554a674905f371d9e1ec/rtems-docs” e33eae1/rtems-docs]:

c-user: Generate API type documentation

Close #4901.

4771 - Versal UART issues

Id

4771

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-12-05T04:57:52.000Z

Updated

2023-05-17T04:23:43.000Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4771

Merges

0

The Versal polled mode it broken when building. The disable all interrupt call is not built in polled mode.

The UART interrupt mode behaves differently with a small stand alone app than a full app with libbsd. A full application with libbsd seems to behave while the small app exhibit the “not tx interrupt on FIFO load” issue.

Author: Trac Migrate

2022-12-05T22:28:42.000Z

Author: Chris Johns

2023-02-09T02:27:13.000Z

The UART IP is based on the standard ARM IP however Xilinx have finally reported to me the interrupts are not the same as the ARM IP. There is weird issue around needing to prime the FIFO to half plus one to generate the first TX interrupt.

Xilinx has confirmed this will not change across the range of ACAP devices.

The main issue this raises is using the UART for a specialized protocol and not a terminal where sending a number of carriage returns is harmless.

Author: Trac Migrate

2023-05-17T04:23:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4905 - SuperCore _TOD_Adjust No Longer Referenced and Should be Removed

Id

4905

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2023-05-15T13:39:34.000Z

Updated

2023-05-16T13:21:09.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4905

Merges

0

Apparently with the rework of time handling, this method has become unused and should be removed.

Author: Joel Sherrill

2023-05-15T13:39:44.000Z

  • Owner set to @joel

  • Status changed from new to assigned

Author: Trac Migrate

2023-05-16T13:21:09.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3f4454b6863443f68bc16814f5cfe1fe4002461a/rtems” 3f4454b/rtems]:

_TOD_Adjust method is unused. Remove it.

Use of this method was likely eliminated during the rework to use
FreeBSD bintime/sbintime.

Close #4905.

4902 - Update zlib to version 1.2.13

Id

4902

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-05-05T07:47:24.000Z

Updated

2023-05-09T12:56:31.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4902

Merges

1

Original author: sebastian.huber

The last zlib update was more than ten years ago. Update it to the latest version. This includes security fixes.

Author: Trac Migrate

2023-05-05T07:47:49.000Z

Original author: sebastian.huber

  • Summary changed from Update zlib to latest version to Update zlib to version 1.2.13

Author: Trac Migrate

2023-05-09T12:56:31.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”1f00afcb5a5b30593543268acbcbcb94f60d24a2/rtems” 1f00afc/rtems]:

zlib: Update from 1.2.5 to 1.2.13

The updated files were extracted from:

https://www.zlib.net/zlib-1.2.13.tar.xz

The archive had an SHA-256 hash value of:

d14c38e313afc35a9a8760dadf26042f51ea0f5d154b0630a31da0540107fb98

Close #4902.

4896 - Makefile.inc exported BSP include path not a system include path

Id

4896

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-04-12T21:55:08.000Z

Updated

2023-04-14T20:07:10.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4896

Merges

0

The BSP include path exported in the Makefile.inc set of files uses -I and that is not a system include. The RTEMS 5 and earlier autoconf build system provided a spec file using the -B option and that either added a system path or the spec file included a system path. Either way the BSP include path was added as a system include path and so the compiler placed it at the end of the include list.

The CPU_DEFINES macro is part of CPPFLAGS exported by Makefile.inc and we cannot control how applications uses that variable so we need to make sure the BSP include path is exported as a system include path.

The issue was found with EPICS. EPICS installs a header file called link.h under its include path. RTEMS now provides a header file called link.h. The CPPFLAGS are before the EPICS include path so our link.h was seen before the EPICS one and that broken the build.

Author: Trac Migrate

2023-04-14T20:07:10.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”5a37722b066f5792aad80fb5b32fb3c056cf1607/rtems” 5a37722b/rtems]:

spec/pkgconfig: Allow builds to override headers

This allows any builds targeting an installed RTEMS BSP to override
headers in the installed BSP reliably, including headers previously
installed by that or other builds. This includes applications, network
stacks, libraries, and any other builds.

Closes #4896

4892 - MacOS tools build failures on Ventura and M series processors

Id

4892

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-03-26T01:09:44.000Z

Updated

2023-04-11T22:09:58.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4892

Merges

0

Building the tools with a recent MacOS such as Ventura failed because Apple has removed support for embedded python in programs. This means GDB does not build. The solution is to teach the RSB GDB support to use a build of Python from https://www.python.org/.

The RSB failed to build gcc on the M series processors on Ventura using Xcode 14.2. The build gcc crosscompiler (xgcc) crashes with sig faults. GCC does not bootstrap on ARM systems:

*** Configuration aarch64-apple-darwin22.3.0 not supported

Look at supporting Homebrew built gcc.

Author: Chris Johns

2023-03-26T01:15:45.000Z

Fix building libgcc on MacOS:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109282

Author: Chris Johns

2023-03-27T04:07:36.000Z

Patch 1 of 4

Author: Chris Johns

2023-03-27T04:07:53.000Z

Patch 2 of 4

Author: Chris Johns

2023-03-27T04:08:07.000Z

Patch 3 of 4

Author: Chris Johns

2023-03-27T04:08:24.000Z

Patch 4 of 4

Author: Chris Johns

2023-03-27T04:20:26.000Z

I have attached the 4 patches I have for building on a recent MacOS.

You need:

  1. Recent Xcode installed with the command line tools package. To install the package start Xcode and then click on the Xcode menu item followed by “Open Developer Tools”, “More Developer Tools…”. Find the command line tools package for the version of Xcode you are running and install.

  2. Install a recent Python 3 from https://www.python.org/downloads/macos/ and install. From a terminal shell run:

% /Applications/Python\\ 3.11/Update\\ Shell\\ Profile.command

To install the paths in your environment

  1. Create a virtual environment and activate it:

% python3 -m venv rpy
% . ./rpy/bin/activate
  1. Optionally install Homebrew and set up the environment. Make sure one of gcc-12 through to gcc-9 packages is installed.

  2. Run a normal RSB build

Note: Currently M2 Pro builds are failing with a segment fault. I have only one machine to test this on.

Author: Trac Migrate

2023-03-28T10:26:27.000Z

Somethings’s fishy here. If we’are talking about tools build by RSB as presented in HEAD, then I’m able to build those on Ventura. The point is to:

  • use hand build python3

  • use either more RAM or limit jobs

The common issue of segfaulting GCC seems to be caused by Ventura reworked memory management which seems to be very sensitive to available amount of RAM.

Using Ventura 13.2 here.

Author: Trac Migrate

2023-03-28T10:52:36.000Z

OK, so sorry for noise here. What I wrote was applicable in the past. Now, while looking into the internal documentation for MacOS-based customer (which may become part of rtems doc, just don’t know where to put it nor had a time to submit/merge) I see these asciidoc paragraphs:

#### Install RTEMS build requirements
Please note that this paragraph is written for macOS 13.2.1 (Ventura) and is
not directly applicable to Linux distributions and/or various BSDs.

We are using homebrew to install basic packages required to compile
RTEMS tools and packages. Let's start with the Homebrew installation first.
Open the shell window and run following command inside it.
----
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
----
The command will ask for root access and will then also download not
only brew package manager, but also Apple's Xcode command line tools.

When this is done, you may choose to configure brew to be available on
your PATH by following 'Next steps' printed to the terminal by the
installation process.

When this is done, you may continue with using brew package manager to
install required packages for us. Please use following command in
order to do it.
----
% brew install xz python3 texinfo
----
In order to use python3 installed above with just a 'python' command
which is required by the RTEMS source builder (due to required support
for python2 on tools side) you will also need to create a symbolic
link python3 -> python like below:
----
% cd /opt/homebrew/bin
% ln -s python3 python
----

Author: Trac Migrate

2023-03-28T12:59:14.000Z

I can confirm that I’ve built tools using RSB with last patch being:

commit f0e34eab8bf33b833a7d9d0b2bddd3b89f6d83cb (origin/master, origin/HEAD)
Author: Chris Johns <chrisj@rtems.org>
Date:   Tue Mar 21 22:05:41 2023 +1100

binutils: Disable stack exec and RWX section warnings

Binutils 2.39 and later enable by default warnings for executables
with executable stack and RWX sections. Disable them.

Closes #4881

hour ago on my Ventura Mac Mini M1 software versions:

karel@mini rtems % sw_vers
ProductName:            macOS
ProductVersion:         13.2.1
BuildVersion:           22D68

just FINE and without any of your proposed patches!

So please do not destabilize stuff. macOS is enough PITA :-)

Author: Chris Johns

2023-03-28T21:10:46.000Z

Replying to kgardas:

OK, so sorry for noise here.

No problem.

What I wrote was applicable in the past. Now, while looking into the internal documentation for MacOS-based customer (which may become part of rtems doc, just don’t know where to put it nor had a time to submit/merge) I see these asciidoc paragraphs:

I will update the User Manual once we have the patches attached to this ticket.

{{{ ==== Install RTEMS build requirements Please note that this paragraph is written for macOS 13.2.1 (Ventura) and is not directly applicable to Linux distributions and/or various BSDs. We are using homebrew to install basic packages required to compile RTEMS tools and packages. Let’s start with the Homebrew installation first. Open the shell window and run following command inside it.

% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” }}}

Homebrew is optional in my view and not mandatory.

{{{

The command will ask for root access and will then also download not only brew package manager, but also Apple’s Xcode command line tools. When this is done, you may choose to configure brew to be available on your PATH by following ‘Next steps’ printed to the terminal by the installation process. When this is done, you may continue with using brew package manager to install required packages for us. Please use following command in order to do it.

% brew install xz python3 texinfo }}}

Python from Homebrew is an option for python but that will be a per user choice. The end goal is building with Xcode and python.org. The texinfo package may be added like gsed has been. I am not sure we even need makeinfo any more.

{{{

In order to use python3 installed above with just a ‘python’ command which is required by the RTEMS source builder (due to required support for python2 on tools side) you will also need to create a symbolic link python3 -> python like below:

% cd /opt/homebrew/bin % ln -s python3 python }}}

Adding a link is personal choice. I prefer we document using virtual environments.

Author: Chris Johns

2023-03-28T21:13:47.000Z

Replying to kgardas:

I can confirm that I’ve built tools using RSB with last patch being: {{{ commit f0e34eab8bf33b833a7d9d0b2bddd3b89f6d83cb (origin/master, origin/HEAD) Author: Chris Johns <chrisj@rtems.org> Date: Tue Mar 21 22:05:41 2023 +1100 binutils: Disable stack exec and RWX section warnings Binutils 2.39 and later enable by default warnings for executables with executable stack and RWX sections. Disable them. Closes #4881 }}} hour ago on my Ventura Mac Mini M1 software versions: {{{ karel@mini rtems % sw_vers ProductName: macOS ProductVersion: 13.2.1 BuildVersion: 22D68 }}} just FINE and without any of your proposed patches! So please do not destabilize stuff. macOS is enough PITA :-)

The patches are needed so I encourage you try them and comment before they are pushed. The RSB is active and it changes.

Author: Trac Migrate

2023-03-28T21:28:04.000Z

Hold on! You added patches. I described two ways how is it possible to build tool and yet you claim patches are needed when half of the patches try to deal with crashing of gcc on your Ventura.

Also you claim homebrew is optional yet you like to use it’s gcc/g++ to build tools.

A bit contradicting.

Anyway, please make sure you are on the LATEST Ventura and not on the .0 release. If you update, you will see your gcc crashes may be gone for good. I reported that on devel@ few times already.

Yes, makeinfo is still required by RSB otherwise I would not install it.

Yes, if RSB build its own xz and python and whatever, it would be good.

Author: Chris Johns

2023-03-29T05:57:47.000Z

Replying to kgardas:

Hold on! You added patches.

Indeed I did, please read the ticket. I clearly said this at the start of comment:2.

I described two ways how is it possible to build tool and yet you claim patches are needed when half of the patches try to deal with crashing of gcc on your Ventura.

The patches are not attempting to address the crashing. I have no idea what causes those. The patches address other issues. They are:

  1. Using Python virtual env and cleaning up python support for MacOS. This lets a user install python from python.org.

  2. DTC did not build because of warnings treated as errors. No idea how you missed this is you are at the same level of updates as me.

  3. Libgcc uses sh and not $(SHELL) in it’s Makefile.in. I have not looked into why I got it but something is different in the set up or environment to trigger it.

  4. Add homebrew as a I wanted to try building xgcc with gcc rather than Xcode. It did not help so I am currently considering dropping that patch.

Also you claim homebrew is optional yet you like to use it’s gcc/g++ to build tools.

I have not yet added Homebrew support. It is sitting in a patch. I would prefer not to have it part of the build. I have explained this on the devel list in the past.

A bit contradicting.

I did not and have not and I cannot understand why you need to talk to me like this. Can you please not?

Anyway, please make sure you are on the LATEST Ventura and not on the .0 release.

I am on the latest.

If you update, you will see your gcc crashes may be gone for good. I reported that on devel@ few times already.

They have not gone for me. I am on an M2 Pro and I think you are on an M1.

Yes, makeinfo is still required by RSB otherwise I would not install it.

The RSB checks but is it needed in any packages these days? It was added long ago when all projects built the docs by default using it. We do not build doc. If needed support should be added like gsed.

Yes, if RSB build its own xz and python and whatever, it would be good.

The RSB is written in python so building python would be difficult without it already being installed. Ah yes xz is another. I built that by hand and had forgotten.

Author: Chris Johns

2023-04-02T23:29:15.000Z

Building on M2 Pro with Ventura 13.3 and Xcode Version 14.3 (14E222b) results in segmentation faults in cc1 and cc1plus. Inspecting the MacOS crash reports showed invalid accesses to the stack guard area of memory. A typical crash report is:

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_PROTECTION_FAILURE at 0x00000001699dbff0
Exception Codes:       0x0000000000000002, 0x00000001699dbff0

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [30551]

VM Region Info: 0x1699dbff0 is in 0x1699d8000-0x1699dc000;  bytes after start: 16368  bytes before end: 15
REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
MALLOC_MEDIUM (reserved)    147800000-148000000    [ 8192K] rw-/rwx SM=NUL  ...(unallocated)
GAP OF 0x219d8000 BYTES
--->  STACK GUARD                 1699d8000-1699dc000    [   16K] ---/rwx SM=NUL  ... for thread 0
Stack                       1699dc000-16d9d8000    [ 64.0M] rw-/rwx SM=PRV  thread 0

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   cc1                                        0x10335d630 __gmpn_lshift + 208
1   cc1                                        0x1033438c8 mpfr_mpn_exp + 684 (mpn_exp.c:151)
2   ???                                        0x2db39f030 ???


Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000   x1: 0x00000001699dc010   x2: 0x0000000000000000   x3: 0x0000000000000001
x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000000
x8: 0xffffffffffffffff   x9: 0x0000000000000007  x10: 0x0000000000000000  x11: 0x0000000000000000
x12: 0x0000000000000000  x13: 0x0000000000000000  x14: 0x0000000000000001  x15: 0x00000000ffffffd0
x16: 0x00000001699dc170  x17: 0x0000000082eff7fb  x18: 0xfffffffffffffe00  x19: 0xffffffffffffff04
x20: 0x0000000000000003  x21: 0x0000000000000003  x22: 0x000000016d9cf818  x23: 0x0000000000000005
x24: 0xffffffffffffff08  x25: 0x0000000000000004  x26: 0x0000000000000012  x27: 0x000000016d9cf6c8
x28: 0x000000016d9cf6e0   fp: 0x000000016d9cf7c0   lr: 0x00000001033438c8
sp: 0x000000016d9cf6b0   pc: 0x000000010335d630 cpsr: 0x20001000
far: 0x00000001699dbff0  esr: 0x92000007 (Data Abort) byte read Translation fault

Binary Images:
0x102428000 -        0x10359bfff cc1 (*) <72d6a4cf-055f-369c-89cb-4cbf48bff6cf> /Users/USER/*/cc1
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

The FAR is in the stack guard area. The crashes are always in the MPFR library and relate to calls to GMP. The GMP tests pass. The MPFR built by gcc tests fail and a hand built MPFR tests pass.

The crash leaves the build so changing to the MPFR build directory lets you run the tests:

cd build/arm-rtems6-gcc-cf59d86-newlib-17ac400-arm64-apple-darwin22.4.0-1/build/mpfr
make check

The results are:

============================================================================
Testsuite summary for MPFR 4.2.0
============================================================================
# TOTAL: 197
# PASS:  97
# SKIP:  3
# XFAIL: 0
# FAIL:  97
# XPASS: 0
# ERROR: 0

The failures are all seg faults.

I upgraded to MPFR 4.2.0 as it does not need the fix-mac-arm64-mpfr-config.patch patch. Building by hand and referencing the gcc build GMP has the following results:

============================================================================
Testsuite summary for MPFR 4.2.0
============================================================================
# TOTAL: 197
# PASS:  194
# SKIP:  3
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0

I provided the same configure command line used by gcc when it builds the library internally. There are no sig faults.

I ran the tests for GMP and there were no errors.

Close inspection of the build and the config.log reveals a difference. The gcc build has:

-DHAVE___GMPN_INVERT_LIMB=1 -DHAVE___GMPN_RSBLSH1_N=1

and they are not present when building by hand. The config.log shows:

configure:19315: checking for __gmpn_invert_limb
[..]
configure:19315: result: yes

The hand built MPFR has:

configure:19315: checking for __gmpn_invert_limb
[..]
configure:19315: result: no

This is the only difference I could see.

Author: Chris Johns

2023-04-04T23:12:27.000Z

Disable GCC catch sign fauls and cleaning up with a error message.

Author: Chris Johns

2023-04-04T23:16:43.000Z

I have found a suitable work around for MacOS arm64 that stops the crashes. I tracked issue to GMP and the assembler accelerators it has for aarch64. That code seems to access memory outside the area allocated and MacOS 13.2/13.3 detects this on arm64. The crash depends on where the alloc call allocates memory in relation to the stack guard.

I ised the simple patch attached to toplev.cc to stop GCC catching the seg fault signal. This lets MacOS capture the fault and generate a useful crash report.

After a crash I changed directory to the GCC build of MPFR and ran make check. The results failed as shown in comment:10.

Testing of builds of MPFR showed the issue in GMP and inspecting GMP configure --help showed --disable-assemble. Using this option results in the MPFR tests passing. I updated the GMP build to add this option on MacOS arm64.

This exposed a second issue. GCC was building GMP internally as the source was linked into the top level of GCC’s sources. GMP is now built as a package because GDB also requires GMP. There is no point building it twice. Removing the GMP sources from the GCC build let GCC pick up the GMP package built and staged earlier in the build set with the work around configure option.

No bug report has been raised with the GMP or MPFR projects. If someone feels like doing that please do.

Author: Trac Migrate

2023-04-05T22:33:27.000Z

In [changeset:”344981a8f8202cf4b83cec179a15850eef9aeadb/rtems-source-builder” 344981a/rtems-source-builder]:

dtc: Disable warnings

Updates #4892

Author: Trac Migrate

2023-04-05T22:33:29.000Z

In [changeset:”9919f1217c66dad5e721802a265cdbdcf6070069/rtems-source-builder” 9919f12/rtems-source-builder]:

gdb: Use a virtual environment if present

- Detect and use a virtual environment if present

- Supports MacOS with python.org in a venv

Updates #4892

Author: Trac Migrate

2023-04-05T22:33:30.000Z

In [changeset:”f3c5dbdce6472da91c3c3a26c44d78c10474498f/rtems-source-builder” f3c5dbd/rtems-source-builder]:

rtems/gcc: Do not build GMP in GCC, use the staged build

- Do not build GMP when building GCC. GMP is now built
as a package for GDB. Building as a separate package
lets use control how it is built.

Updates #4892

Author: Trac Migrate

2023-04-05T22:33:32.000Z

In [changeset:”4358a038c62a21a59ce712b08c003b56c8ae2ab0/rtems-source-builder” 4358a03/rtems-source-builder]:

devel/gmp: Disable assemble builds on MacOS AARCH64

Updates #4892

Author: Trac Migrate

2023-04-05T22:33:33.000Z

In [changeset:”235c12feebc3df70e10b56d41573013729bd2a96/rtems-source-builder” 235c12f/rtems-source-builder]:

devel/mpfr: Update to 4.2.0 to support MacOS AARCH64

- Use base64 checksums

- Change MPFR URL

Updates #4892

Author: Trac Migrate

2023-04-05T22:33:35.000Z

In [changeset:”05f6bef0934f45fd9da1723824d0c710cd292c6c/rtems-source-builder” 05f6bef/rtems-source-builder]:

devel/mpfr: Add MPFR as a package

- This is a place holder incase we stop building MPFR in
GCC.

Updates #4892

Author: Trac Migrate

2023-04-05T22:33:37.000Z

In [changeset:”cf447af6ea33f009bdd1b74725f2faed6257d3dc/rtems-source-builder” cf447af/rtems-source-builder]:

rtems/mipsstx39: Update to GDB 13.1 and stage build GMP

- Use a build set file to stage GMP as recent GDB
versions require GMP.

Update #4892

Author: Trac Migrate

2023-04-05T22:33:38.000Z

In [changeset:”024db7d14300cb1650d7368587875e71082e0822/rtems-source-builder” 024db7d/rtems-source-builder]:

rtems/microblaze: Update to GDB 13.1

Note:
GCC does not build on MacOS 13.3 due to the specific version
of GCC the Microblaze is using.

Updates #4892

Author: Chris Johns

2023-04-11T22:09:58.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Karel has confirmed builds are working cleanly.

4889 - Remove file scanning from rtems-lwip

Id

4889

State

closed

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Trac Migrate

Created

2023-03-24T00:07:56.000Z

Updated

2023-03-29T16:26:35.000Z

Milestone

6.1

Labels

network::lwip, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4889

Merges

0

rtems-lwip currently scans a subset of directories for files. Since it already supports includes in its definition format, it should instead explicitly list all files to be compiled and support for directory scanning should be removed.

Author: Trac Migrate

2023-03-29T16:26:35.000Z

In [changeset:”80197c5a4236eedb9270dd70f300f0cc1fc66adb/rtems-lwip” 80197c5/rtems-lwip]:

lwip.py: Remove directory scanning

This removes directory scanning from rtems-lwip for a more robust build
system.

Closes #4889

4884 - I2C default ioctl handler does not handle set clock

Id

4884

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-03-22T04:53:13.000Z

Updated

2023-03-22T05:26:40.000Z

Milestone

6.1

Labels

device::i2c, priority::normal, resolution::invalid, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4884

Merges

0

The base struct for an I2C driver can set set_clock handler so a user can change the I2C clock speed. The default ioctl handler does not check for the I2C_BUS_SET_CLOCK command and if the set_clock handler is set calling it.

Author: Chris Johns

2023-03-22T05:26:40.000Z

  • Resolution set to ~”invalid”

  • Status changed from assigned to closed

Ah sorry I was looking at a device and not the bus.

4881 - powerpc gas and ld warnings

Id

4881

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-03-21T04:51:55.000Z

Updated

2023-03-21T21:55:03.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::binutils, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4881

Merges

0

The upgraded binutils generates new warnings when linking executables:

/opt/work/6/lib/gcc/powerpc-rtems6/12.2.1/../../../../powerpc-rtems6/bin/ld: warning: /opt/work/rtems/6-bsp/powerpc-rtems6/mvme2307/lib/vectors_entry.o: missing .note.GNU-stack section implies executable stack
/opt/work/6/lib/gcc/powerpc-rtems6/12.2.1/../../../../powerpc-rtems6/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
/opt/work/6/lib/gcc/powerpc-rtems6/12.2.1/../../../../powerpc-rtems6/bin/ld: warning: /opt/work/chris/rtems/libbsd/rtems-libbsd.git/build/powerpc-rtems6-mvme2307-default/termios05.exe has a LOAD segment with RWX permissions
/opt/work/6/lib/gcc/powerpc-rtems6/12.2.1/../../../../powerpc-rtems6/bin/ld: warning: /opt/work/chris/rtems/libbsd/rtems-libbsd.git/build/powerpc-rtems6-mvme2307-default/termios05.exe has a LOAD segment with RWX permissions

Author: Chris Johns

2023-03-21T06:23:45.000Z

This article by Nick Clifton explains the changes in binutils-2.39:

https://www.redhat.com/en/blog/linkers-warnings-about-executable-stacks-and-segments

Author: Chris Johns

2023-03-21T06:57:19.000Z

This diff removes the warning:

diff --git a/bsps/powerpc/shared/start/vectors_entry.S b/bsps/powerpc/shared/start/vectors_entry.S
index 07b17a48af..9140c55121 100644
--- a/bsps/powerpc/shared/start/vectors_entry.S
+++ b/bsps/powerpc/shared/start/vectors_entry.S
@@ -10,6 +10,7 @@
#include <rtems/score/cpu.h>

PUBLIC_VAR (__rtems_start)
+       .section .note.GNU-stack,"",@progbits
.section .entry_point_section,"awx",@progbits
/*
* Entry point information used by bootloader code

however it moves to another object file:

/opt/work/6/lib/gcc/powerpc-rtems6/12.2.1/../../../../powerpc-rtems6/bin/ld: warning: /opt/work/6/lib/gcc/powerpc-rtems6/12.2.1/m604/ecrtn.o: missing .note.GNU-stack section implies executable stack
/opt/work/6/lib/gcc/powerpc-rtems6/12.2.1/../../../../powerpc-rtems6/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

This time it is in the gcc build object files.

Author: Chris Johns

2023-03-21T09:26:15.000Z

The following removes the warnings:

[powerpc/mvme2307]
LINKFLAGS = -Wl,--no-warn-execstack -Wl,--no-warn-rwx-segments

I do not know how to add these options to the LINKFLAGS in the spec files.

Author: Chris Johns

2023-03-21T09:51:24.000Z

I will get the RSB to disable these warnings for RTEMS. This will mean we will not have to change anything and users will not see these warnings and be confused.

Author: Chris Johns

2023-03-21T10:50:55.000Z

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2023-03-21T21:55:03.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”f0e34eab8bf33b833a7d9d0b2bddd3b89f6d83cb/rtems-source-builder” f0e34ea/rtems-source-builder]:

binutils: Disable stack exec and RWX section warnings

Binutils 2.39 and later enable by default warnings for executables
with executable stack and RWX sections. Disable them.

Closes #4881

4878 - sptests/spsysinit01 sem_open call only has 3 parameters with O_CREAT flag (cloned)

Id

4878

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2023-03-13T14:29:44.000Z

Updated

2023-03-14T06:43:33.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4878

Merges

0

Original author: lsilistr

Cloned from #4877:


When calling sem_open with the O_CREAT flag the sem_open function requires 4 parameters. It will: value = va_arg(args, unsigned int); so the “value” argument will be randomly chosen.

sem_open can fail if the random value is not a valid semaphore value, failing the test.

Author: Trac Migrate

2023-03-14T06:43:33.000Z

Original author: lsilistr

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”377eae4165d52d247bdeaac99c735fdb02edae65/rtems” 377eae4/rtems]:

spsysinit01: Fix sem_open() call

The O_CREAT flag requires a mode and initial value as third and fourth
argument.

Close #4878.

4872 - GDB 13.1 does not build on FreeBSD 13.1

Id

4872

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-03-09T03:10:07.000Z

Updated

2023-03-09T23:38:51.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::gdb, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4872

Merges

0

If the binutils package is installed GDB does not build.

See https://sourceware.org/bugzilla/show_bug.cgi?id=30214

Author: Trac Migrate

2023-03-09T23:38:51.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e5abdec8534849c9362674e867154121e917aead/rtems-source-builder” e5abdec/rtems-source-builder]:

6/gdb: fix building on FreeBSD 13.1

See https://sourceware.org/bugzilla/show_bug.cgi?id=30214

Closes #4872

4775 - RISC-V: Default RV64 BSPs to medany

Id

4775

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-12-17T16:43:37.000Z

Updated

2023-03-02T13:51:34.000Z

Milestone

6.1

Labels

arch:riscv, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4775

Merges

0

Original author: heshamelmatary

Currently generic RISC-V BSPs (riscv/riscv) that start with rv64 and not rv64_medany will start at 0x70000000. This adds high maintenance overhead and deviates from almost all other RISC-V-based OSes and baremetal program that start at 0x80000000. Further, testing now has to account for an extra parameter (medany or not) that doubles the number of BSPs need to be tested.

It would be ideal to reduce maintenance efforts by defaulting all RV64 BSPs to medany and make them start at 0x80000000 to run on both QEMU and Spike. Those that need other cmodels or start addresses could be customised (e.g., rv64imac would default to medany but rv64imac_medlow won’t).

Author: Trac Migrate

2022-12-17T16:44:20.000Z

Original author: heshamelmatary

gcc: Build medany rv32 multilibs

Author: Chris Johns

2022-12-17T21:36:18.000Z

Original author: heshamelmatary

  • Milestone set to %”6.1”

  • Version set to ~”6”

I have assigned this ticket to 6. Please move if not for 6.1.

Author: Trac Migrate

2022-12-21T12:35:09.000Z

Original author: heshamelmatary

Original author: heshamelmatary

  • Description changed

- Currently generic RISC-V BSPs (riscv/riscv) that start with rv* and not rv*_medany will start at 0x70000000. This adds high mainternace overhead and deviates from almost all other RISC-V-based OSes and baremetal program that start at 0x80000000. Further, testing now has to account for an extra parameter (medany or not) that doubles the number of BSPs need to be tested. RV32* currently don't have medany support as gcc/newlib doesn't build this. Thus, rv32 only currently runs on Spike as QEMU starts at 0x80000000.
+ Currently generic RISC-V BSPs (riscv/riscv) that start with rv64 and not rv64_medany will start at 0x70000000. This adds high maintenance overhead and deviates from almost all other RISC-V-based OSes and baremetal program that start at 0x80000000. Further, testing now has to account for an extra parameter (medany or not) that doubles the number of BSPs need to be tested.

- It would be ideal to reduce maintenance efforts by defaulting all BSPs to medany and make them start at 0x80000000 to run on both QEMU and Spike. Those that need other cmodels or start addresses could be customised (e.g., rv64imac would default to medany but rv64imac_medlow won't).
+ It would be ideal to reduce maintenance efforts by defaulting all RV64 BSPs to medany and make them start at 0x80000000 to run on both QEMU and Spike. Those that need other cmodels or start addresses could be customised (e.g., rv64imac would default to medany but rv64imac_medlow won't).
?                                                                  +++++
  • Summary changed from RISC-V: Default BSPs to medany to RISC-V: Default RV64 BSPs to medany

Author: Trac Migrate

2022-12-23T09:07:51.000Z

Original author: heshamelmatary

In [changeset:”dd280054903db8c356f2325934b3cbf4e3c13176/rtems” dd28005/rtems]:

spec/build/riscv: Default rv64* BSPs to medany cmodel

Currently generic RISC-V BSPs (riscv/riscv) that start with rv64 and not
rv64*_medany will start at 0x70000000. This adds high maintenance overhead
and deviates from almost all other RISC-V-based OSes and baremetal programs
that start at 0x80000000. Further, testing now has to account for an extra
parameter (medany or not) that doubles the number of BSPs need to be
tested.

This commit defaults all RV64 BSPs to use medany code model to allow starting
all BSPs at 0x80000000. BSPs that require different code models and/or
start addresses are custom and need to add their own entries.

Updates #4775

Author: Trac Migrate

2022-12-23T09:07:54.000Z

Original author: heshamelmatary

In [changeset:”a430dd43d9130f632aeba13663af53b152597399/rtems” a430dd4/rtems]:

spec/build/riscv: Start all riscv/riscv BSPs at 0x80000000

To follow other RISC-V-based OSes conventions. Delete generic
BSPs that start at 0x70000000 as BSPs are now medany by default.

Updates #4775

Author: Trac Migrate

2023-01-09T18:11:06.000Z

Original author: heshamelmatary

In [changeset:”6794f0166c231ca5c95bec9ab005eda496d5833d/rtems-docs” 6794f01/rtems-docs]:

Docs: RISC-V Update rv64* BSPs to medany and 0x80000000 start address

Closes #4775

Author: Trac Migrate

2023-02-08T07:13:22.000Z

Original author: heshamelmatary

In [changeset:”a735d42b3784af88994eb52b982a509c106cb2d4/rtems-tools” a735d42/rtems-tools]:

RISC-V Default rv64* BSPs to medany and 0x80000000 start address

To run on both QEMU and Spike

Updates #4775

Author: Trac Migrate

2023-02-08T07:13:23.000Z

Original author: heshamelmatary

In [changeset:”7ee62e96984bd2f05a4be7af9c01939124c72bcc/rtems-tools” 7ee62e9/rtems-tools]:

RISC-V: Test rv32i and rv32imafdc on QEMU

Updates #4775

Author: Trac Migrate

2023-03-02T13:51:34.000Z

Original author: heshamelmatary

In [changeset:”269562cfd253c10caf81e665d6304346abb33d1e/rtems” 269562cf/rtems]:

bsps/riscv: Use medany cmodel for 64-bit variants

Updates #4775.

4859 - Update gdb to 12.1

Id

4859

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2023-02-16T22:39:01.000Z

Updated

2023-02-17T20:12:45.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::gdb

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4859

Merges

0

While investigating the build issue tracked as #4858, I tried bumping the gdb to 12.1 hoping it included the fix. But it did not. This bumps the default gdb to 12.1 with the same patch.

Author: Trac Migrate

2023-02-17T20:12:45.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”e3f4060df4f4bb31adc679e92a471c03b1d1b30b/rtems-source-builder” e3f4060/rtems-source-builder]:

Update gdb to 12.1 including patch for hosts with readline 8.2

Issue for hosts with readline 8.2 also exists with gdb 12.1.

Closes #4859.

4858 - GDB fails to build on any host with readline 8.2 or newer

Id

4858

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2023-02-16T22:36:08.000Z

Updated

2023-02-17T20:12:44.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::gdb

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4858

Merges

0

This showed up with gdb 11.2 building on Cygwin. The fix is already in the gdb git repository on the master but not gdb 12.x. This ticket tracks adding that to the RSB.

Author: Trac Migrate

2023-02-17T20:12:44.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e1d5d93296a9bb6267f349974e044dbb5db27927/rtems-source-builder” e1d5d93/rtems-source-builder]:

rtems-gdb-11.2.cfg: Add patch for hosts with readline 8.2

Get the fix from gdb git repo to fix build issue which showed
up on Cygwin but was cross platform.

Closes #4858.

4557 - medit problem in RTEMS6 (was 4.11/5.1)

Id

4557

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2021-12-02T14:41:23.000Z

Updated

2023-02-15T21:00:22.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4557

Merges

0

Original author: chenjin_zhong

Hi, I find when open medit editor in shell console, and then input CTRL+E/CTRL+X instructions in medit.the selected text cannot be cut. I review the code in main_medit file. First, when I input CTRL+E instruction, the function select_toggle is executed and selects the text. Second, when I input CTRL+X, the function cut_selection copies the selected text to clipboard. but after copy, the selected text is non-selected. Therefore, the erase_selection in cut_selection cannot take effect. the src code is listed as follows. I suggest that remove select_toggle in copy_selection function. and add after copy_selection. the code frament is marked in bold.

static void select_toggle(struct editor *ed) { ed->selecting = ed->selecting ? 0 : 1; update_selection(ed, ed->selecting); adjust(ed); }

static void cut_selection(struct editor *ed) { copy_selection(ed); erase_selection(ed); select_toggle(ed); }

static void copy_selection(struct editor *ed) { int selstart, selend; if (!get_selection(ed, &selstart, &selend)) return; ed->env->clipsize = selend - selstart; ed->env->clipboard = (unsigned char *) realloc(ed->env->clipboard, ed->env->clipsize); if (!ed->env->clipboard) return; copy(ed, ed->env->clipboard, selstart, ed->env->clipsize); select_toggle(ed); }

case ctrl(‘c’): copy_selection(ed); select_toggle; break;

Author: Joel Sherrill

2021-12-02T15:50:20.000Z

Original author: chenjin_zhong

First I think you mean main_edit.c ([https://github.com/RTEMS/rtems/blob/master/cpukit/libmisc/shell/main_edit.c])

Did you observe this on real hardware or a simulator? It is possible that the communications program (with hardware) or simulator is grabbing some characters.

It is also possible this is a bug. If this is the case, the code originated from https://github.com/ringgaard/sanos/tree/master/src/utils/edit. If it is a bug, we would like to work with the upstream to get it fixed and then update the code in RTEMS.

The code at the original repository can be compiled natively and you can check the behavior on that. The RTEMS derived version probably can be compiled similarly if that didn’t get broken in the merge. Please try to follow up and let’s see what is needed.

Author: Trac Migrate

2021-12-05T13:34:32.000Z

Original author: chenjin_zhong

Thank you! I have observed this on real hardware. then, I have checked https://github.com/ringgaard/sanos/tree/master/src/utils/edit. This Bug has been fixed. the code fragment is listed as follows. The erase_selection function is called by the cut_selection function and is able to delete selected characters.

void copy_selection(struct editor *ed) { int selstart, selend; if (!get_selection(ed, &selstart, &selend)) return; ed->env->clipsize = selend - selstart; ed->env->clipboard = (unsigned char *) realloc(ed->env->clipboard, ed->env->clipsize); if (!ed->env->clipboard) return; copy(ed, ed->env->clipboard, selstart, ed->env->clipsize); }

void cut_selection(struct editor *ed) { copy_selection(ed); erase_selection(ed); }

Author: Chris Johns

2022-11-10T00:45:58.000Z

Original author: chenjin_zhong

  • Milestone changed from %”5.1” to %”6.1”

  • Summary changed from medit problem in RTEMS4.11/5.1 to medit problem in RTEMS6 (was 4.11/5.1)

  • Version set to ~”6”

This should check in 6.

Author: Chris Johns

2022-11-29T23:49:49.000Z

Original author: chenjin_zhong

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2023-02-15T21:00:22.000Z

Original author: chenjin_zhong

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”809e34e52777d3ba17e66cea7796fff71c3372cb/rtems” 809e34e5/rtems]:

libmisc/shell/main_edit.c: User cannot cut using ctrl e and x

Closes #4557

4331 - main_pci.c: Dereference after null check error spotted by Coverity

Id

4331

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-10T19:06:50.000Z

Updated

2023-02-10T15:01:17.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4331

Merges

0

Original author: rlong

CID 1399716: Dereference after null check in shell_pci_infodev().

10. var_compare_op: Comparing bus to null implies that bus might be null.
358  if (!bus) {
CID 1399716 (#1 of 1): Dereference after null check (FORWARD_NULL)11. var_deref_op: Dereferencing null pointer bus.
359    printf(" AT BUS:        0x%x via Host Bridge\\n", bus->num);
360  } else {

Author: Trac Migrate

2021-03-10T19:27:59.000Z

Original author: rlong

  • Owner set to daniel

  • Status changed from new to assigned

Author: Joel Sherrill

2023-02-10T15:01:17.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Commit had typo and closed the wrong ticket.

In [changeset:”26e1610833a9f7c77409bbed99bf5015387438c6/rtems” 26e1610/rtems]:

shell/main_pci.c: Address Dereference after null error check

Coverity CID 1399716

Closes #4331.

2828 - Remove libmisc/serdbg

Id

2828

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2016-11-30T21:45:43.000Z

Updated

2023-02-10T13:38:24.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, rtems::score, tickettype::defect, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2828

Merges

0

This is old code which should be replaced by the new debug server. Any hints or reusable in this for termios/serial port support can be retrieved from an old branch.

Author: Trac Migrate

2017-02-15T14:20:42.000Z

  • Milestone changed from %”4.12” to %”Indefinite”

  • Owner set to Needs Funding

  • Status changed from new to assigned

Author: Joel Sherrill

2023-01-10T15:04:57.000Z

  • Cc added @thomas.doerfler, @sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

  • Version changed from ~”5” to ~”6”

This ticket is simple to implement but another person needs to confirm that it is time to remove the libmisc/serdbg code (https://git.rtems.org/rtems/tree/cpukit/libmisc/serdbg)

Author: Trac Migrate

2023-02-10T13:38:24.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”77e7bd97dce29bc36d9e0ad0bcb855a175e4cedd/rtems” 77e7bd9/rtems]:

libmisc/serdbg: Remove obsolete serial debug

Closes #2828.

4615 - Deprecate v850 port in rtems6 and remove in rtems7

Id

4615

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Gedare Bloom

Created

2022-02-16T20:19:06.000Z

Updated

2023-02-09T15:59:20.000Z

Milestone

6.1

Labels

arch:v850, priority::normal, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4615

Merges

0

This port is no longer maintained. No one has been testing it and it does not appear to have any users.

Deprecate for RTEMS 6.x Remove in RTEMS 7.x

Author: Chris Johns

2022-11-29T22:42:43.000Z

Please update ​https://git.rtems.org/rtems-release/tree/rtems-notes-6.md then close this ticket. please make a new ticket for the actual removal.

Author: Joel Sherrill

2023-02-09T15:59:20.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

https://git.rtems.org/rtems-release/commit/?id=d35d32f82182fd71bade181a09fbc9576d60116e

4613 - Deprecate sparc64 port in rtems6 and remove in rtems7

Id

4613

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Gedare Bloom

Created

2022-02-16T20:17:36.000Z

Updated

2023-02-09T15:58:51.000Z

Milestone

6.1

Labels

arch:sparc64, priority::normal, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4613

Merges

0

This port is no longer maintained. No one has been testing it and it does not appear to have any users.

Deprecate for RTEMS 6.x Remove in RTEMS 7.x

Author: Chris Johns

2022-11-29T22:41:24.000Z

Please update https://git.rtems.org/rtems-release/tree/rtems-notes-6.md then close this ticket. please make a new ticket for the actual removal.

Author: Joel Sherrill

2023-02-09T15:58:51.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

https://git.rtems.org/rtems-release/commit/?id=11aa44e068fe133ce088070cb1f5882b775a3e56

4614 - Deprecate sh port in rtems6 and remove in rtems7

Id

4614

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Gedare Bloom

Created

2022-02-16T20:18:11.000Z

Updated

2023-02-09T15:58:28.000Z

Milestone

6.1

Labels

arch:sh, priority::normal, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4614

Merges

0

This port is no longer maintained. No one has been testing it and it does not appear to have any users.

Deprecate for RTEMS 6.x Remove in RTEMS 7.x

Author: Chris Johns

2022-11-29T22:42:33.000Z

Please update ​https://git.rtems.org/rtems-release/tree/rtems-notes-6.md then close this ticket. please make a new ticket for the actual removal.

Author: Joel Sherrill

2023-02-09T15:58:28.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

https://git.rtems.org/rtems-release/commit/?id=dffcad2c38d8328a66efda6a421aa7e39226afa3

4838 - Fix for UART interrupt on aarch64 Versal

Id

4838

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2023-02-05T22:27:50.000Z

Updated

2023-02-09T13:13:15.000Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, resolution::duplicate, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4838

Merges

0

Original author: Eagleirony

Fixed UART interrupts for Versal. Tested on VCK190.

Author: Trac Migrate

2023-02-05T22:28:08.000Z

Original author: Eagleirony

Author: Joel Sherrill

2023-02-06T00:30:59.000Z

Original author: Eagleirony

  • Milestone set to %”6.1”

  • Owner set to @chrisj

  • Status changed from new to assigned

Assigning to Chris since this is his BSP

Author: Kinsey Moore

2023-02-08T20:35:42.000Z

Original author: Eagleirony

Is this a duplicate of #4771?

Author: Chris Johns

2023-02-09T02:24:00.000Z

Original author: Eagleirony

Replying to Kinsey Moore:

Is this a duplicate of #4771?

Yes I think it is. Aaron will know so lets see what he says?

Author: Trac Migrate

2023-02-09T10:16:02.000Z

Original author: Eagleirony

Yeah it is a duplicate.

Author: Kinsey Moore

2023-02-09T13:13:15.000Z

Original author: Eagleirony

  • Resolution set to ~”duplicate”

  • Status changed from assigned to closed

4835 - medit malloc problem of RTEMS (cloned)

Id

4835

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2023-01-30T03:46:07.000Z

Updated

2023-01-31T05:17:34.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4835

Merges

0

Original author: chenjin_zhong

Cloned from #4565:


I find malloc function is called by move_gap function in medit.c. The returned value does not check. At least 32KB of memory is allocated at each time, maybe more than. The returned value “start” should be check to avoid malloc failure. The move_gap function should return immediatelty when malloc failure. the code frament is listed as follows.

static void move_gap(struct editor *ed, int pos, int minsize) { int gapsize = ed->rest - ed->gap; unsigned char *p = text_ptr(ed, pos); if (minsize < 0) minsize = 0; if (minsize <= gapsize) { if (p != ed->rest) { if (p < ed->gap) { memmove(p + gapsize, p, ed->gap - p); } else { memmove(ed->gap, ed->rest, p - ed->rest); } ed->gap = ed->start + pos; ed->rest = ed->gap + gapsize; } } else { int newsize; unsigned char *start; unsigned char *gap; unsigned char *rest; unsigned char *end;

if (gapsize + MINEXTEND > minsize) minsize = gapsize + MINEXTEND; newsize = (ed->end - ed->start) - gapsize + minsize; ** start = (unsigned char ) malloc(newsize);* // TODO check for out of memory gap = start + pos; rest = gap + minsize; end = start + newsize;

if (p < ed->gap) { memcpy(start, ed->start, pos); memcpy(rest, p, ed->gap - p); memcpy(end - (ed->end - ed->rest), ed->rest, ed->end - ed->rest); } else { memcpy(start, ed->start, ed->gap - ed->start); memcpy(start + (ed->gap - ed->start), ed->rest, p - ed->rest); memcpy(rest, p, ed->end - p); }

free(ed->start); ed->start = start; ed->gap = gap; ed->rest = rest; ed->end = end; }

ifdef DEBUG

memset(ed->gap, 0, ed->rest - ed->gap);

endif

}

Author: Trac Migrate

2023-01-31T05:17:34.000Z

Original author: chenjin_zhong

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”edea93c40bd621d215d1ece07b9e43f255e8b420/rtems” edea93c/rtems]:

libmisc/shell/edit: Return if no memory in move_gap

Closes #4835

4834 - close_editor problem of RTEMS4.13/5.1 (cloned)

Id

4834

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2023-01-30T03:43:51.000Z

Updated

2023-01-31T05:17:32.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4834

Merges

0

Original author: chenjin_zhong

Cloned from #4564:


Hi, I find when close editor in shell console.some errors will occur. I check and analyse the source code of medit.c. the code fragment is listed as follows.

if defined(__rtems__)

case ctrl(‘w’): ed = ed->env->current; close_editor(ed); break;

else

case ctrl(‘w’): close_editor(ed); ed = ed->env->current; break;

endif

static void close_editor(struct editor *ed) { struct env *env = ed->env; if (ed->dirty) { display_message(ed, “Close %s without saving changes (y/n)? “, ed->filename); if (!ask()) { ed->refresh = 1; return; } }

delete_editor(ed);

ed = env->current; if (!ed) { ed = create_editor(env); new_file(ed, “”); } ed->refresh = 1; }

static void delete_editor(struct editor ed) { if (ed->next == ed) { ed->env->current = NULL; } else { ed->env->current = ed->prev; } ed->next->prev = ed->prev; ed->prev->next = ed->next; if (ed->start) free(ed->start); clear_undo(ed); * free(ed);** }

as seen above, if the macro __rtems__ is defined. the delete_editor function will free ed pointer. Therefore, after the next loop, the ed is an invalid pointer.I have checked the code of https://github.com/ringgaard/sanos/blob/master/src/utils/edit/edit.c. the code is as follows. case ctrl(‘w’): close_editor(ed); ed = ed->env->current; break;

Author: Trac Migrate

2023-01-31T05:17:32.000Z

Original author: chenjin_zhong

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3ad2789fc68308a48119d736c89c93f493d18013/rtems” 3ad2789/rtems]:

libmisc/shell/edit: Fix closing the editor

Closes #4834

4821 - Ubuntu Host Instructions Wrong

Id

4821

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2023-01-23T23:41:33.000Z

Updated

2023-01-25T14:15:35.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4821

Merges

0

The current instructions were reported to be as being broken in email. Filing a ticket to track.

So here is the quick start command line which is missing the work ‘install’ and some of the packages listed don’t exist: https://docs.rtems.org/branches/master/user/hosts/posix.html#xubuntu

Here is the correct command line:

$ sudo apt install build-essential g++ gdb unzip pax bison flex texinfo python3-dev python-is-python3 libpython2-dev libncurses5-dev zlib1g-dev ninja-build pkg-config

Author: Trac Migrate

2023-01-25T14:15:35.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”68a44b2524e6ccee3a581e41d44c9b27ed1e0439/rtems-docs” 68a44b2/rtems-docs]:

user/hosts/posix.rst: Update Ubuntu instructions to 22.x

Closes #4821.

4634 - Fix hash for glib-2.48

Id

4634

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-03-24T15:15:31.000Z

Updated

2023-01-23T20:49:08.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4634

Merges

0

Original author: rlong

The hash needs updated in order for glib to be built. This is currently preventing

Author: Trac Migrate

2022-03-24T15:16:13.000Z

Original author: rlong

Author: Trac Migrate

2022-03-24T20:49:58.000Z

Original author: rlong

This is currently preventing QEMU from being built. The hash of the patch changed for some unknown reason. Therefore, we are going to store a copy of that patch here so that it doesn’t change. This patch will then be pulled down and applied in place of where it was originally done. The hash of the patch will still have to be updated, but hopefully this will prevent it from happening again.

Author: Trac Migrate

2022-03-24T20:51:50.000Z

Original author: rlong

Author: Trac Migrate

2022-03-25T19:01:59.000Z

Original author: rlong

In [changeset:”49e3dac17765fa82ce2f754da839638ee352f95c/rtems-source-builder” 49e3dac/rtems-source-builder]:

devel/glib-2.48: Update hash and patch

Changes patch to be pulled from an RTEMS ticket and updated the hash of the
patch.

Updates #4634

Author: Chris Johns

2022-11-29T23:53:25.000Z

Original author: rlong

Status update?

Author: Joel Sherrill

2022-12-28T17:45:56.000Z

Original author: rlong

Looks like it got committed with “updates” not “closes”

Author: Gedare Bloom

2023-01-23T20:49:08.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4782 - Correct Issues in Rate Monotonic Manager Background Section

Id

4782

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2023-01-10T15:10:34.000Z

Updated

2023-01-17T19:35:43.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4782

Merges

0

Fix these issues:

  • 11.2.5.1 last bullet is inverted logically. Non-periodic tasks must NOT displace periodic ones and should run in background at a logically lower priority.

  • 11.2.5.4 - emphasis box needed on the second paragraph (after lead-in that ends with a colon)

Author: Joel Sherrill

2023-01-17T19:35:28.000Z

In f48f79d/rtems-docs:

c-user/rate-monotonic/background.rst: Correct logically inverted statement Also corrected a spot of formatting.

Closes #4782.

Author: Joel Sherrill

2023-01-17T19:35:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4769 - config: Add CONFIGURE_RECORD_INTERRUPTS_ENABLED

Id

4769

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-12-01T11:36:04.000Z

Updated

2023-01-03T14:51:55.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::config, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4769

Merges

0

Original author: sebastian.huber

/**
* @brief This configuration option is a boolean feature define.
*
* In case
*
* * this configuration option is defined
*
* * and #CONFIGURE_RECORD_PER_PROCESSOR_ITEMS is properly defined,
*
* then the interrupt event recording is enabled.
*
* @par Default Configuration
* If this configuration option is undefined, then the described feature is not
* enabled.
*
* @par Notes
* The interrupt event recording generates interrupt entry and exit events when
* interrupt entries are dispatched.
*/
#define CONFIGURE_RECORD_INTERRUPTS_ENABLED

Author: Trac Migrate

2022-12-02T09:13:28.000Z

Original author: sebastian.huber

In [changeset:”71d1acd41d2de193730a44284b16ddd7eddea738/rtems” 71d1acd/rtems]:

bsps/irq: Rename handler in dispatch table

The name handler table was a bit misleading after the last rework.
Rename it to distach table.  Update the documentation accordingly.

Update #4769.

Author: Trac Migrate

2022-12-02T09:13:31.000Z

Original author: sebastian.huber

In [changeset:”0d5e41afde424bec6ce59c1e8ce1181980b9844f/rtems” 0d5e41a/rtems]:

bsps/irq: Add bsp_interrupt_get_dispatch_table_slot()

Update #4769.

Author: Trac Migrate

2022-12-02T09:13:33.000Z

Original author: sebastian.huber

In [changeset:”c46fbb955258df3ff3c325dadd1a6c17ee81a914/rtems” c46fbb9/rtems]:

config: Add CONFIGURE_RECORD_INTERRUPTS_ENABLED

This enables the tracing of interrupt entry/exit events through an
application configuration option.  The interrupt processing can be
viewed with Trace Compass using rtems-record-lttng from the RTEMS Tools.

Update #4769.

Author: Trac Migrate

2022-12-02T09:14:41.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”47e1f6e06b188bbf8f4da587f2fca15dbe304af4/rtems-docs” 47e1f6e/rtems-docs]:

Document CONFIGURE_RECORD_INTERRUPTS_ENABLED

Close #4769.

Author: Trac Migrate

2022-12-02T09:26:31.000Z

Original author: sebastian.huber

In [changeset:”492c2d44cbe148a447304519efc5a3ccb54235a8/rtems-central” 492c2d4/rtems-central]:

spec: Specify CONFIGURE_RECORD_INTERRUPTS_ENABLED

Update #4769.

Author: Trac Migrate

2023-01-03T14:51:55.000Z

Original author: sebastian.huber

In [changeset:”074e2875870451499839078e279f59ba540298ee/rtems-central” 074e287/rtems-central]:

spec: Rename interrupt handler in dispatch table

Update #4769.

4759 - TLS support is broken for ARMv6

Id

4759

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-11-14T00:31:55.000Z

Updated

2023-01-03T07:53:06.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, rtems::shell, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4759

Merges

0

Original author: jkillelea

I have found two possible memory exceptions under rtems_shell_init when running on the raspberry pi 1 BSP.

First, a possible null pointer dereference from getpwuid_r(0, &pwd, NULL, 0, &pwd_res); in rtems_shell_init_once. The NULL pointer is never checked before it is used as a backing buffer for pwd.

Second, usage of stdin, stdout, and stderr cause memory exceptions in rtems_shell_run when used, for example shell_env->parent_stdin  = stdin;.

Author: Trac Migrate

2022-11-14T00:32:43.000Z

Original author: jkillelea

Author: Trac Migrate

2022-12-11T15:06:45.000Z

Original author: jkillelea

It appears that raspberry pi does not support _Thread_Local attributes. Rebuilding GCC with the flag --without_newlib_tls seems to fix most errors. The null pointer error in getpwuid_r is actually ok, it’s the call to set errno later in the function that causes failures.

Author: Trac Migrate

2022-12-15T07:18:06.000Z

Original author: jkillelea

What happens if you run the sptls01, sptls02, and sptls03 tests on this BSP?

After a tool update, did you recompile everything?

Author: Trac Migrate

2022-12-18T18:03:05.000Z

Original author: jkillelea

I recompiled everything with the same --without_newlib_tls flag, yes. That seemed to fix most issues. Certain miscellaneous packages fail to compile, but the kernel, BSP, and libbsd all work. I can reach an interactive terminal inside qemu now, and can reach the terminal prompt over serial on real hardware (unclear why I can’t type yet, but that feels unrelated).

Author: Trac Migrate

2022-12-19T06:43:45.000Z

Original author: jkillelea

Disabling the Newlib TLS configuration is really not a long term option. We should figure out why the TLS support is broken on this BSP. What happens if you run the sptls01, sptls02, and sptls03 tests on this BSP?

Author: Trac Migrate

2022-12-26T23:22:52.000Z

Original author: jkillelea

Hi there, sorry for the delay. Here’s the result of running each test on real hardware. ` * BEGIN OF TEST SPTLS 1 * * TEST VERSION: 6.0.0.240987228f7f7bab90c20efb8d219e26cf5f51c5 * TEST STATE: EXPECTED_PASS * TEST BUILD: RTEMS_POSIX_API * TEST TOOLS: 12.2.1 20221121 (RTEMS 6, RSB 65f83cf973d6f1f8974ea1818e653753b83eaea8, Newlib b9898fc)

* FATAL * fatal source: 9 (RTEMS_FATAL_SOURCE_EXCEPTION)

R0 = 0x0000007b R8 = 0x770e8bde R1 = 0x0000000a R9 = 0x5f4cdb15 R2 = 0x00000001 R10 = 0xe38f3ff7 R3 = 0x0024c068 R11 = 0xb1bc579f R4 = 0x00000000 R12 = 0x01010101 R5 = 0x0000007b SP = 0x00303998 R6 = 0x00000008 LR = 0x00200600 R7 = 0x002001e8 PC = 0x0020059c CPSR = 0x600001d3 VEC = 0x00000004 RTEMS version: 6.0.0.240987228f7f7bab90c20efb8d219e26cf5f51c5 RTEMS tools: 12.2.1 20221121 (RTEMS 6, RSB 65f83cf973d6f1f8974ea1818e653753b83eaea8, Newlib b9898fc) executing thread ID: 0x09010001 executing th�`

` * BEGIN OF TEST SPTLS 2 * * TEST VERSION: 6.0.0.240987228f7f7bab90c20efb8d219e26cf5f51c5 * TEST STATE: EXPECTED_PASS * TEST BUILD: RTEMS_POSIX_API * TEST TOOLS: 12.2.1 20221121 (RTEMS 6, RSB 65f83cf973d6f1f8974ea1818e653753b83eaea8, Newlib b9898fc) A::globalCounter() = 0

* FATAL * fatal source: 9 (RTEMS_FATAL_SOURCE_EXCEPTION)

R0 = 0x00000017 R8 = 0x00000000 R1 = 0x0000000a R9 = 0x00000000 R2 = 0x00003008 R10 = 0x00000000 R3 = 0x00000000 R11 = 0x00000000 R4 = 0x00226158 R12 = 0x00000000 R5 = 0x00302888 SP = 0x0030b290 R6 = 0x00000000 LR = 0x002006ac R7 = 0x00000000 PC = 0x00200ff0 CPSR = 0x20000153 VEC = 0x00000004 RTEMS version: 6.0.0.240987228f7f7bab90c20efb8d219e26cf5f51c5 RTEMS tools: 12.2.1 20221121 (RTEMS 6, RSB 65f83cf973d6f1f8974ea1818e653753b83eaea8, Newlib b9898fc) executing thread ID: 0x0a010001 executing th�`

` * BEGIN OF TEST SPTLS 3 * * TEST VERSION: 6.0.0.240987228f7f7bab90c20efb8d219e26cf5f51c5 * TEST STATE: EXPECTED_PASS * TEST BUILD: RTEMS_POSIX_API * TEST TOOLS: 12.2.1 20221121 (RTEMS 6, RSB 65f83cf973d6f1f8974ea1818e653753b83eaea8, Newlib b9898fc)

* END OF TEST SPTLS 3 *

[ RTEMS shutdown ] `

GCC was compiled via rsb using the flag --without_newlib_tls, but the kernel was built from source. Couldn’t find where to use the same flag for that.

Author: Trac Migrate

2023-01-03T07:49:36.000Z

Original author: jkillelea

In [changeset:”f8cb1f483db81f7c99020032fe578e94d62d8bc5/rtems” f8cb1f48/rtems]:

arm: Enable thread ID register for ARMv6

Close #4759.

Author: Trac Migrate

2023-01-03T07:53:06.000Z

Original author: jkillelea

  • Summary changed from RPi: crashes when shell starts to TLS support is broken for ARMv6

4751 - chmod problem in shell of RTEMS 6

Id

4751

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2022-11-10T00:49:30.000Z

Updated

2022-12-26T19:37:09.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4751

Merges

0

Original author: chenjin_zhong

Cloned from #4558:


Hi, I find one problem in rtems_shell_main_chmod function. the usage of this instruction is descripted as “chmod 0777 n1 n2… #change filemode”, .the src code is listed as follows. the bold part should be replaced with chmod(argv[n], mode)?

static int rtems_shell_main_chmod(
int argc,
char *argv[]
)
{
int           n;
mode_t        mode;
unsigned long tmp;

if (argc < 2) {
fprintf(stderr,"%s: too few arguments\\n", argv[0]);
return -1;
}

/*
*  Convert arguments into numbers
*/
if ( rtems_string_to_unsigned_long(argv[1], &tmp, NULL, 0) ) {
printf( "Mode argument (%s) is not a number\\n", argv[1] );
return -1;
}
mode = (mode_t) (tmp & 0777);

/*
*  Now change the files modes
*/
for (n=2 ; n < argc ; n++)
chmod(argv[n++], mode); /* <<<< here */

return 0;
}

Author: Chris Johns

2022-11-30T00:05:18.000Z

Original author: chenjin_zhong

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2022-12-26T19:37:09.000Z

Original author: chenjin_zhong

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”c8c713c6bdd73aa1d491f0f42bb5236e927e5f03/rtems” c8c713c/rtems]:

rtems_shell_main_chmod: Correct argument indexing

Closes #4751

4556 - rtems_shell_main_mmove problem

Id

4556

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2021-12-02T14:03:20.000Z

Updated

2022-12-23T18:56:38.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4556

Merges

0

Original author: chenjin_zhong

Hi, I think mmove command in shell means that the memory can be overlapped when copy happens. but I find that when implementing this function, the memcpy is used in RTEMS4.13/RTEMS5.1.Should the memcpy be replaced with memmove ? The src code is listed as follows. static int rtems_shell_main_mmove( int argc, char *argv[] ) { unsigned long tmp; void *src; void *dst; size_t length;

if ( argc < 4 ) { fprintf(stderr,”%s: too few argumentsn”, argv[0]); return -1; }

/* * Convert arguments into numbers */ if ( rtems_string_to_pointer(argv[1], &dst, NULL) ) { printf( “Destination argument (%s) is not a numbern”, argv[1] ); return -1; }

if ( rtems_string_to_pointer(argv[2], &src, NULL) ) { printf( “Source argument (%s) is not a numbern”, argv[2] ); return -1; }

if ( rtems_string_to_unsigned_long(argv[3], &tmp, NULL, 0) ) { printf( “Length argument (%s) is not a numbern”, argv[3] ); return -1; } length = (size_t) tmp;

/* * Now copy the memory. / **memcpy(dst, src, length)*;

return 0; }

Author: Chris Johns

2022-11-10T00:44:36.000Z

Original author: chenjin_zhong

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Chris Johns

2022-11-29T23:49:11.000Z

Original author: chenjin_zhong

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2022-12-23T18:56:38.000Z

Original author: chenjin_zhong

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”4523c71340569c87dad6936bb3dad241ac8aa724/rtems” 4523c713/rtems]:

rtems_shell_main_mmove problem

--0000000000006acec205efd38cd6
Content-Type: text/plain; charset="UTF-8"

Closes #4556

4724 - Git commit message format instructions

Id

4724

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Joel Sherrill

Created

2022-09-26T01:48:26.000Z

Updated

2022-12-14T23:26:53.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4724

Merges

0

The Eng docs Creating A Patch references the Wiki. The content should be in the manual.

Note lots of git related bits are in the Eng manual and still on the Wiki so which is correct?

Author: Chris Johns

2022-11-29T22:58:51.000Z

Add the how to make a commit to the Making Changes section of the Eng manual.

Author: Joel Sherrill

2022-12-13T22:43:41.000Z

  • Summary changed from Git commit message format instrunctions to Git commit message format instructions

Author: Joel Sherrill

2022-12-14T23:26:53.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a3d7dd1b88b529c24013758748a78ddd71aa3b37/rtems-docs” a3d7dd1/rtems-docs]:

eng/vc-users.rst: Add commit message guidance

Closes #4274.

4453 - Global vs Local Attribute Unclear for SMP/Distributed MP

Id

4453

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2021-06-09T18:31:46.000Z

Updated

2022-12-07T18:22:01.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4453

Merges

0

The description for global vs local attributes on objects do not make it clear whether they apply to SMP or distributed multiprocessing configuration. This applies to at least the rtems_task_create description but likely needs to be addressed in the description in every create with global/local and in the SMP section.

Author: Trac Migrate

2021-06-10T13:28:04.000Z

In the rtems_task_create() description we have:

The task has a local or global scope in a multiprocessing network (this attribute does not refer to SMP systems). The scope is selected by the mutually exclusive RTEMS_LOCAL and RTEMS_GLOBAL attributes.

Maybe we should add local scope and global scope glossary terms. Maybe we should replace scope with something more specific.

Author: Chris Johns

2022-11-29T23:43:13.000Z

  • Owner set to @joel

  • Status changed from new to assigned

Author: Trac Migrate

2022-12-07T18:22:01.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”32de9ff259f1bf913a816956b1a2c615ea4d5729/rtems-docs” 32de9ff/rtems-docs]:

c-user: Add Local vs Global to Key Concepts Chapter

Add multiple new index entries and cite them where RTEMS_LOCAL
and RTEMS_GLOBAL are cited.

Closes #4453.

4756 - Docs build system does not build singlehtml (cloned)

Id

4756

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-11-10T22:05:05.000Z

Updated

2022-12-06T21:20:46.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4756

Merges

0

Cloned from #4755:


The configure logic does not handle the inliner detection correctly.

Author: Chris Johns

2022-11-30T00:05:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Author: Trac Migrate

2022-12-06T21:20:46.000Z

In [changeset:”8f5f371b3deedd73a9bac58a0aadb889b8e063df/rtems-docs” 8f5f371/rtems-docs]:

waf: Handle the enable options for singlehtml and ditaa/puml

Close #4756

4382 - mingw - add flex to packages needed

Id

4382

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2021-04-07T23:12:00.000Z

Updated

2022-11-30T23:26:28.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4382

Merges

0

New install of msys2 and pacman instructions in manual missed flex.

Author: Chris Johns

2022-11-29T22:37:38.000Z

  • Owner set to @joel

Author: Trac Migrate

2022-11-30T23:26:28.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”5a548472eac0ad74b192a9103100b3d87138ca8d/rtems-docs” 5a54847/rtems-docs]:

user/hosts/windows.rst: flex needs to be installed for msys2

Closes #4382.

4766 - Classic API User Guide Index has Functions without Parentheses

Id

4766

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2022-11-30T15:45:45.000Z

Updated

2022-11-30T23:26:07.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4766

Merges

0

Some index entries in the Classic API Users Guide has some method names without parentheses like rtems_clock_get instead of rtems_clock_get() which is used most of the time. Fix to improve consistency.

Author: Trac Migrate

2022-11-30T23:26:07.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”aaba6e582647493ea8416063bf350de8393315c4/rtems-docs” aaba6e5/rtems-docs]:

c-user/*: Add trailing parentheses on methods in index which were missing it

Closes #4766.

4714 - Use waf for LwIP walk sources

Id

4714

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-09-04T23:00:35.000Z

Updated

2022-11-30T00:06:58.000Z

Milestone

6.1

Labels

network::lwip, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4714

Merges

0

The lwip.py support has a call to walk the source tree for source files. Waf supports glob’ing of sources so why not use that?

This ticket is to remove the walk.

Author: Chris Johns

2022-09-04T23:01:12.000Z

  • Description changed

- The `lwip.py` support has a call to walk the source for source files. Waf support glob'ing of sources so why no use that?
+ The `lwip.py` support has a call to walk the source tree for source files. Waf supports glob'ing of sources so why not use that?
?                                                     +++++                             +                              +


This ticket is to remove the walk.

Author: Kinsey Moore

2022-11-30T00:06:58.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

This was resolved with commit e02d02e2ce29379c2d4bfb15fbd5b101e9bd58e8 to rtems-lwip.

4658 - Fix build issue with riscv sample test

Id

4658

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-05-16T17:40:10.000Z

Updated

2022-11-29T23:55:04.000Z

Milestone

6.1

Labels

arch:riscv, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4658

Merges

0

Original author: rlong

When trying to build the minimum sample test for any RISC-V BSP, the following error occurs.

start.o: in function .L0:

/home/tester/rtems-cron-6/rtems/build/riscv/rv32i/../../../bsps/riscv/shared/start/start.S:84:(.bsp_start_text+0x2c): relocation truncated to fit: R_RISCV_GPREL_I against symbol 'bsp_section_bss_size' defined in *ABS* section in /home/tester/rtems-cron-6/rtems/build/riscv/rv32i/testsuites/samples/minimum.exe

collect2: error: ld returned 1 exit status

Author: Trac Migrate

2022-05-18T06:26:58.000Z

Original author: rlong

I cannot reproduce this issue on my development machines. It could be an issue in the linker. I would run the linker in GDB and try to debug it to figure out what is going on.

Author: Trac Migrate

2022-10-28T11:53:25.000Z

Original author: rlong

In [changeset:”89ba2a9838558841c4f38283e84b99173790d61c/rtems” 89ba2a98/rtems]:

bsps/riscv: Workaround for sporadic linker issues

Disable the linker relaxation in start.S to work around an issue described
here:

https://mail.gnu.org/archive/html/bug-binutils/2021-03/msg00164.html

The real issue is probably in the linker command file or the linker itself.

Update #4658.

Author: Trac Migrate

2022-11-04T12:50:15.000Z

Original author: rlong

In [changeset:”b4ffaa7cdcce4fedb857f6b8342301f8dde65c78/rtems” b4ffaa7c/rtems]:

bsps/riscv: Use start data for object

Maybe this helps to ensure that the object is properly aligned.

Update #4658.

Author: Chris Johns

2022-11-29T23:55:04.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4619 - riscv/rv32iac: minimum sample test fails to build

Id

4619

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-02-23T16:53:41.000Z

Updated

2022-11-29T23:52:49.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::worksforme, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4619

Merges

0

Original author: rlong

This issue was found while investigating #4618. The specifics of the error are listed there.

Author: Chris Johns

2022-11-29T23:52:49.000Z

Original author: rlong

  • Resolution set to ~”worksforme”

  • Status changed from new to closed

BSP builder is showing this as working.

4489 - waf configure’s –rtems-config and build create an error

Id

4489

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2021-08-05T07:30:27.000Z

Updated

2022-11-29T23:47:23.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4489

Merges

0

Waf allows distclean, configure, build and install on a single command line however adding --rtems-config to the configure stage generates this error:

The --rtems-config command line option is not allowed in the build command

This is error is incorrect.

Author: Chris Johns

2022-11-29T23:47:23.000Z

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

I am closing this as it will not be fixed for now. It is not right in the normal context of waf command lines but it is a corner case to fix.

Please reopen if this is important.

4517 - Build failures for MacOS

Id

4517

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2021-09-20T00:15:33.000Z

Updated

2022-11-29T23:41:56.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4517

Merges

0

This ticket is a collection of the following archs that fail to build:

  • bfin

  • lm32

  • mips

  • or1k

  • powerpc

  • v850

bfin

../../../sourceware-mirror-binutils-gdb-7ab567f/sim/bfin/dv-bfin_dma.c:124:35: error: implicitly declaring library function 'abs' with type 'int (int)' [-Werror,-Wimplicit-function-declaration]
if (dma->ele_size != (unsigned) abs (dma->x_modify))

lm32

../../../sourceware-mirror-binutils-gdb-7ab567f/sim/lm32/dv-lm32cpu.c:151:8: error: implicit declaration of function 'lm32bf_h_csr_get' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
im = lm32bf_h_csr_get (cpu, LM32_CSR_IM);

mip

../../../sourceware-mirror-binutils-gdb-7ab567f/sim/mips/cp1.c:495:7: error: implicitly declaring library function 'abort' with type 'void (void) __attribute

or1k

../../../sourceware-mirror-binutils-gdb-7ab567f/sim/or1k/../common/cgen-trace.c:213:6: error: implicitly declaring library function 'abort' with type 'void (void) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
abort ();

powerpc

semantics.c:42:7: error: implicit declaration of function 'tree_find_property' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (tree_find_property(root, "/options/mpc860c0"))

v850

../../../sourceware-mirror-binutils-gdb-7ab567f/sim/v850/simops.c:1651:6: error: implicit declaration of function 'free' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
free (path);

Author: Chris Johns

2021-09-20T07:54:33.000Z

  • Description changed

This ticket is a collection of the following archs that fail to build:

- `bfin`
- `lm32`
- `mips`

== `bfin`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/bfin/dv-bfin_dma.c:124:35: error: implicitly declaring library function 'abs' with type 'int (int)' [-Werror,-Wimplicit-function-declaration]
if (dma->ele_size != (unsigned) abs (dma->x_modify))
}}}

== `lm32`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/lm32/dv-lm32cpu.c:151:8: error: implicit declaration of function 'lm32bf_h_csr_get' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
im = lm32bf_h_csr_get (cpu, LM32_CSR_IM);
}}}

== `mip`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/mips/cp1.c:495:7: error: implicitly declaring library function 'abort' with type 'void (void) __attribute
}}}
+
+ == `or1k`
+ {{{
+ ../../../sourceware-mirror-binutils-gdb-7ab567f/sim/or1k/../common/cgen-trace.c:213:6: error: implicitly declaring library function 'abort' with type 'void (void) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
+             abort ();
+ }}}
+
+ == `powerpc`
+ {{{
+ semantics.c:42:7: error: implicit declaration of function 'tree_find_property' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
+   if (tree_find_property(root, "/options/mpc860c0"))
+ }}}
+
+ == `v850`
+ {{{
+ ../../../sourceware-mirror-binutils-gdb-7ab567f/sim/v850/simops.c:1651:6: error: implicit declaration of function 'free' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
+             free (path);
+ }}}

Author: Chris Johns

2021-09-20T07:55:01.000Z

  • Description changed

This ticket is a collection of the following archs that fail to build:

- `bfin`
- `lm32`
- `mips`
+ - `or1k`
+ - `powerpc`
+ - `v850`

== `bfin`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/bfin/dv-bfin_dma.c:124:35: error: implicitly declaring library function 'abs' with type 'int (int)' [-Werror,-Wimplicit-function-declaration]
if (dma->ele_size != (unsigned) abs (dma->x_modify))
}}}

== `lm32`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/lm32/dv-lm32cpu.c:151:8: error: implicit declaration of function 'lm32bf_h_csr_get' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
im = lm32bf_h_csr_get (cpu, LM32_CSR_IM);
}}}

== `mip`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/mips/cp1.c:495:7: error: implicitly declaring library function 'abort' with type 'void (void) __attribute
}}}

== `or1k`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/or1k/../common/cgen-trace.c:213:6: error: implicitly declaring library function 'abort' with type 'void (void) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
abort ();
}}}

== `powerpc`
{{{
semantics.c:42:7: error: implicit declaration of function 'tree_find_property' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
if (tree_find_property(root, "/options/mpc860c0"))
}}}

== `v850`
{{{
../../../sourceware-mirror-binutils-gdb-7ab567f/sim/v850/simops.c:1651:6: error: implicit declaration of function 'free' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
free (path);
}}}

Author: Chris Johns

2022-11-29T23:41:56.000Z

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

There may be issues. Reopen if a specific build is needed.

4201 - waf building out of source tree does not find all configured bsps

Id

4201

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2020-12-09T01:46:10.000Z

Updated

2022-11-29T23:27:25.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4201

Merges

0

config.ini is:

[DEFAULT]
BUILD_TESTS = False
RTEMS_DEBUG = True
RTEMS_POSIX_API = True

[arm/beagleboneblack]

[arm/xilinx_zynq_a9_qemu]

[i386/pc686]

[powerpc/mvme2307]

And configure is:

$ /opt/work/chris/rtems/kernel/rtems.git/waf \\
--top=/opt/work/chris/rtems/kernel/rtems.git \\
--out=build configure \\
--rtems-config=config.ini \\
--prefix=/opt/work/chris/rtems/nfs/6
Setting top to                           : /opt/work/chris/rtems/kernel/rtems.git
Setting out to                           : /opt/work/chris/rtems/nfs/bsps/build
Configure board support package (BSP)    : powerpc/mvme2307
Checking for program 'powerpc-rtems6-gcc' : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-gcc
Checking for program 'powerpc-rtems6-g++' : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-g++
Checking for program 'powerpc-rtems6-ar'  : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-ar
Checking for program 'powerpc-rtems6-ld'  : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-ld
Checking for program 'ar'                 : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-ar
Checking for program 'g++, c++'           : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-g++
Checking for program 'ar'                 : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-ar
Checking for program 'gas, gcc'           : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-gcc
Checking for program 'ar'                 : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-ar
Checking for program 'gcc, cc'            : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-gcc
Checking for program 'ar'                 : /opt/work/chris/rtems/nfs/6/bin/powerpc-rtems6-ar
Checking for asm flags '-MMD'             : yes
Checking for c flags '-MMD'               : yes
Checking for cxx flags '-MMD'             : yes
Checking for program 'rtems-bin2c'        : /opt/work/chris/rtems/nfs/6/bin/rtems-bin2c
Checking for program 'gzip'               : /usr/bin/gzip
Checking for program 'rtems-ld'           : /opt/work/chris/rtems/nfs/6/bin/rtems-ld
Checking for program 'rtems-syms'         : /opt/work/chris/rtems/nfs/6/bin/rtems-syms
Checking for program 'xz'                 : /usr/bin/xz
'configure' finished successfully (0.245s)

The same config.ini in the source tree finds all configured bsps.

Being able to cleanly sandbox builds is a feature of the autotools build system.

Author: Trac Migrate

2020-12-09T05:55:53.000Z

I guess the issue is that it finds a “config.ini” in the source tree since this is the current working directory of the wscript process.

For a discussion of out of tree builds see:

https://lists.rtems.org/pipermail/devel/2020-November/063066.html

Author: Chris Johns

2022-11-29T23:27:25.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4166 - rtems-bsp-builder: Add way to select rtems version (6 vs 7)

Id

4166

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-28T13:04:23.000Z

Updated

2022-11-29T23:25:39.000Z

Milestone

6.1

Labels

priority::normal, resolution::duplicate, tickettype::enhancement, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4166

Merges

0

When testing the RTEMS master, one can use the rtems6 or rtems7 tools. The rtems-bsp-builder is hard-coded to rtems6.

As part of doing this, the version should be in the email subject and report so that similar reports can be distinguished.

Author: Chris Johns

2022-11-29T23:25:39.000Z

  • Resolution set to ~”duplicate”

  • Status changed from new to closed

Duplicate of #3671

4065 - Typo in rtems-boot.ini “ubootdior” should be “ubootdir”

Id

4065

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-08-28T11:06:46.000Z

Updated

2022-11-29T23:21:57.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4065

Merges

0

Original author: junkes@fhi-berlin.mpg.de

Typo in rtems-tools misc/tools/config/rtems-boot.ini

diff rtems-boot.ini ./tools/misc/tools/config/rtems-boot.ini 55c55 < first_stage = %{ubootdir}/spl/boot.bin —

first_stage = %{ubootdior}/spl/boot.bin

Author: Trac Migrate

2022-04-08T07:36:06.000Z

Original author: junkes@fhi-berlin.mpg.de

patch file (diff)

Author: Trac Migrate

2022-04-08T07:38:38.000Z

Original author: junkes@fhi-berlin.mpg.de

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Update, is still in master (6?)

Author: Trac Migrate

2022-11-29T23:21:57.000Z

Original author: junkes@fhi-berlin.mpg.de

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f29483d14dfd80a5a8ab1f436631339ddf2c84cb/rtems-tools” f29483d/rtems-tools]:

rtems-boot.ini: Correct spelling of %{ubootdir}

Closes #4065.

4052 - [libbsd] e1000 driver not working for i386 based BSP in current rtems-libbsd master

Id

4052

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-08-14T19:50:32.000Z

Updated

2022-11-29T23:18:19.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::wontfix, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4052

Merges

0

Original author: soja

Current rtems-libbsd master branch fails to compile the e1000 driver for i386 based BSPs.

The corresponding patches from the 5-freebsd-12 branch need to be ported to master.

Author: Chris Johns

2022-11-29T23:18:19.000Z

Original author: soja

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

Please reopoen with suitable patches for 6-freebsd-12

3977 - Add unexplained-failure as option for Test Configuration Files

Id

3977

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-05-10T16:34:31.000Z

Updated

2022-11-29T23:16:56.000Z

Milestone

6.1

Labels

priority::normal, resolution::invalid, tickettype::enhancement, tool::test

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3977

Merges

0

RTEMS has many BSPs and it is a large amount of work to investigate each test execution that has an unexpected result. The tcfg files were initially created to just avoid trying build tests where the executable did not fit into target memory. That has grown to incorporate knowledge about which tests require human input and are not automated. This ticket is to add a new test state for “unexplained failure”.

If a test has been investigated and has an explanation, it is a known failure. This could be associated with a ticket (e.g. dynamic loading or fenv not supported on an architecture) or just a comment explaining it (e.g. mips jmr3904 simulator trapping invalid memory accesses before the trap handler is tripped).

But many tests are currently just marked as failures because they do fail but no one has investigated and explained it. The addition of “unexplained failure” is to capture those. This will make it possible for someone looking to know they need investigating but are known to fail. Marking these are “known failure” permanently puts them in a category where they will not get looked at again.

This has two side-effects. The first is that we can have test results with no “unexpected failures.” They are either known and explained or known and need investigation. This helps anyone looking at test results since there should be no unexpected failures. The second side-effect is that it hopefully captures the set of repeatedly failing tests and encourages us to investigate and file tickets or explain.

The milestone for this is NOT 5.x because this is moving the goalpost for test results. Release 5.x is the first with the body of test results data we have. The build@ mailing list has them and can be compared by any user interested. We also do not have a way to machine check results yet which would ease checking the test results for deviations.

Note: As an odd case, there are multiple BSPs where the executables can run on hardware or 1+ simulators. Sometimes the results vary across the target environment even for the same executable. This is at least something to consider as we want to have a trustworthy and checkable set of test results available.

Author: Chris Johns

2020-05-13T01:32:55.000Z

For the record the TCFG files were created to manage the states for the tester. The change included excluding a test. The tester command had the state checks and handling added in April 2017. The test states were also added to rtems.git at this time so all states have been present and documented in README.testdata together. I also raised #2962 at the time to indicate we need to manage this before we release.

From my point of view and rtems-test nothing has changed. What was added did not set a policy for managing failures or the relationship to releasing and any failure, known, expected or otherwise is just a failure. The tester either expects to see a failure or it does not for accounting purposes only.

I have gone away and spent time looking at adding this state and the change feels wrong because this state and any like it are basically a logical OR of expected-fail and the tester does not care about a policy that manages this or arrives at the expected fail state. The end goal is to have ./waf test that runs all the tests on a configured test harness and waf returns a non-zero exit code for any regressions from the build’s baseline. I doubt we have single BSP that does this on any test harness.

We should actively discourage specific test analysis from test results as they are simply a tool to account for a build’s baseline. The result’s stats should be bounded and consistent and provide a simple way to have a machine determine the state of a build.

I have posted a detailed alternative. For these to work we will need a workable set of policies for the management of test failures.

I think it is unrealistic to expect RTEMS to have 100% pass on all tests on all BSPs on all test platforms a BSP supports. There will be failures. There has been little or no analysis of existing tests that fail captured and accounted for so I dispute the assertion moving them to expected failures will stop any analysis. I believe the solution to this issue lies else where.

I am fine with tests that have no analysis being left as unexpected failures but we need a way for buildbot or any other CI tool to run the test suite on selected profiles to know if a change has caused a regression. Any test failure in a clean clone from rtems.git breaks the ability to do this. This is the first thing we need to fix.

Transitioning from the current state to one where the tester can detect regressions requires some effort. It is unfair to instantly say _”all commits to rtems.git must have no unexpected results for BSP XXX on YYY”_ if this is the policy. I do think we need to select a few key BSPs and test harnesses that are required to have no unexpected results befor a release can be made.

I would like to close this ticket and open a new one for the tester state changes. I suggest a ticket to document the unexpected results policy be created.

Author: Chris Johns

2020-09-25T01:20:22.000Z

This ticket should be closed. Please close.

Author: Chris Johns

2022-11-29T23:16:56.000Z

  • Resolution set to ~”invalid”

  • Status changed from new to closed

4037 - Python script distribution standardisation

Id

4037

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-01T00:16:32.000Z

Updated

2022-11-29T23:00:51.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4037

Merges

0

The RSB and Tools wrap python scripts in a shell script based wrapper that detects the installed version and uses it. Other python scripts in RTEMS do not. I would like to have a consistent model for all scripts.

[| PEP0394] discusses the issues and says a distro can decide not to provide a python command by default. It also says a virtualenv can be used to provide a consistent default environment.

Do we assume #! /usr/bin/env python will always work in our script and we make sure we are python2 and python3 clean for user installed commands?

If a user does not have a python command installed by default do we document how to install one or do we document using a virtualenv?

A simple shebang is cleaner for us to maintain however it added an extra dependency we need to document.

Note, development script and tools should follow the same model we decide on however they only need to support python3.

Author: Chris Johns

2020-08-01T00:17:16.000Z

  • Summary changed from Python script distrubution standardisation to Python script distribution standardisation

Author: Trac Migrate

2020-08-02T09:00:11.000Z

I’m currently a bit undecided. Both methods have advantages and disadvantages.

Points that could be a reason _not_ to use a wrapper: * One important point: We start to use waf everywhere. waf starts with a #!/usr/bin/env python. So it assumes that python exists. That means as soon as a user wants to build something with waf he needs a python. I don’t think that we want to provide a wrapper for waf? * Although you did a great job making it as simple as possible: A wrapper adds complexity. How many edge cases are missed in the wrappers? For example: If you try to call one of the source builder commands using a soft link in another directory, the $(dirname $0) of the wrapper will fail. * Every supported system has to provide a /bin/sh and a dirname command. Can we be sure that’s the case? What about Windows? If we enforce the wrapper we will always need a mingw or msys for Windows. If we remove it it might be possible to build RTEMS with only a python installation somewhen in the future (although you still need a cross-compiled gcc or llvm). * Do we really want to support multiple python versions on the long term? It might start to get really complicated to test all relevant configurations. By the way: Does buildbot use python2, python3 or both?

Points that could be a good reason for using a wrapper: * Do all our scripts work with python3 already? The wrapper of the source builder currently defaults to python2. So most likely it is nearly untested with python3. * I think I had trouble building rtems-docs with python3 in the past (and I always have been too lazy to fix them - sorry). That means that currently _not_ everything is ready to work with all python versions. A wrapper could select the best one. But that also means we basically depend on python2 _and_ python3 to be installed. * We will have a really simple possibility to switch to python4 when it comes out. * On systems without a python it will definitively make it simpler.

Background questions: * Do we know of distributions that don’t provide a python (without version number) command?

Author: Trac Migrate

2020-08-03T07:16:27.000Z

openSUSE 15.2 installs Python 3 by default and Python 2 is not available by default. There is no “python” command by default, only “python3”.

I think we should ask the waf community how they want to deal with this.

About a year ago I started a discussion about “Which Python version for new tool code?”. It seems RHEL 7 was the only relevant distribution not providing a Python 3, but this changed during the discussion:

https://lists.rtems.org/pipermail/devel/2019-August/055010.html

CentOS 7.7 ships it also. Is there anything left which doesn’t ship Python 3? If not, then why don’t we change the shebang to #!/usr/bin/env python3?

Author: Chris Johns

2020-08-04T07:37:25.000Z

We need to support long life versions of host systems and I have understood this to mean python2. As a result we need to make sure our user facing tools run on Python 2 and 3 for a while yet. This ticket is about how we handle this and not that choice.

The python command may not install by default but is there a package that does provide it?

The waf point is a valid one. We need a python command while it requires it. If that changes then we can consider what happens then. If you wish to ask please do so.

Author: Trac Migrate

2020-08-04T09:11:31.000Z

Seems that I misinterpreted the intention of the ticket. You asked:

Do we assume #! /usr/bin/env python will always work in our script and we make sure we are python2 and python3 clean for user installed commands? If a user does not have a python command installed by default do we document how to install one or do we document using a virtualenv? A simple shebang is cleaner for us to maintain however it added an extra dependency we need to document.

From my point of view: As long as waf needs python, we can assume it for our scripts too. So we have to document that anyway as soon as we switch to waf for all core repos.

From what you wrote we have to make sure that our scripts work with python2 and python3 anyway. I would reject a python2 only version with it beeing no maintained anymore and slowly removed from distributions and you don’t like a python3 only version.

The alternative would be to add a shell wrapper around waf too. But do we really want to maintain that with all edge cases? And again: That adds a fixed dependency to a shell. Without a wrapper we might be able to have packages for Windows that only contain a binary toolchain and a python installation. That could be useful for big teams that want to build the toolchain only on one host and distribute it in binary form to all developers.

Author: Chris Johns

2020-08-05T00:32:58.000Z

I tend to agree. I would like to first know if CentOS7 and openSUSE 15.2 to have a package to install python?

Author: Trac Migrate

2020-08-05T04:49:05.000Z

On the waf issue tracker I found this:

https://gitlab.com/ita1024/waf/-/issues/2259

The suggested solution is to modify the shebang by hand for waf 2.*.

On openSUSE 15.2 you have to install Python 2 to get a python command or add the symlink yourself as root.

My preferred solution would be to change all shebangs to #!/usr/bin/env python3 and require all users of RTEMS to install Python 3.

Author: Chris Johns

2020-08-05T08:23:09.000Z

I have re-read PEP 394 and I am starting to think we should document and provide support for our users to run virtual environments. This is a recommendation in the PEP and I think it makes sense. As stated previously we need to support Python2 and Python3 for a period of time. Users restricted to Python2 should have a python command or they should have a virtualenv package for Python2. Python3 users should be on python3.6 or later and that has the venv module which gives them a python command.

I feel hard coding the version of python into the shebang restricts us and only creates further issues. Getting our users educated to use a virtual environment will pay off in the long term.

Author: Trac Migrate

2020-08-05T08:30:03.000Z

I am not against using virtual environments, however, we should really evaluate if we want to support Python 2 in RTEMS 6. Maybe we should ask on the users mailing list if there are still host computer systems in use without a Python 3 support.

Author: Chris Johns

2020-08-06T00:20:26.000Z

A primary goal of RTEMS is to provide long life support for hardware and hosts.

I see the major issue with Python2 and Python3 as the shebang and python support rather than the coding. There are some basic things we need to do to support both but it is not a big deal. At this point in time I do not support just Python3.

As a result I prefer we focus on how we manage this situation. I believe virtual environments provide this. I see forcing the shebang to python3 as problematic long term.

Author: Trac Migrate

2020-08-06T04:52:12.000Z

I still think we should try to learn a bit more about which hosts are in use by the RTEMS users. If there are still users around which are stuck with Python 2, then fine, otherwise we have one problem less.

How do you want to use the virtual environments? How is it set up? I have no experience in packaging and deploying Python projects. For me it would be a bit inconvenient if I have to activate a virtual environment just to run ./waf to build RTEMS for example.

Author: Joel Sherrill

2020-08-06T14:06:17.000Z

Can we write a simple program as an alternative to env which answers the question of “which Python” in a way we want? rtems-which-python python[23] and let it answer the question?

I am opposed to forcing use of virtualenv but only encouraging it. It is a nice feature and I am using it but I only use it because the host doesn’t have everything in a complete (Tex packaging) or current way. If the host is sufficient, it shouldn’t be needed.

CentOS 7 does have a Python 3 but you have to install a “software collection” (https://developers.redhat.com/products/softwarecollections/overview for a description and list). This is the RedHat way of adding newer technologies as an option. This is what I have been doing on CentOS 7 combined with a virtualenv.

scl enable rh-python36 bash

I have been doing the Python 3 Software Collection plus a virtualenv for Sphinx to build the RTEMS documentation.

Author: Trac Migrate

2020-08-06T14:12:46.000Z

Author: Chris Johns

2020-08-06T23:44:44.000Z

Using a virtual env, selecting an OS or a specific distribution of an OS, using python3 waf or adding a symlink yourself are all user choices. No one is forcing anyone to select any specific option and in fact I am concern we limit the choices in what we do. We also need to consider users may have other Python tools and commands and we need to make sure users can still run those tools.

The proposal I am putting forward is for user facing tools and scripts only and it is to shebang python only and we document a few of the approaches so it becomes a user choice. If you want to use CentOS with Python2 and python that is fine. If you want to install Python3 on CentOS that is no problem. If you use a bleeding edge Linux distro with a progressive set of packages and it only comes with Python3 that is also fine.

What I would like to avoid is us selecting a specific case and mandating it. This means we cannot force the shebang to python3 and we cannot explicitly exploit something in a virtual env.

Creating a specific env for us does not help other tools like waf.

Author: Trac Migrate

2020-08-07T06:31:13.000Z

Maybe let me summarize a bit:

  • No one really fought for keeping the wrappers. Instead we should start documenting how to set up a good environment (either via virtualenv or installing directly on host systems).

  • For our tools we should select a shebang that is used in all user facing tools.

  • We have at least waf which uses just python in the shebang. So regardless what we chose: Our environment needs a python command as long as waf uses it.

  • There is no consensus about which python version we should use for user facing tools. Maybe we should move that discussion to the mailing list like suggested multiple times?

I think the first three points answer the original question of the ticket? Did I miss something from the discussion?

The last point is definitively a controversial one. There are good reasons for both directions. But again: Maybe that should be discussed with a broader audience?

Author: Chris Johns

2020-08-10T06:06:10.000Z

Replying to Christian Mauderer:

I think the first three points answer the original question of the ticket? Did I miss something from the discussion?

I agree and no I do not think you have.

The last point is definitively a controversial one. There are good reasons for both directions. But again: Maybe that should be discussed with a broader audience?

I think there will be some push back to dropping Python2 right now and this will fade as time goes on.

Author: Chris Johns

2020-08-10T06:50:14.000Z

Replying to Christian Mauderer:

The last point is definitively a controversial one. There are good reasons for both directions. But again: Maybe that should be discussed with a broader audience?

I think there will be some push back to dropping Python2 right now and this will fade as time goes on.

There would be some advantages too. Maybe we should discuss an indicator that it is time to drop the python2 support (for example: as soon as waf does; or as soon as CentOS doesn’t installs it by default; or in 1 year; or …) so that there is a clear plan and it isn’t discussed again and again every few months. But like you said: That’s not the topic of this ticket and I think it would be better to discuss this on the mailing list.

I think the new build system and the qual project need to be done and we have releases with them. I think at the core of this issue is releases with python 2 and 3 and once we know how they are traveling it will become apparent what we can do.

I will remove the script support in the RSB and close this ticket when it is merged.

Author: Trac Migrate

2020-08-12T01:11:32.000Z

In [changeset:”b71f7f6960a628c0e1c930b5769d19c5957a6998/rtems-docs” b71f7f69/rtems-docs]:

user, README: Add Python script host set up information

- Add Python3 and venv to the README

- Add a section on how to set up a host if the python command is
not available.

Update #4037

Author: Chris Johns

2020-08-12T03:20:12.000Z

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2020-08-25T23:59:31.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”650c6f99333c7f163f81817d3f71f93d0ae17ee4/rtems-source-builder” 650c6f9/rtems-source-builder]:

sb: Use shebang env python

Closes #4037

Author: Chris Johns

2020-08-28T00:13:54.000Z

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

The rtems-tools.git repo needs to be changed to a shebang env python.

Author: Trac Migrate

2020-08-28T01:48:45.000Z

In [changeset:”c51f6342584f658ad56d9acde3c2cc7b3c8f5bca/rtems-source-builder” c51f634/rtems-source-builder]:

sb: Fix the imports on Python2

Updates #4037

Author: Chris Johns

2022-11-29T23:00:51.000Z

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

The user of a virtualenv is to be used to manage various versions of Python.

4705 - Installed header clean up

Id

4705

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-08-19T04:48:33.000Z

Updated

2022-11-29T22:52:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4705

Merges

0

A number of headers are installed when they should not or are not installed.

Author: Trac Migrate

2022-08-21T23:30:10.000Z

In [changeset:”e49a1c9b386b75e3f477f476239651bd38f42ae5/rtems” e49a1c9b/rtems]:

spec/bsps: Do not install tm27.h

Updates #4705

Author: Trac Migrate

2022-08-21T23:30:12.000Z

In [changeset:”bb0975508677240c93468762abd752aca59b8d66/rtems” bb09755/rtems]:

spec/bsps/aarch64: Install ELF machine types for libdl

Updates #4705

Author: Trac Migrate

2022-08-21T23:30:15.000Z

In [changeset:”eae542c02f05d8b16708aee70bd81d2af896004f/rtems” eae542c0/rtems]:

spec/librtemscpu: Fix installed headers

- pci.h is only for sparc

- keyimpl.h is not referenced and so not needed

Updates #4705

Author: Chris Johns

2022-11-29T22:52:49.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4209 - STM32H743ZI Nucleo Consle support not working without workaround

Id

4209

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2021-01-02T14:39:38.000Z

Updated

2022-11-29T22:51:15.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, resolution::invalid, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4209

Merges

0

Original author: rmueller

I think here is still some issue with the HUART3 console support, at least for the STM32H743ZI-Nucleo board.

I solves the issue by calling some hardware initializaton functions and override void HAL_UART_MspInit(UART_HandleTypeDef* huart) like this:

#include "hardware_init.h"
#include <stm32h7xx_hal_rcc.h>
#include <stdio.h>

void hardware_init() {
MX_USART3_UART_Init(115200);
}


/**
* ST-LINK UART3
* CN5 pins on board
*/
UART_HandleTypeDef huart3;
GPIO_InitTypeDef gpio_uart_init_struct;

void MX_USART3_UART_Init(uint32_t baudRate)
{
__HAL_RCC_USART3_CONFIG(RCC_USART3CLKSOURCE_HSI);
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_USART3_CLK_ENABLE();

int result;
huart3.Instance = USART3;
huart3.Init.BaudRate = baudRate;
huart3.Init.WordLength = UART_WORDLENGTH_8B;
huart3.Init.StopBits = UART_STOPBITS_1;
huart3.Init.Parity = UART_PARITY_NONE;
huart3.Init.Mode = UART_MODE_TX_RX;
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1;
//huart3.Init.FIFOMode = UART_FIFOMODE_DISABLE;
//huart3.Init.TXFIFOThreshold = UART_TXFIFO_THRESHOLD_1_8;
//huart3.Init.RXFIFOThreshold = UART_RXFIFO_THRESHOLD_1_8;
huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
// we can't do error handling (simple print out first) here because UART3 is our print interface
result = HAL_UART_Init(&huart3);
if(result == HAL_OK) {
printf("\\rUART3 configured successfully!\\r\\n");
}
}

// Will be called by HAL_UART_Init
void HAL_UART_MspInit(UART_HandleTypeDef* huart) {
/*Configure GPIO pins : PD8 PD9 */
gpio_uart_init_struct.Pin = GPIO_PIN_8|GPIO_PIN_9;
gpio_uart_init_struct.Mode = GPIO_MODE_AF_PP;
gpio_uart_init_struct.Pull = GPIO_NOPULL;
gpio_uart_init_struct.Speed = GPIO_SPEED_FREQ_LOW;
gpio_uart_init_struct.Alternate = GPIO_AF7_USART3;
HAL_GPIO_Init(GPIOD, &gpio_uart_init_struct);
}

I then call hardware_init() from my main application and after that, printf is working properly. Maybe the problem is also related to using the Nucleo board?

Kind Regards Robin

Author: Trac Migrate

2021-01-02T14:41:11.000Z

Original author: rmueller

Hardware Init source file

Author: Trac Migrate

2021-01-02T14:42:08.000Z

Original author: rmueller

Hardware init header file

Author: Trac Migrate

2021-01-02T18:33:13.000Z

Original author: rmueller

I found the UART config in console-uart3.c

static const stm32h7_uart_config stm32h7_usart3_config = {
.gpio = {
.regs = GPIOB,
.config = {
.Pin = GPIO_PIN_9 | GPIO_PIN_10,
.Mode = GPIO_MODE_AF_PP,
.Pull = GPIO_NOPULL,
.Speed = GPIO_SPEED_FREQ_LOW,
.Alternate = GPIO_AF7_USART3
}
},
.irq = USART3_IRQn,
.device_index = 2
};

and tried to replace it with this:

static const stm32h7_uart_config stm32h7_usart3_config = {
.gpio = {
.regs = GPIOD,
.config = {
.Pin = GPIO_PIN_8 | GPIO_PIN_9,
.Mode = GPIO_MODE_AF_PP,
.Pull = GPIO_NOPULL,
.Speed = GPIO_SPEED_FREQ_LOW,
.Alternate = GPIO_AF7_USART3
}
},
.irq = USART3_IRQn,
.device_index = 2
};

Recompiled the BSP but it still is not working without the workaround from above. If I call printf, the function also never exits and something appears to be broken.. I don’t really know why..

Author: Trac Migrate

2021-01-03T10:14:39.000Z

Original author: rmueller

The clocks are not initialized by the current console driver.

For a custom board initialization, you can provide the data structures defined in bsps/arm/stm32h7/start/stm32h7-config.c in your application configuration.

Author: Trac Migrate

2021-01-04T15:16:22.000Z

Original author: rmueller

STM32H732ZINucleo patch

Author: Trac Migrate

2021-01-04T15:19:13.000Z

Original author: rmueller

Thanks, it works now. I am not sure, maybe I did not rebuild the BSP properly. I supplied a patch for this particular STM32H7 board configuration so users just have to set an option in config.ini to true for the STM32H743ZI-Nucleo board.

Kind Regards Robin

Author: Trac Migrate

2021-01-04T18:23:47.000Z

Original author: rmueller

In [changeset:”affc8de85f951768b2fa6fb46f154f738f5a0150/rtems” affc8de/rtems]:

bsp/stm32h7: Split start configuration

This allows applications to individually provide configuration
structures.

Update #4209.

Author: Trac Migrate

2021-01-04T18:23:50.000Z

Original author: rmueller

In [changeset:”6600585fc8e5fa299bf1ca1e0856d44b23c195cf/rtems” 6600585f/rtems]:

bsp/stm32h7: Split console configuration

This allows applications to individually provide configuration
structures.

Update #4209.

Author: Trac Migrate

2021-01-05T22:50:06.000Z

Original author: rmueller

And yet it was another wrong file. This is the correct one.

Author: Trac Migrate

2021-01-06T11:46:55.000Z

Original author: rmueller

Updated documentation.

Author: Trac Migrate

2022-09-08T14:31:42.000Z

Original author: rmueller

There were some updates to the BSP. Is this issue still open?

Author: Chris Johns

2022-11-29T22:25:20.000Z

Original author: rmueller

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Closing as the patches have not been applied.

If these changes are still valid please reopen and apply the attached patches.

Author: Chris Johns

2022-11-29T22:44:32.000Z

Original author: rmueller

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Te patches have been confirmed as suitable to be applied.

Author: Chris Johns

2022-11-29T22:44:50.000Z

Original author: rmueller

  • Owner set to @joel

  • Status changed from reopened to assigned

Author: Joel Sherrill

2022-11-29T22:51:15.000Z

Original author: rmueller

  • Resolution set to ~”invalid”

  • Status changed from assigned to closed

Neither patch is applying cleanly for me. Please update them, reopen the ticket, and attach them.

4363 - GDB does not build on Windows for MSYS2

Id

4363

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-03-28T06:08:46.000Z

Updated

2022-11-29T22:34:32.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, tickettype::defect, tool::gdb, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4363

Merges

0

The details are in the GDB bug …

https://sourceware.org/bugzilla/show_bug.cgi?id=27657

Author: Chris Johns

2022-11-29T22:34:32.000Z

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

Not sure if this is valid. Please reopen if it is broken.

4246 - Add libbsd DC NIC support to mvme2700 board

Id

4246

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-02-16T01:07:47.000Z

Updated

2022-11-29T22:29:45.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4246

Merges

0

Add support for the Tulip NIC to LibBSD for the MVME 2700 (the mvme2307 bsp).

Author: Chris Johns

2022-11-29T22:29:45.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Added and working.

4212 - libio leaks location clones

Id

4212

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-01-07T07:00:21.000Z

Updated

2022-11-29T22:27:24.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::invalid, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4212

Merges

0

rtems_filesystem_location_copy overwrites a location that may have been cloned via the ops handler leaking the destination node. If a file system has allocated resources in a location node when cloned it will leak. I assume there is a free for every clone?

An example of a leak is to mount of file system under IMFS and then open a file under the mounted file system. The path eval restart in the IMFS will clone a node and then open will:

rtems_filesystem_eval_path_extract_currentloc( &ctx, &iop->pathinfo );
rtems_filesystem_eval_path_cleanup( &ctx );

The ctx contains a cloned location.

Allocating resources to a location may be required because of the limited available file system fields and the opaque nature of the fields or a file system may have data it locks or reference counts and that needs to be managed.

I do not fully understand the semantics around the location object and while I could guess at a fix there are a number functions related to locations and a large number of use cases that I would not know if my fix is OK. For example should the copy function free the destination location and then clone the source location or should it just free the destination location or should all the places a copy is done be updated to manage the free and cloning based on the context? Or is the issue in the open call and the lines pasted here be swapped?

Author: Trac Migrate

2021-01-07T08:16:42.000Z

Do we have this resource leak with one of the current file systems? If yes, could you please add test case for this resource leak.

Author: Chris Johns

2021-01-07T22:20:27.000Z

Replying to Sebastian Huber:

Do we have this resource leak with one of the current file systems?

Yes I believe there is a leak with open as stated above.

If yes, could you please add test case for this resource leak.

A test is a good idea however as stated I do not understand the _locations_ struct and the eval code in libio. I could create a test and provide a fix and break an existing file system.

Maybe the following will help explain why I am confused:

  1. Is this simply a bug in open? Does …

rtems_filesystem_eval_path_cleanup( &ctx );
rtems_filesystem_eval_path_extract_currentloc( &ctx, &iop->pathinfo );

… resolve the leak? Does that create another leak and so should the code be …

rtems_filesystem_eval_path_cleanup( &ctx );
rtems_filesystem_eval_path_extract_currentloc( &ctx, &iop->pathinfo );
rtems_filesystem_eval_path_cleanup( &ctx );

… ? Would fixing the copy also resolve this leak? I have no idea which of these is right solution because I do not understand how this is suppose to work.

  1. The call rtems_filesystem_location_copy() does not _free_ the resource. The only doco with this function says it is a bitwise copy yet the resource will be added to the corresponding mount. This is confusing because the resource is accounted for yet it does not perform a deep copy of the contents when the file system is required to provide an interface to do this.

Author: Trac Migrate

2021-01-08T05:28:40.000Z

I am not sure if we have an unintentional resource leak in open() with the current file systems. I would be good to have a test case. The purpose of open() is to create a location for a file which is released to the system through a call to close(). If errors happen during the path evaluation, the rtems_filesystem_eval_path_error() should be called which uses rtems_filesystem_location_detach() if necessary.

Author: Chris Johns

2021-01-09T01:24:43.000Z

I agree we need a test, there is no objection here. I will look at this when I have time.

The bug is in the eval restart call in the IMFS. When a mount point is found the eval restart call clones the root loc. The open code ends up calling copy which wipes the clone out. A test is needed to expose the leak.

Putting the test case side, I would like to know if the copy should be deep? The test could then check for it being shallow or deep.

Author: Trac Migrate

2021-01-11T05:25:37.000Z

From looking at the code, I don’t see an issue in the restart code:

void rtems_filesystem_eval_path_restart(
rtems_filesystem_eval_path_context_t *ctx,
rtems_filesystem_global_location_t **newstartloc_ptr
)
{
free_location(&ctx->currentloc);
rtems_filesystem_instance_unlock(&ctx->startloc->location);
rtems_filesystem_global_location_assign(
&ctx->startloc,
rtems_filesystem_global_location_obtain(newstartloc_ptr)
);
rtems_filesystem_instance_lock(&ctx->startloc->location);
rtems_filesystem_location_clone(&ctx->currentloc, &ctx->startloc->location);
}

It first frees the current location and then continues with a clone of the new start location. A test case would definitely help.

The locations are just pointers which are registered in the system. I think the documentation of rtems_filesystem_location_copy() is in line with its implementation.

Author: Chris Johns

2021-01-12T01:36:02.000Z

It might have been the optimiser had not shown the path in the debugger and I was seeing something else. A review of this and then the path clean up in open does seem OK. The struct vnode counts will highlight an issue once I have that integrated. When I saw the problem and noted it I did not see the free but I saw the copy.

Author: Joel Sherrill

2021-12-17T17:05:49.000Z

Is this still an issue?

Author: Trac Migrate

2022-01-26T13:54:33.000Z

  • Owner set to @chrisj

  • Status changed from new to assigned

Please close if possible.

Author: Chris Johns

2022-11-29T22:27:24.000Z

  • Resolution set to ~”invalid”

  • Status changed from assigned to closed

Please reopen if this is still a valid issue.

4048 - Move RTEMS 5 BSP and package build sets and configs to RTEMS 6

Id

4048

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-12T06:58:50.000Z

Updated

2022-11-29T22:17:01.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, tickettype::task, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4048

Merges

0

Move the BSP build sets with the related packages to RTEMS 6. Update the kernel and libbsd to point to RTEMS 6 commits.

Drop the tier build sets as these are not being used. They can be brought back if we need them.

Author: Trac Migrate

2020-08-15T00:24:27.000Z

In [changeset:”40af487dfc26a583e7d20b7af9ca2058ed69e1ef/rtems-source-builder” 40af487/rtems-source-builder]:

Move 5 build sets to 6

- Move 5/bsps/* to bsps/*

- Update package build references from 5 to 6

- Remove 5 build sets.

Update #4048

Author: Trac Migrate

2020-09-01T01:46:06.000Z

In [changeset:”5528b1779a45d60d015a73fb2a6d45974d81efe7/rtems-docs” 5528b17/rtems-docs]:

user: Change the BSP build set path

Updates #4048

Author: Chris Johns

2022-11-29T22:17:01.000Z

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

I am closing this as the rtems-deployment project and repo should now be used to manage BSPs and vertical stacks. The repo is currently in my personal area.

3998 - fenv support is missing on arm

Id

3998

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2020-06-05T04:20:45.000Z

Updated

2022-11-29T22:11:08.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3998

Merges

0

Original author: sebastian.huber

The test program psxfenv01 fails on arm.

Author: Chris Johns

2022-11-29T22:11:08.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Fixed in newlib in 2020.

3997 - fenv support is missing on sparc

Id

3997

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2020-06-05T04:20:16.000Z

Updated

2022-11-29T22:10:47.000Z

Milestone

6.1

Labels

arch:sparc, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3997

Merges

0

Original author: sebastian.huber

The test program psxfenv01 fails on sparc.

Author: Chris Johns

2022-11-29T22:10:47.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Fixed in newlib in 2020.

3996 - fenv support is missing on powerpc

Id

3996

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2020-06-05T04:18:59.000Z

Updated

2022-11-29T22:10:19.000Z

Milestone

6.1

Labels

arch:powerpc, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3996

Merges

0

Original author: sebastian.huber

The test program psxfenv01 fails on powerpc.

Author: Chris Johns

2022-11-29T22:10:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Fixed in newlib in 2020.

3942 - multiple definition of `pci_indirect_functions’

Id

3942

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2020-04-08T10:14:16.000Z

Updated

2022-11-29T22:07:19.000Z

Milestone

6.1

Labels

mips, priority::normal, resolution::fixed, tickettype::defect, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3942

Merges

0

Original author: sebastian.huber

Building with GCC 10 showed a multiple definition error:

/build/rtems/6/lib/gcc/mips-rtems6/10.0.1/../../../../mips-rtems6/bin/ld: ./librtemsbsp.a(i8259.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: multiple definition of `pci_indirect_functions'; ./librtemsbsp.a(vectorisrs.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: first defined here
/build/rtems/6/lib/gcc/mips-rtems6/10.0.1/../../../../mips-rtems6/bin/ld:
./librtemsbsp.a(simple_access.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: multiple definition of `pci_indirect_functions'; ./librtemsbsp.a(vectorisrs.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: first defined here
/build/rtems/6/lib/gcc/mips-rtems6/10.0.1/../../../../mips-rtems6/bin/ld: ./librtemsbsp.a(pci.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: multiple definition of `pci_indirect_functions'; ./librtemsbsp.a(vectorisrs.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: first defined here

Author: Trac Migrate

2020-04-08T10:14:54.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

+ Building with GCC 10 showed a multiple definition error:
+ {{{
/build/rtems/6/lib/gcc/mips-rtems6/10.0.1/../../../../mips-rtems6/bin/ld: ./librtemsbsp.a(i8259.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: multiple definition of `pci_indirect_functions'; ./librtemsbsp.a(vectorisrs.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: first defined here
/build/rtems/6/lib/gcc/mips-rtems6/10.0.1/../../../../mips-rtems6/bin/ld:
- Building with GCC 10 showed a multiple definition error:
- {{{
./librtemsbsp.a(simple_access.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: multiple definition of `pci_indirect_functions'; ./librtemsbsp.a(vectorisrs.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: first defined here
/build/rtems/6/lib/gcc/mips-rtems6/10.0.1/../../../../mips-rtems6/bin/ld: ./librtemsbsp.a(pci.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: multiple definition of `pci_indirect_functions'; ./librtemsbsp.a(vectorisrs.c.19.o):/ramdisk/git-rtems-5/build/mips/malta/../../../bsps/mips/malta/include/bsp/pci.h:113: first defined here
}}}

Author: Gedare Bloom

2020-04-17T03:48:04.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Bump to 6, gcc10 toolchain issue.

Author: Chris Johns

2022-11-29T22:07:19.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Looks to be fixed. Please reopen if it is still a problem.

3929 - Document use of virtualenv

Id

3929

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Trac Migrate

Created

2020-04-04T18:15:30.000Z

Updated

2022-11-29T22:04:28.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3929

Merges

0

The use of python virtualenv to build docs or use RSB has been suggested a few times. We should provide a brief sketch in our documentation about that utility.

For example, in modern versions of Arch Linux, python is now a shortcut to python3 from the python package. For tools that do not yet function in Python 3, users can set up a virtual environment with Python 2 as follows:

At a root terminal, install python2-virtualenv with pacman.

# pacman -S python2-virtualenv

Examples of other architectures and uses for virtualenv would round out a reasonable section in the user manual for Preparation.

Author: Chris Johns

2022-11-29T22:04:28.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

3414 - Remove Makefiles from rtems-examples?

Id

3414

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2018-04-25T23:52:20.000Z

Updated

2022-11-29T21:54:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::invalid, tickettype::defect, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3414

Merges

0

It seems to be time to remove Makefile build support from examples-v2

Author: Chris Johns

2018-10-14T01:04:36.000Z

  • Milestone changed from %”5.1” to %”6.1”

  • Status changed from new to assigned

  • Version changed from ~”5” to ~”6”

Remove in 6.

Author: Chris Johns

2019-09-18T22:53:28.000Z

  • Summary changed from Remove Makefiles from examples-v2? to Remove Makefiles from rtems-examples?

Does the Makefile build work with the rtems-example master HEAD?

Author: Joel Sherrill

2019-09-19T10:52:42.000Z

It did an couple of weeks ago

Author: Chris Johns

2019-09-20T04:31:42.000Z

Replying to Joel Sherrill:

It did an couple of weeks ago

How up to date is the build, for example we have a libbsd and graphics example in the repo now?

Author: Chris Johns

2022-11-29T21:54:49.000Z

  • Resolution set to ~”invalid”

  • Status changed from assigned to closed

Makefile.inc is to be supported so examples with Makefiles makes sense to keep.

2778 - Error building RTEMS Source Builder recipe for libxml

Id

2778

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2016-08-18T06:48:24.000Z

Updated

2022-11-29T21:50:55.000Z

Milestone

6.1

Labels

priority::normal, resolution::worksforme, tickettype::enhancement, version::4.11, version::4.12, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2778

Merges

0

Original author: Sambeet

I wrote the three essential files for cross build of libxml for RTEMS, i.e. the .bset file (libxml.bset), the version specific configuration file (libxml2-2.7.8.cfg) and the build configuration file (libxml2-2.7.8.cfg).As per the FreeBSD ports I have placed it under textproc.However when the build configuration script is run, an error “config file is not found” occurs. I tried to cd into the directory by providing a bash script but that is also not working,an error “can’t cd to ..<config directory>” appears.

Author: Trac Migrate

2016-08-18T06:53:05.000Z

Original author: Sambeet

The build configuration file that has the adress of the config file

Author: Trac Migrate

2016-08-20T07:55:37.000Z

Original author: Sambeet

Patch to add libxml bset

Author: Trac Migrate

2016-08-20T07:56:23.000Z

Original author: Sambeet

Changes in the build set

Author: Trac Migrate

2016-08-20T07:57:31.000Z

Original author: Sambeet

change sto resolve the .cfg file error

Author: Trac Migrate

2016-08-20T07:58:36.000Z

Original author: Sambeet

Changes in the .cfg file

Author: Trac Migrate

2016-08-20T08:04:44.000Z

Original author: Sambeet

The error report

Author: Trac Migrate

2016-08-20T08:12:31.000Z

Original author: Sambeet

  • Milestone changed from %”4.11.1” to %”4.12”

  • Owner set to @chrisj

  • Status changed from new to assigned

  • Version changed from ~”4.11” to ~”4.12”

There are a few more attachments for clarity.I have added the patches for the build set to reproduce my problem and a copy of the error report when I give the command

sambeet@Holmes ~/Documents/GitRepos/sambeet161616/rtems-source-builder/rtems $ ../source-builder/sb-set-builder –log=log_libxml_log –prefix=$HOME/NewRockPort/x86/Install/rtems/4.11.0-rc3/ –target=i386-rtems4.11 –with-rtems-bsp=pc486 textproc/libxml

Author: Trac Migrate

2017-05-11T07:31:02.000Z

Original author: Sambeet

  • Milestone changed from %”4.12” to %”4.12.0”

Author: Trac Migrate

2017-11-09T06:27:14.000Z

Original author: Sambeet

  • Milestone changed from %”4.12.0” to %”5.1”

Milestone renamed

Author: Joel Sherrill

2018-10-14T00:43:39.000Z

Original author: Sambeet

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Pushing milestone but would prefer if someone could look into this and fix it.

Author: Chris Johns

2022-11-29T21:50:55.000Z

Original author: Sambeet

  • Resolution set to ~”worksforme”

  • Status changed from assigned to closed

If this is still broken please reopen.

1459 - Add rtems_shell_main_monitor to cpukit/libmisc/shell/shell.h?

Id

1459

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2009-10-29T06:18:16.000Z

Updated

2022-11-29T21:49:38.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect, version::4.10

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1459

Merges

0

Original author: ralf.corsepius

rtems_shell_main_monitor is a private function of cpukit/libmisc/shell/cmds.c

However, the way testsuites/libtests/monitor02/init.c uses it (as a public/exported function) to me reads as a strong indication that rtems_shell_main_monitor() should be “made public” by declaring/prototyping it in cpukit/libmisc/shell/shell.h

Author: Chris Johns

2010-05-15T06:42:03.000Z

Original author: ralf.corsepius

  • Cc added @vattam.santosh

  • Owner set to @chrisj

  • Milestone changed from %”4.10” to %”4.11”

  • Status changed from new to assigned

Exporting this interface from the shell is a hack as well. The central issue is the purpose of the monitor now we have a shell. Should we consume the monitor into the shell and remove the duplicate code in RTEMS ? The monitor has stdin handling, terminal handling plus help formatting (which is much better than the shell’s). I think these can all be merged into the shell and the monitor goes away.

I think this should be moved to the 4.11 milestone, which I have done, and we live with the current code for 4.10.

Once issue this raises is the pressure on the shell with all the files that are starting to appear in it. Maybe the monitor command remain in its directory.

Author: Joel Sherrill

2014-11-23T17:37:06.000Z

Original author: ralf.corsepius

  • Description changed

rtems_shell_main_monitor
is a private function of
cpukit/libmisc/shell/cmds.c

However, the way
testsuites/libtests/monitor02/init.c
uses it (as a public/exported function) to me reads as a strong indication that
rtems_shell_main_monitor()
should be "made public" by declaring/prototyping it in
cpukit/libmisc/shell/shell.h
  • Milestone changed from %”4.11” to %”5.0”

  • Summary changed from Add rtems_shell_main_monitor to cpukit/libmisc/shell/shell.h? to Make Monitor Commands first class citizens in shell,

The monitor predates the shell. There is really no point in having two CLIs. The monitor commands are available in the shell but the integration is a hack. The monitor commands need to be made first class shell commands and the set for looking at objects enhanced to include more objects.

This may be a decent GSoC project.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: ralf.corsepius

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

Author: Chris Johns

2022-11-29T21:49:38.000Z

Original author: ralf.corsepius

  • Description changed

rtems_shell_main_monitor
is a private function of
cpukit/libmisc/shell/cmds.c

However, the way
testsuites/libtests/monitor02/init.c
uses it (as a public/exported function) to me reads as a strong indication that
rtems_shell_main_monitor()
should be "made public" by declaring/prototyping it in
cpukit/libmisc/shell/shell.h
  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Fixed in 2011.

3615 - Convert Tools_Used Wiki page into Support Tools Selection with Criteria

Id

3615

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2018-11-22T13:43:43.000Z

Updated

2022-11-29T21:44:27.000Z

Milestone

6.1

Labels

priority::high, resolution::wontfix, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3615

Merges

0

Original author: Shashvat Jain

Originally, this ticket requested that ToolStatus and Tools_Used wiki pages be addressed. ToolsStatus was horribly out of date and removed. This leaves Tools_Used as a list of the tools used at a point in time. This list needs to be updated and grown into a Support Tools section of the Software Engineering Guide. Beyond a list of the tools and their use with RTEMS, it should discuss the attribute(s) that led to the tools selection.

Original ticket description below:


https://devel.rtems.org/wiki/TBR/Review/ToolStatus This page’s data is very old and needs to be updated so that it can be added to the wiki with a link to the home page name “Development Tools”.

All the data about the tools on the page must be updated to the latest used by RTEMS 5 , this new page can either be added to the page https://devel.rtems.org/wiki/Tools_Used or be made into a separate page altogether . Advice on the placement of the new page is needed.

Author: Gedare Bloom

2018-11-22T15:02:16.000Z

Original author: Shashvat Jain

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Joel Sherrill

2018-11-22T15:56:20.000Z

Original author: Shashvat Jain

Given the age of this information, I would say delete the page and fix references. Is there anything of value left in it?

Author: Chris Johns

2018-11-23T00:27:54.000Z

Original author: Shashvat Jain

I can see no value in either page. Please delete the pages and close this ticket.

Author: Trac Migrate

2018-11-23T03:39:39.000Z

Original author: Shashvat Jain

Does this wiki already has a “development tools” page , the information is quite old , is it worth deleting these and adding a new one which are updated?

Author: Chris Johns

2018-11-23T03:51:02.000Z

Original author: Shashvat Jain

Replying to shashvat jain:

Does this wiki already has a “development tools” page , the information is quite old , is it worth deleting these and adding a new one which are updated?

No it does have one. A wiki page for this type of thing for RTEMS is difficult to get right. The issues are: 1. Each version of RTEMS has a specific set of tools so a single page would not work. 2. The tool matrix is complex with different versions of the various tools for different architectures and then differences for these for different hosts. You can see this my looking at the build output from the RSB on the build list, for example a recent ARM build (https://lists.rtems.org/pipermail/build/2018-November/001318.html) The last section is the build report that lists the files and patches. 3. The term “Tools” covers the compiler and its tools plus it now it includes the various eco-system tools. The size of the page would be large and getting all the detail right would be an busy long term task.

Author: Trac Migrate

2018-11-23T06:09:02.000Z

Original author: Shashvat Jain

Replying to Chris Johns:

Replying to shashvat jain:

Does this wiki already has a “development tools” page , the information is quite old , is it worth deleting these and adding a new one which are updated?

No it does have one. A wiki page for this type of thing for RTEMS is difficult to get right. The issues are: 1. Each version of RTEMS has a specific set of tools so a single page would not work. 2. The tool matrix is complex with different versions of the various tools for different architectures and then differences for these for different hosts. You can see this my looking at the build output from the RSB on the build list, for example a recent ARM build (https://lists.rtems.org/pipermail/build/2018-November/001318.html) The last section is the build report that lists the files and patches. 3. The term “Tools” covers the compiler and its tools plus it now it includes the various eco-system tools. The size of the page would be large and getting all the detail right would be an busy long term task.

1)We may add the page for the current version under development 5 2)Instead of a tool matrix , we can mention all the tools shared by architecures like gdb , gcc newlib , g++ , binutils , etc . 3)If the term tools covers so much then can we make a document covering everything about the compiler ? , if we spend some time and make it , the next step left would be just to update it timely when the version changes.

Do you think it is worth the time and effort of updating?

Author: Chris Johns

2018-11-25T00:08:37.000Z

Original author: Shashvat Jain

Replying to shashvat jain:

1)We may add the page for the current version under development 5

What happens for RTEMS 6 or 7 etc?

2)Instead of a tool matrix , we can mention all the tools shared by architecures like gdb , gcc newlib , g++ , binutils , etc .

This changes all the time.

3)If the term tools covers so much then can we make a document covering everything about the compiler ? , if we spend some time and make it , the next step left would be just to update it timely when the version changes.

We have this in the documentation …

https://docs.rtems.org/branches/master/user/tools/index.html

Do you think it is worth the time and effort of updating?

No I do not think it is worth updating. A better solution is add to the RSB a way to generate the reports we need.

Chris

Author: Trac Migrate

2018-11-25T06:58:35.000Z

Original author: Shashvat Jain

Replying to Chris Johns:

Replying to shashvat jain:

1)We may add the page for the current version under development 5

What happens for RTEMS 6 or 7 etc?

2)Instead of a tool matrix , we can mention all the tools shared by architecures like gdb , gcc newlib , g++ , binutils , etc .

This changes all the time.

3)If the term tools covers so much then can we make a document covering everything about the compiler ? , if we spend some time and make it , the next step left would be just to update it timely when the version changes.

We have this in the documentation … https://docs.rtems.org/branches/master/user/tools/index.html

Do you think it is worth the time and effort of updating?

No I do not think it is worth updating. A better solution is add to the RSB a way to generate the reports we need. Chris

All my doubts are solved , I have no reason to stop you from closing this Ticket . Thank you

Author: Joel Sherrill

2019-12-13T15:31:06.000Z

Original author: Shashvat Jain

I just removed ​https://devel.rtems.org/wiki/TBR/Review/ToolStatus since it had very out of date information.

https://devel.rtems.org/wiki/Tools_Used is a modest version of what we want in the Software Engineering Guide for documenting supporting tools.

Author: Joel Sherrill

2019-12-13T15:40:28.000Z

Original author: Shashvat Jain

  • Description changed

+ Originally, this ticket requested that ToolStatus and Tools_Used wiki pages be addressed. ToolsStatus was horribly out of date and removed. This leaves Tools_Used as a list of the tools used at a point in time. This list needs to be updated and grown into a Support Tools section of the Software Engineering Guide. Beyond a list of the tools and their use with RTEMS, it should discuss the attribute(s) that led to the tools selection.
+
+ Original ticket description below:
+
+ ----
+
https://devel.rtems.org/wiki/TBR/Review/ToolStatus
This page's data is very old and needs to be updated so that it can be added to the wiki with a link to the home page name "Development Tools".

All the data about the tools on the page must be updated to the latest used by RTEMS 5 , this new page can either be added to the page https://devel.rtems.org/wiki/Tools_Used or be made into a separate page altogether .
Advice on the placement of the new page is needed.
  • Milestone changed from %”5.1” to %”6.1”

  • Summary changed from [Wiki]Update data on development tools and Find a new home for it. to Convert Tools_Used Wiki page into Support Tools Selection with Criteria

Author: Chris Johns

2022-11-29T21:44:27.000Z

Original author: Shashvat Jain

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

This should be in the User Guide.

4729 - Add 64bit address support to RTEMS FDT

Id

4729

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-09-29T05:35:06.000Z

Updated

2022-11-27T22:53:29.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4729

Merges

0

RTEMS’s FDT wrapper does not handle the reg property correctly. Update to handle 64bit register addresses.

Author: Chris Johns

2022-10-06T04:33:38.000Z

The calls rtems_fdt_prop_map and rtems_fdt_get_value change to return a table uintptr_t values.

Author: Trac Migrate

2022-10-10T00:30:12.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”40eb58fd5e7f0480601b0a9c3f48756921726df7/rtems” 40eb58f/rtems]:

libmisc/rtems-fdt: Update to support 64bit addresses

- Add support to get the parent address and size cells

- Provide support to get a reg prop address map

- Change getting a set of properties to uintptr_t

- Improve the debug mode of the ls command to print all props

Closes #4729

Author: Trac Migrate

2022-10-11T01:40:36.000Z

In [changeset:”fe104e399aeaf376310ba752f05c1d8f08737062/rtems” fe104e39/rtems]:

libmisc/rtems-fdt: Fix missing error string

- Coverity CID 1515930 issue

Updates #4729

Author: Trac Migrate

2022-10-14T02:33:37.000Z

In [changeset:”580a3a6817f9727f06b259571eaed075bf371d16/rtems” 580a3a6/rtems]:

libmisc/rtems-fdt: Fix return error values

Updates #4729

Author: Trac Migrate

2022-11-27T22:53:29.000Z

In [changeset:”408dbeb9225e1969113b81ad3ef484f351b9b4e3/rtems” 408dbeb/rtems]:

libmisc/rtems-fdt: Support prop map items up to the size of uintptr_t

Updates #4729

4763 - Detect terminal size

Id

4763

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-11-22T09:07:57.000Z

Updated

2022-11-22T19:49:00.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4763

Merges

0

Add support to set the rows and columns in the shell. RTEMS does not have a full tty system and does not carry terminfo so implement a shell based approach to let some commands manage the terminal size.

Update the edit command to support the terminal size.

Fix the help lines.

Author: Trac Migrate

2022-11-22T19:49:00.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”8425e679c149096a5d0a97990f6ebdbdd55ca522/rtems” 8425e67/rtems]:

libmisc/shell: Support terminal size as env variables

Closes #4763

4762 - Add Versal SDHCI Arasan driver to libbsd

Id

4762

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2022-11-21T22:22:47.000Z

Updated

2022-11-22T02:40:47.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4762

Merges

0

Original author: Eagleirony

Added support for SD card slots in libbsd for the Versal. Tested on VCK190.

Author: Trac Migrate

2022-11-21T22:26:26.000Z

Original author: Eagleirony

Author: Kinsey Moore

2022-11-22T00:58:45.000Z

Original author: Eagleirony

The patch looks good to me.

Author: Kinsey Moore

2022-11-22T01:16:11.000Z

Original author: Eagleirony

My only comment beyond that is that I should have renamed the existing Arasan base define and reused it instead of making RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI in rtems-bsd-nexus-bus.h when I added the driver to the ZynqMP platform.

Author: Kinsey Moore

2022-11-22T01:20:30.000Z

Original author: Eagleirony

If you feel like fixing that, you could combine the existing RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SDHCI and RTEMS_BSD_DRIVER_XILINX_ZYNQ_SDHCI along with RTEMS_BSD_DRIVER_XILINX_VERSAL_SDHCI added in this patch into a single reused RTEMS_BSD_DRIVER_ARASAN_SDHCI.

Author: Trac Migrate

2022-11-22T01:35:29.000Z

Original author: Eagleirony

Author: Trac Migrate

2022-11-22T01:40:02.000Z

Original author: Eagleirony

Author: Trac Migrate

2022-11-22T01:40:51.000Z

Original author: Eagleirony

Added your suggestion in, v3 has the name you suggested. Thanks.

Author: Kinsey Moore

2022-11-22T01:43:41.000Z

Original author: Eagleirony

The v3 patch looks great, thanks!

Author: Trac Migrate

2022-11-22T01:47:04.000Z

Original author: Eagleirony

Author: Trac Migrate

2022-11-22T02:08:44.000Z

Original author: Eagleirony

Author: Trac Migrate

2022-11-22T02:09:14.000Z

Original author: Eagleirony

Attached patch for MMU to map SDHCI devices for the Versal.

Author: Kinsey Moore

2022-11-22T02:10:26.000Z

Original author: Eagleirony

That looks good as well.

Author: Trac Migrate

2022-11-22T02:39:24.000Z

Original author: Eagleirony

In [changeset:”c5fa19ecb3e1a8d1c86b72eacc811d5037896561/rtems” c5fa19e/rtems]:

rtems/versal: Updated mmu to include mapping for SDHCI devices on versal

Tested on VCK190

Updates #4762

Author: Trac Migrate

2022-11-22T02:40:47.000Z

Original author: Eagleirony

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a39a6a249fe5c2bf4c75589a5c00ae4fad28c6d6/rtems-libbsd” a39a6a2/rtems-libbsd]:

rtemsbsd/versal: Add SDHCI Driver support

Tested on VCK190

Closes #4762

3420 - Deprecate/obsolete rtems_io_lookup_name

Id

3420

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2018-04-30T14:12:00.000Z

Updated

2022-11-10T21:06:05.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3420

Merges

0

I have noted in the RTEMS Class that this method is only kept for legacy purposes for many years now. There is no real use in the tree now. Only the following:

$ grep -rl rtems_io_lookup_name .
./cpukit/include/adainclude/rtems-io.adb
./cpukit/include/rtems/io.h
./cpukit/libfs/src/imfs/ioman.c
./testsuites/sptests/sp21/sp21.scn
./testsuites/sptests/sp21/init.c

Deprecate in 5.1 and remove in 6.x or obsolete and just remove now?

Author: Trac Migrate

2018-09-17T11:49:12.000Z

I would not touch this function. It adds no overhead to applications which don’t use it.

Author: Chris Johns

2018-10-14T01:10:58.000Z

  • Milestone changed from %”5.1” to %”6.1”

  • Owner set to joel

  • Status changed from new to assigned

  • Version changed from ~”5” to ~”6”

Author: Trac Migrate

2020-07-14T05:26:39.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”dc4879bba4ce91b86b4cfcea0a0f8dd7450e2d00/rtems” dc4879b/rtems]:

rtems: Remove deprecated rtems_io_lookup_name()

Close #3420.

Author: Trac Migrate

2022-11-10T21:06:05.000Z

In [changeset:”ecd8aec9117a8a66aa5c4b3322def9ac48c2bd2b/rtems” ecd8aec9/rtems]:

Remove remnants of rtems_io_lookup_name

Updates #3420.

4750 - Linker discards RTEMS_SYSINIT_ITEM object

Id

4750

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-11-04T13:40:35.000Z

Updated

2022-11-07T15:00:32.000Z

Milestone

6.1

Labels

priority::normal, resolution::invalid, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4750

Merges

0

Original author: dsa93

Hi

I am developing device driver in custom BSP in RTEMS. I applied my BSP on top of master branch.

My driver code looks like this:

/* driver logic in "static" functions (omitted) */

void custom_driver_init(void);

RTEMS_SYSINIT_ITEM(
custom_driver_init,
RTEMS_SYSINIT_DEVICE_DRIVERS,
RTEMS_SYSINIT_ORDER_SEVENTH
);

It is discarded by linker. custom_driver_init is never called. I discovered hack how to make linker not discard this: if I put at least one extern linkage function and call it in other file then linker dont discard “custom_driver_init”

/* driver logic in "static" functions (omitted) */

/* Call this function for example from main function */
int workaraound(void) {
return 5;
}

void custom_driver_init(void);

RTEMS_SYSINIT_ITEM(
custom_driver_init,
RTEMS_SYSINIT_DEVICE_DRIVERS,
RTEMS_SYSINIT_ORDER_SEVENTH
);

Driver file compilation arguments:

-MMD,
-Wall,
-Wmissing-prototypes,
-Wimplicit-function-declaration,
-Wstrict-prototypes,
-Wnested-externs,
-O2,
-g,
-fdata-sections,
-ffunction-sections,
-mthumb,
-mcpu=cortex-m7,
-mfpu=fpv5-d16,
-mfloat-abi=hard,
-save-temps,
-Icpukit/include,
-I../../../cpukit/include,
-Icpukit/score/cpu/arm/include,
-I../../../cpukit/score/cpu/arm/include,
-Ibsps/include,
-I../../../bsps/include,
-Ibsps/arm/include,
-I../../../bsps/arm/include,
../../../bsps/arm/someplatform/console/console.c,
-c,
-DHAVE_CONFIG_H=1,
-DBOARD_MAINCK_FREQ_HZ=10000000

Application linkage files

/home/dsa/rtems/rsb-6/bin/arm-rtems6-gcc
-g
-mthumb
-mcpu=cortex-m7
-mfpu=fpv5-d16
-mfloat-abi=hard
-DBOARD_MAINCK_FREQ_HZ=10000000
-I/home/dsa/arm-rtems6/someplatform/lib/include
-B/home/dsa/arm-rtems6/someplatform/lib
-qrtems
-Wl,--gc-sections
-Wl,-Map=ecu-app.map,--print-memory-usage,--cref
CMakeFiles/ecu-app.dir/src/main.c.obj
-o ecu-app.elf
-lrtemsbsp
-lrtemscpu

I tried to research this topic and I am not sure if there is a way to prevent this optimisation, so I decided to post it here. I can provide you some more details or perform some tests

Author: Trac Migrate

2022-11-07T15:00:08.000Z

Original author: dsa93

If it is discarded through the linker garbage collection, then you probably use a custom linker command file which doesn’t have the KEEP() directive.

If it is not linked in at all, then your application has no reference to the driver or you didn’t add the driver to the objects list of the executable link.

Questions like this should be discussed on the mailing list.

Author: Trac Migrate

2022-11-07T15:00:32.000Z

Original author: dsa93

  • Resolution set to ~”invalid”

  • Status changed from new to closed

4462 - CID 1437638: Logically dead code

Id

4462

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Gedare Bloom

Created

2021-06-28T23:48:06.000Z

Updated

2022-10-31T15:02:09.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4462

Merges

0

Original author: hgerber

In rtems-fdt.c:

The indicated dead code may have performed some action; that action will never occur.

In rtems_fdt_init_index: Code can never be reached because of a logical contradiction (CWE-561)

159  entries = calloc(num_entries, sizeof(rtems_fdt_index_entry));
cond_notnull: Condition entries, taking true branch. Now the value of entries is not NULL.
160  if (!entries)
161  {
162    return -RTEMS_FDT_ERR_NO_MEMORY;
163  }
164
165  names = calloc(1, total_name_memory);
notnull: At condition entries, the value of entries cannot be NULL.
dead_error_condition: The condition !entries cannot be true.
166  if (!entries)
167  {

CID 1437638 (#1 of 1): Logically dead code (DEADCODE)
dead_error_begin: Execution cannot reach this statement: free(entries);.
168    free(entries);
169    return -RTEMS_FDT_ERR_NO_MEMORY;
170  }

Author: Joel Sherrill

2021-06-29T00:31:27.000Z

Original author: hgerber

Shouldn’t it be freeing the first variable allocated – names?

Author: Trac Migrate

2022-10-03T18:13:45.000Z

Original author: hgerber

In [changeset:”cab00c703525648cb8cd77c0b29aaf80d3f56276/rtems” cab00c70/rtems]:

cpukit/fdt: Check correct allocation

The second allocation check was mistakenly rechecking the first
allocation. It now checks the correct allocation and ensures that names
is not NULL.

Updates #4462

Author: Trac Migrate

2022-10-03T18:14:04.000Z

Original author: hgerber

In [changeset:”584f5bc9afa6ae293cfed58d02aab4ba3c23caa5/rtems” 584f5bc9/rtems]:

cpukit/fdt: Check correct allocation

The second allocation check was mistakenly rechecking the first
allocation. It now checks the correct allocation and ensures that names
is not NULL.

Updates #4462

Author: Gedare Bloom

2022-10-31T15:02:09.000Z

Original author: hgerber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4460 - CID 1437647: Explicit null dereferenced

Id

4460

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Gedare Bloom

Created

2021-06-22T19:57:20.000Z

Updated

2022-10-31T15:00:24.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4460

Merges

0

Original author: hgerber

A null pointer dereference will occur.

In rtems_fdt_unload: Dereference of an explicit null value (CWE-476)

Author: Trac Migrate

2022-10-03T18:13:47.000Z

Original author: hgerber

In [changeset:”05461aa47519c51d3ac5e73337ebeaf395b17589/rtems” 05461aa4/rtems]:

cpukit/fdt: Free index before container

Ensure that the index is released before the structure containing it is
freed and NULLed.

Updates #4460

Author: Trac Migrate

2022-10-03T18:14:06.000Z

Original author: hgerber

In [changeset:”3af84c1beabd129c08d5d1bfcb553c79ad59d462/rtems” 3af84c1/rtems]:

cpukit/fdt: Free index before container

Ensure that the index is released before the structure containing it is
freed and NULLed.

Updates #4460

Author: Gedare Bloom

2022-10-31T14:54:26.000Z

Original author: hgerber

  • Milestone changed from %”6.1” to %”7.1”

Author: Gedare Bloom

2022-10-31T15:00:24.000Z

Original author: hgerber

  • Milestone changed from %”7.1” to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4744 - libdebugger arm backend does not single step

Id

4744

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-10-25T03:11:26.000Z

Updated

2022-10-30T20:52:30.000Z

Milestone

6.1

Labels

cpukit::debugger, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4744

Merges

0

Single stepping with the ARM backend does not cleanly step instructions.

Author: Trac Migrate

2022-10-30T20:52:30.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”18b1a59184339eabef9abf7aed94aebea43bcbad/rtems” 18b1a591/rtems]:

cpukit/libdebugger: Fix stepping on ARM architectures

Closes #4744

4689 - mips/jmr3904 Massive Number of Test Failures

Id

4689

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2022-07-30T16:26:45.000Z

Updated

2022-10-27T22:00:45.000Z

Milestone

6.1

Labels

mips, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4689

Merges

0

jmr3904 last had a good test run in January 2022 (now July). Since then, there has not been one in which more than 1 test pass and I suspect that’s because the one doesn’t expect output.

https://lists.rtems.org/pipermail/build/2022-January/030809.html

This has been tracked down to a gdb simulator bug which has been reported as:

https://sourceware.org/bugzilla/show_bug.cgi?id=29439

Many details follow in the comments.

Author: Joel Sherrill

2022-07-30T18:21:29.000Z

  • Summary changed from mps/jmr3904 Massive Number of Test Failures to mips/jmr3904 Massive Number of Test Failures

Author: Joel Sherrill

2022-07-30T21:13:04.000Z

I checked with the gdb 8 used with RTEMS 5 and the hello.exe runs. The same executable fails to run with the gdb 11.2 used with RTEMS 6 or the gdb 13 used with RTEMS 7.

I will try to narrow it down some more before reporting to the gdb mailing list. At least it doesn’t look like something broken in RTEMS itself.

Author: Trac Migrate

2022-08-01T07:57:50.000Z

This looks like a GDB or other tool issue. Maybe a sign extension bug:

objdump -h build/mips/jmr3904/testsuites/samples/ticker.exe

build/mips/jmr3904/testsuites/samples/ticker.exe:     file format elf32-tradbigmips

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
0 .text         000115a0  88000000  88000000  00001000  2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .rtemsroset   00000070  880115a0  880115a0  000125a0  2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .init         00000048  88011610  88011610  00012610  2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
3 .fini         00000030  88011658  88011658  00012658  2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
4 .ctors        00000008  88011688  88011688  00012688  2**2
CONTENTS, ALLOC, LOAD, DATA
5 .dtors        00000008  88011690  88011690  00012690  2**2
CONTENTS, ALLOC, LOAD, DATA
6 .rdata        00002030  880116a0  880116a0  000126a0  2**4
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .MIPS.abiflags 00000018  880136d0  880136d0  000146d0  2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA, LINK_ONCE_SAME_SIZE
8 .data         000005c0  880136e8  880136e8  000146e8  2**3
CONTENTS, ALLOC, LOAD, DATA
9 .bss          00001410  88013cb0  88013cb0  00014ca8  2**4
ALLOC
10 .noinit       00001310  880150c0  880150c0  00014ca8  2**3
ALLOC
11 .rtemsstack   00004000  880163d0  880163d0  00014ca8  2**4
ALLOC
12 .debug_aranges 00002958  00000000  00000000  00014ca8  2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
13 .debug_info   00109cb1  00000000  00000000  00017600  2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
14 .debug_abbrev 00023397  00000000  00000000  001212b1  2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
15 .debug_line   0003dc56  00000000  00000000  00144648  2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
16 .debug_frame  000048f4  00000000  00000000  001822a0  2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
17 .debug_str    0001160c  00000000  00000000  00186b94  2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
18 .gnu.attributes 00000010  00000000  00000000  001981a0  2**0
CONTENTS, READONLY
19 .comment      00000063  00000000  00000000  001981b0  2**0
CONTENTS, READONLY
20 .debug_line_str 000001be  00000000  00000000  00198213  2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
21 .debug_loclists 00022d89  00000000  00000000  001983d1  2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
22 .debug_rnglists 0000605d  00000000  00000000  001bb15a  2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
~/src/rtems (master) > /opt/rtems/6/bin/mipstx39-rtems6-gdb build/mips/jmr3904/testsuites/samples/ticker.exe
GNU gdb (GDB) 11.2
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=mipstx39-rtems6".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from build/mips/jmr3904/testsuites/samples/ticker.exe...
(gdb) tar sim
Connected to the simulator.
(gdb) load
Loading section .text, size 0x115a0 lma ffffffff88000000
Loading section .rtemsroset, size 0x70 lma ffffffff880115a0
Loading section .init, size 0x48 lma ffffffff88011610
Loading section .fini, size 0x30 lma ffffffff88011658
Loading section .ctors, size 0x8 lma ffffffff88011688
Loading section .dtors, size 0x8 lma ffffffff88011690
Loading section .rdata, size 0x2030 lma ffffffff880116a0
Loading section .MIPS.abiflags, size 0x18 lma ffffffff880136d0
Loading section .data, size 0x5c0 lma ffffffff880136e8
Start address ffffffff88000004
Transfer rate: 648448 bits in <1 sec.
(gdb) r
Starting program: /tmp/sh/b-rtems/mips/jmr3904/testsuites/samples/ticker.exe
mips-core: 4 byte read to unmapped address 0xffffffff88000004 at 0xffffffff88000004

Program received signal SIGBUS, Bus error.
_start () at /home/EB/sebastian_h/src/rtems/bsps/mips/jmr3904/start/start.S:57
57              bal     $LF1

Author: Joel Sherrill

2022-08-01T19:32:17.000Z

I did a git bisect after narrowing down which release branches it worked on. That let me track it down to a commit based on git bisect. I will file a gdb ticket once I get my login working there again.

$ git bisect log git bisect start

git bisect good ce35d7163e779b1321058b22f005c70ce1524b25

git bisect bad ef6ec3333e80e39ce207c6c5d5628bdd5402111d

git bisect good 8087c3fa8b5d695e3e29e69d70d0b35ec902ac59

git bisect skip d3dacd0fafba473fd42fdf3ca86fd3203db28ae8

git bisect skip 40d07d07d051308626f6079fa6d1598fafb445c7

git bisect good a4eba6087d4cec81f8b41477b4da56ff87b88e91

git bisect good 546b77fe78bb366bbec3c708ac371e2f553bbdae

git bisect good 2e8adb6448c78fdb748c13c7859b68f3e7984c4d

git bisect bad 50a6759f0f541ea965c7330bfbfe335cb8d66af8

git bisect good c572c4580e774f1ec0115948d31dcf8a5b04878e

git bisect good 209f108f73888741bf31d03d35722b6e0b521ec8

git bisect bad 57a922a59801a9e7684f9661a65fa2ed5833d65d

git bisect good 162c6aef1f3a96923e75f0b4ef430822d273465c

git bisect good 07490bf81d2fc91676eb71b77e07f80f20fc1b54

git bisect bad ce3ec98acd2f344ae911de3f41dd2e3c6c68b141

git bisect good c30420d82a0b743285cf8333f90ca85274632714

git bisect bad bc56166f66244a9e3abc62c7bc595a6f800f23b0

Author: Joel Sherrill

2022-08-01T19:35:18.000Z

Stripped executable which produces the failure

Author: Joel Sherrill

2022-08-01T19:38:10.000Z

FYI you can’t run jmr3904 executables with just _tar sim_, you need to use _tar sim –board=jmr3904_ in gdb or you can use the run command. Here’s an example with an older gdb/run

$  ~/rtems-work/tools/5/bin/mipstx39-rtems5-run --board=jmr3904 /tmp/hello.exe


*** BEGIN OF TEST HELLO WORLD ***
....

Author: Joel Sherrill

2022-08-02T20:56:23.000Z

  • Description changed

jmr3904 last had a good test run in January 2022 (now July). Since then, there has not been one in which more than 1 test pass and I suspect that's because the one doesn't expect output.

https://lists.rtems.org/pipermail/build/2022-January/030809.html
+
+ This has been tracked down to a gdb simulator bug which has been reported as:
+
+ https://sourceware.org/bugzilla/show_bug.cgi?id=29439
+
+ Many details follow in the comments.

Author: Joel Sherrill

2022-10-24T13:38:27.000Z

Fix pushed to gdb repository and confirmed to work with ticker.exe.

Author: Trac Migrate

2022-10-27T22:00:45.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”cb8821e93378118e78a9cb25859789b126bd5761/rtems-source-builder” cb8821e/rtems-source-builder]:

Update mipstx39 gdb version to pick up fix to make simulator work

Closes #4689.

4746 - Armv7-M SysTick clock driver uses off by one reload value

Id

4746

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-10-26T09:31:03.000Z

Updated

2022-10-26T09:36:01.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4746

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2022-10-26T09:36:01.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”1eae6f24fec6c3ab00d8f5d0152d2a5b57ea4589/rtems” 1eae6f2/rtems]:

bsps/arm: fix Cortex-M7 systick reload value

- see ARM DUI 0646C Arm Cortex-M7 Devices Generic User Guide
"The RELOAD value is calculated according to its use.
For example, to generate a multi-shot timer with a period
of N processor clock cycles, use a RELOAD value of N-1.
If the SysTick interrupt is required every 100 clock pulses,
set RELOAD to 99."
- see routines used in CMSIS project for reference

Close #4746.

2871 - Use bibtex references thoughout the documentation

Id

2871

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2017-01-18T10:25:55.000Z

Updated

2022-10-25T22:22:37.000Z

Milestone

6.1

Labels

doc, priority::normal, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2871

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

Author: Joel Sherrill

2021-12-17T17:00:38.000Z

Original author: sebastian.huber

Has this been done? We don’t have that may references.

Author: Joel Sherrill

2022-10-25T22:22:37.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Classic API Guide has a generated references section now

4730 - rtems-source-builder doesn’t generate tar archives for all packages any more

Id

4730

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2022-09-29T07:49:53.000Z

Updated

2022-09-30T21:07:06.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4730

Merges

0

Original author: Christian Mauderer

Like discussed in the following mailing list thread, the rtems-source-builder doesn’t generate tar archives for all packages anymore:

https://lists.rtems.org/pipermail/devel/2022-September/073369.html

All RTEMS tools build sets 6/rtems-* work fine except for 6/rtems-microblaze. devel/qemu and devel/dtc do not generate a tar archive. If the patch

https://git.rtems.org/rtems-source-builder/commit/?id=6205068c5a429e9ee1b471f4c8a3a119bb6757b2

is reverted, the tar files are generated just like before.

Author: Trac Migrate

2022-09-29T11:40:47.000Z

Original author: Christian Mauderer

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”336f15cc754d994b1988c23da7137b67c454ec31/rtems-source-builder” 336f15c/rtems-source-builder]:

sb/set-builder: Fix staging and tar file generation with a single config build

Closes #4730

Author: Chris Johns

2022-09-30T02:25:24.000Z

Original author: Christian Mauderer

  • Milestone set to %”6.1”

  • Version set to ~”6”

This has broken staging for multiple packages in a top level buildset.

Author: Chris Johns

2022-09-30T20:23:01.000Z

Original author: Christian Mauderer

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

The RSB is now not installing packages or internally staging them.

Author: Trac Migrate

2022-09-30T21:07:06.000Z

Original author: Christian Mauderer

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”953b8391c0dc7298005347429912856d4e08517e/rtems-source-builder” 953b839/rtems-source-builder]:

sb/set-bulder: Fix installing builds when a single buildset

- Always stage a build

- Install if installable and outter most buildset instance

Closes #4730

4726 - RSB decode exception stops build

Id

4726

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-09-26T05:38:51.000Z

Updated

2022-09-30T21:07:04.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4726

Merges

0

Building in a Rocky VM on FB 12 with 5 I got:

Traceback (most recent call last):
File "/usr/lib64/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/lib64/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/opt/work/chris/rtems/rsb/rtems-source-builder.git/source-builder/sb/execute.py", line 204, in _readthread
data = data.decode(sys.stdout.encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 4095: unexpected end of data

If the data is corrupted or broken things stop. Fix to attempt to keep going.

This issue also effect rtems-tools.

Author: Trac Migrate

2022-09-29T09:18:56.000Z

I have seen similar errors in special build environments. These two are from March 2022, RSB for RTEMS 6 (note the slight difference in the error message in the last line):

GIT BUILD HEAD: 4cdec141b1320a1e5a04b898e13e04c43ec233c3 ubuntu-nios2
DevTools: Build #124 ubuntu-nios2 (Mar 9, 2022, 12:38:59
building: nios2-rtems6-gcc-0f001dd-newlib-85f2dca-x86_64-linux-gnu-1
21:08:10  Exception in thread _stderr[]:
21:08:10  Traceback (most recent call last):
21:08:10    File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
21:08:10      self.run()
21:08:10    File "/usr/lib/python3.8/threading.py", line 870, in run
21:08:10      self._target(*self._args, **self._kwargs)
21:08:10    File "/home/minna/src/rtems-source-builder/source-builder/sb/execute.py", line 204, in _readthread
21:08:10      data = data.decode(sys.stdout.encoding)
21:08:10  UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 4095: unexpected end of data
GIT_HEAD="6fe98f91d94bbf965bc0e78015585ff8823d17bd
BUILD_ACTUAL_RSB_OPTIONS="--with_ada --with_cxx --with_objc --jobs=12"
building: v850-rtems6-gcc-0f001dd-newlib-d88cbd0-x86_64-linux-gnu-1
18:55:36  Exception in thread _stderr[]:
18:55:36  Traceback (most recent call last):
18:55:36    File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
18:55:36      self.run()
18:55:36    File "/usr/lib/python3.8/threading.py", line 870, in run
18:55:36      self._target(*self._args, **self._kwargs)
18:55:36    File "/home/minna/src/rtems-source-builder/source-builder/sb/execute.py", line 204, in _readthread
18:55:36      data = data.decode(sys.stdout.encoding)
18:55:36  UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 4094-4095: unexpected end of data

Setting the _locale_ to any “only-one-byte-unicode” linke LANG=en_US.iso885915 when invoking the source-builder avoids the error.

There is most likely no error in the input data but the loop decoding it has probably a bug. Unicode code points encoded in UTF-8 can be up to 4 bytes long. The input data is read by source-builder/sb/execute.py in blocks of 4096 bytes. I guess it cuts through a multi-byte code point with the first byte(s) at the end of the current block and the rest of the bytes in the beginning of the next block. Note that the error always points to the end of the block position 4095 or position 4094-4095. Moreover, byte 0xe2 indicates that this is not the last byte of the code point (0xe2 is the first byte of a 3 byte code point?).

I know in Linux there exist some GNU Unicode decoding function which keeps a state between consecutive calls. This function is intended for use in cases where not the complete text can be decoded at once. I guess there is such a function for Python too. An alternative may be to read and decode the input in one large piece.

Author: Chris Johns

2022-09-29T09:26:56.000Z

Thanks for input and feedback. I agree with what you are saying.

The input can be in hundreds of mega so that is not practical to hold it until the end. This code is a performance hot spot so what happens needs to be kept as simple as possible.

Would you be able to make a buffer of data I could test solution with?

Author: Chris Johns

2022-09-29T09:34:21.000Z

It looks like using Python codecs with streaming is the way to handle this.

Again thank you for the insights in how the data is handled.

Author: Trac Migrate

2022-09-29T10:00:33.000Z

I case this helps, this script

  1. writes 4093 spaces (note the field with is 4094)

  2. a single “A” character

  3. A 4 byte unicode

  4. A new line

env LANG=en_US.UTF-8 printf '%4094c\\U0001F0A1\\n' A >file.txt

You can visualize it:

$ wc file.txt
1    1 4099 file.txt
$ hexdump -C file.txt
00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000ff0  20 20 20 20 20 20 20 20  20 20 20 20 20 41 f0 9f  |             A..|
00001000  82 a1 0a                                          |...|
00001003

Author: Chris Johns

2022-09-29T10:22:52.000Z

Thanks. I have a patch I am testing. It uses the codecs.getincrementaldecoder() factory function to create a decoder that hold state across decodes.

Author: Chris Johns

2022-09-29T10:23:27.000Z

  • Description changed

Building in a Rocky VM on FB 12 with `5` I got:
{{{
Traceback (most recent call last):
File "/usr/lib64/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/lib64/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/opt/work/chris/rtems/rsb/rtems-source-builder.git/source-builder/sb/execute.py", line 204, in _readthread
data = data.decode(sys.stdout.encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 4095: unexpected end of data
}}}
If the data is corrupted or broken things stop. Fix to attempt to keep going.
+
+ This issue also effect `rtems-tools`.

Author: Chris Johns

2022-09-29T10:46:08.000Z

I am testing with this code:

import codecs
import sys
bad = True
if bad:
data = ''
with open('file.txt', 'rb') as f:
while True:
block = f.read(4096)
data += block.decode(sys.stdout.encoding)
if len(block) < 4096:
break
print(len(data), len(block))
else:
decoder = codecs.getincrementaldecoder(sys.stdout.encoding)()
data = ''
with open('file.txt', 'rb') as f:
while True:
block = f.read(4096)
data += decoder.decode(block)
if len(block) < 4096:
break
print(len(data), len(block))

and I cannot generate a failure with bad = True.

Author: Trac Migrate

2022-09-29T11:05:33.000Z

When I paste your code in f.py with bad = True I get the error:

$ python f.py
Traceback (most recent call last):
File "f.py", line 9, in <module>
data += block.decode(sys.stdout.encoding)
File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 4094-4095: unexpected end of data

with bad = False it works:

$ python f.py
(4096, 3)

I tested on an OpenSUSE 15.4, file.txt produced by the line from comment 4. locale prints

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE=POSIX
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Author: Chris Johns

2022-09-29T11:12:41.000Z

Thanks for testing. I think the patch I posted to the devel list should fix this. If you could be so kind and review the patch I would appreciate it.

Author: Trac Migrate

2022-09-29T20:56:03.000Z

In [changeset:”d7fb57fa9fae3071793a57d92ff8e0f4adb8b819/rtems-source-builder” d7fb57f/rtems-source-builder]:

sb/execute: Use a decoder that maintains state aross blocks

Update #4726

Author: Chris Johns

2022-09-30T02:27:15.000Z

The change has broken a dry-run. There is no stdout and so no encoder. The incremental decoder needs an encoding.

Author: Trac Migrate

2022-09-30T21:07:04.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e04c84191b790b7bddd179bc67337e4205b61f8e/rtems-source-builder” e04c841/rtems-source-builder]:

sb/execute: Fix incremental decoder with --dry-run

Closes #4726

4732 - Set top in RSB version.py

Id

4732

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-09-29T08:15:17.000Z

Updated

2022-09-29T23:06:09.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4732

Merges

0

Setting the top lets the code be used in deployment to get the version of the RSB being used. An RSB version lets a user track the exact tools being built and version numbers reported by the tools can match the packaged build, eg an rpm name and version info.

Author: Chris Johns

2022-09-29T23:06:09.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

https://git.rtems.org/rtems-source-builder/commit/?id=cfed1659a297cb0f95a03e053345962097aa02bf

4202 - Add BSP for ARM Fixed Virtual Platform with a Cortex-R52

Id

4202

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-12-09T13:31:40.000Z

Updated

2022-09-22T05:55:24.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4202

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-12-09T16:32:14.000Z

Original author: sebastian.huber

In [changeset:”9ce47a52a49cadd3505576e0462fb908f40be0b7/rtems” 9ce47a5/rtems]:

bsps: Add SMP support to ARM GICv3

Update #4202.

Author: Trac Migrate

2020-12-10T08:08:19.000Z

Original author: sebastian.huber

In [changeset:”9955487de6b92a08f932c8e9ea3a8a130a2ae040/rtems” 9955487d/rtems]:

arm: Support Armv8 in <rtems/score/arm.h>

Update #4202.

Author: Trac Migrate

2020-12-10T08:08:22.000Z

Original author: sebastian.huber

In [changeset:”e68827e1d9453ca47f95bafe0aac45fc4f7b8e6d/rtems” e68827e/rtems]:

arm/cache-cp15: Support Armv8

Update #4202.

Author: Trac Migrate

2020-12-10T08:08:26.000Z

Original author: sebastian.huber

In [changeset:”5efa15b49d47ace494410e423fc69213d9c2a4e9/rtems” 5efa15b/rtems]:

bsps/arm: Unify ARM Generic Timer options

Update #4202.

Author: Trac Migrate

2020-12-10T08:08:29.000Z

Original author: sebastian.huber

In [changeset:”bd7bef528db094914cefef040ddca6c5a0e963d1/rtems” bd7bef52/rtems]:

bsps/arm: Support system level ARM Generic Timer

Update #4202.

Author: Trac Migrate

2020-12-10T08:08:32.000Z

Original author: sebastian.huber

In [changeset:”617aeaf572777886fd5dd11b1d8a283fd9865201/rtems” 617aeaf5/rtems]:

bsps/arm: Move BSP_START_IN_HYP_SUPPORT option

Clarify documentation.

Update #4202.

Author: Trac Migrate

2020-12-10T15:19:15.000Z

Original author: sebastian.huber

In [changeset:”b6925e10c8a7990ef9d9649e0f13ac0cbdd41071/rtems” b6925e1/rtems]:

bsps: Fix GICv3 arm_gic_trigger_sgi()

Use the targets parameter to determine the targets of the SGI.  Change
targets parameter type to 32-bit to ease the parameter passing.  GICv3
supports up to 16 targets.

Update #4202.

Author: Trac Migrate

2020-12-10T15:19:18.000Z

Original author: sebastian.huber

In [changeset:”105e52032e524873924ddec0167535a33f8cd9f7/rtems” 105e520/rtems]:

bsps: Remove ARM GIC SGI target filter

Remove the target filter for software-generated interrupts since this
feature is not supported by the affinity routing in GICv3.

Update #4202.

Author: Trac Migrate

2020-12-17T14:32:46.000Z

Original author: sebastian.huber

In [changeset:”747fb65c6e5921c39c324c6e86ab2f2d87b47ee0/rtems” 747fb65/rtems]:

bsps: Add GICv3 arm_gic_irq_processor_count()

Update #4202.

Author: Trac Migrate

2020-12-17T14:32:50.000Z

Original author: sebastian.huber

In [changeset:”b5aceef5d921de3d146b45c20f6f8aa7e9413717/rtems” b5aceef/rtems]:

bsps: Remove gicvx_interrupt_dispatch()

Avoid one level of indirection.

Update #4202.

Author: Trac Migrate

2020-12-17T14:32:53.000Z

Original author: sebastian.huber

In [changeset:”a299c4feef70318c5098cb1d15557b37ac253d17/rtems” a299c4fe/rtems]:

arm: Optimize arm_interrupt_disable()

Update #4202.

Author: Trac Migrate

2020-12-23T09:26:50.000Z

Original author: sebastian.huber

In [changeset:”be5eee575b166f8f351cec0a1e988a6bc8cbd2bb/rtems” be5eee57/rtems]:

libdebugger: Fix for Armv8-R

This architecture variant has no MMU.

Update #4202.

Author: Trac Migrate

2020-12-23T09:26:54.000Z

Original author: sebastian.huber

In [changeset:”39ef7e549669c657b21128ad2e10bc65e459c019/rtems” 39ef7e5/rtems]:

bsps: Fix includes

Update #4202.

Author: Trac Migrate

2020-12-23T09:26:57.000Z

Original author: sebastian.huber

In [changeset:”6944cd10e6bdc450d66ab245bf0620979fba8f71/rtems” 6944cd10/rtems]:

arm: Add header file for AArch32 System Registers

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:00.000Z

Original author: sebastian.huber

In [changeset:”854ea2b4d8a32753da9afe8770be191cd0b4ade8/rtems” 854ea2b/rtems]:

arm: Add support for Arm PMSAv8-32

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:03.000Z

Original author: sebastian.huber

In [changeset:”272534eb725f2486b7a32b39d998202a101bd36e/rtems” 272534e/rtems]:

bsps/arm: Set VBAR in start.S

Set the VBAR to the vector table in the start section before
bsp_start_hook_0() is called to earlier handle exceptions in RTEMS.

Set the VBAR to the normal vector table in start.S for the main
processor.  Secondary processors set it in bsp_start_hook_0().

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:07.000Z

Original author: sebastian.huber

In [changeset:”76a1a5378031e56d29d16c713aee73c6747c3e61/rtems” 76a1a53/rtems]:

bsps/arm: Invalidate branch predictors earlier

Make sure the branch predictors are invalidated before the first branch
is executed.

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:10.000Z

Original author: sebastian.huber

In [changeset:”46a3c0446f6a18ca1fa9e6995504bc7291d66495/rtems” 46a3c04/rtems]:

bsps/arm: Remove optional start hook arguments

The start hook arguments are not used by a BSP.  Removing them avoids
the need for a stack during the very early system initialization.

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:13.000Z

Original author: sebastian.huber

In [changeset:”b32fd22732ea9344bd7573c767573a3ce148c3f7/rtems” b32fd227/rtems]:

bsps/arm: Add arm-data-cache-loop-set-way.h

This makes it possible to reuse this loop.

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:17.000Z

Original author: sebastian.huber

In [changeset:”e164df5e33608576443b4cd5923a9046358ee773/rtems” e164df5e/rtems]:

bsps/arm: Clear SCTLR[M, I, A, C] in start.S

Initialize the data and unified cache levels.  Invalidate the
instruction cache levels.

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:20.000Z

Original author: sebastian.huber

In [changeset:”23d9223ad3b67156b99d828457d0ebd74687cf71/rtems” 23d9223a/rtems]:

bsps/arm: Invalidate TLB in start.S

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:23.000Z

Original author: sebastian.huber

In [changeset:”9f3a08ef2de99714d679aecf6b1ecb4e11869424/rtems” 9f3a08e/rtems]:

bsps: Use header file for GIC architecture support

This avoids a function call overhead in the interrupt dispatching.

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:27.000Z

Original author: sebastian.huber

In [changeset:”016bcb3f9d82a0c02aab87326ce94bee0365a956/rtems” 016bcb3/rtems]:

bsps/arm: Rely on initialized vector table

The arm_cp15_set_exception_handler() is a complicated function which
should be avoided if possible.

Update #4202.

Author: Trac Migrate

2020-12-23T09:27:30.000Z

Original author: sebastian.huber

In [changeset:”81c7f5be92803f96c39b5325006071771709125b/rtems” 81c7f5be/rtems]:

arm/fvp: New BSP

This BSP supports the Arm Fixed Virtual Platform.  Only the Cortex-R52
processor configuration is supported by the BSP.  It should be easy to
add support for other variants if needed.

Update #4202.

Author: Trac Migrate

2021-01-04T05:12:11.000Z

Original author: sebastian.huber

In [changeset:”90342feb4dd63d188ce945adfb0a7694a42a65cd/rtems-tools” 90342fe/rtems-tools]:

tester: Add support for arm/fvp_cortex_r52 BSP

Update #4202.

Author: Trac Migrate

2021-01-04T09:59:30.000Z

Original author: sebastian.huber

In [changeset:”1e9c608cb2fb27f4a4fd6c7f2cb4c1c1ce42cf62/rtems-source-builder” 1e9c608/rtems-source-builder]:

6/7: Update to the latest rtems-tools

Update #4202.

Author: Trac Migrate

2021-06-07T07:41:26.000Z

Original author: sebastian.huber

In [changeset:”2d1c494fa86904544e4faa259289873a828b6a89/rtems” 2d1c494f/rtems]:

arm/fvp: Remove unused GICv2 BSP option

Update #4202.

Author: Trac Migrate

2021-06-07T07:41:29.000Z

Original author: sebastian.huber

In [changeset:”55ce66ca7302cad0175fb6dc61df361659800b3e/rtems” 55ce66ca/rtems]:

arm/fvp: Fix integer from pointer without a cast

Update #4202.

Author: Trac Migrate

2021-06-16T15:49:05.000Z

Original author: sebastian.huber

In [changeset:”f89a527336f12202b16d2534ea6a401703c97e9f/rtems” f89a527/rtems]:

arm: Fix parameter use in AARCH32_PMSA_MEM_ATTR()

Update #4202.

Author: Trac Migrate

2021-06-29T12:59:30.000Z

Original author: sebastian.huber

In [changeset:”13b18d129e8f8ee92360ab5f27f1e71a3ec5016c/rtems” 13b18d12/rtems]:

arm: Disable alignment check in PMSA init

Disable the alignment check through SCTLR[A] in
_AArch32_PMSA_Initialize().

Update #4202.

Author: Trac Migrate

2021-06-29T12:59:34.000Z

Original author: sebastian.huber

In [changeset:”b35768002624a2e7c075da53a8f4aacc7e1f21bf/rtems” b357680/rtems]:

arm: Fix AArch32 memory attribute defines

Update #4202.

Author: Trac Migrate

2021-06-29T12:59:37.000Z

Original author: sebastian.huber

In [changeset:”9b84adb4aa7bfbd39cf8417863eae559426bfedb/rtems” 9b84adb/rtems]:

arm: Fix AARCH32_PMSA_ATTR_XN value

Update #4202.

Author: Trac Migrate

2021-06-29T12:59:41.000Z

Original author: sebastian.huber

In [changeset:”bb9a4b816b7efaab4e1e45e4c1ea1d81f6c8a21e/rtems” bb9a4b8/rtems]:

arm: For AArch32 use non-shareable memory

The Cortex-R52 does not support cache coherency and the shareable memory
attribute.  If a region is configured to be shareable, then it falls
back to use non-cacheable memory.

Update #4202.

Author: Trac Migrate

2021-11-30T07:11:55.000Z

Original author: sebastian.huber

In [changeset:”7fec89e24d5c5874599f4caacfdba43d42f25f7a/rtems” 7fec89e2/rtems]:

arm: Fix AARCH32_PMSA_DATA_READ_WRITE_CACHED

Fix definition of AARCH32_PMSA_DATA_READ_WRITE_CACHED.  Since
AARCH32_PMSA_ATTR_AP_EL1_RW_EL0_NO is zero, this fix is only cosmetic.

Update #4202.

Author: Trac Migrate

2021-11-30T07:11:59.000Z

Original author: sebastian.huber

In [changeset:”73305a1044bcf7289bbfa8cebc925f06972f44cb/rtems” 73305a1/rtems]:

arm: Add AARCH32_PMSA_DATA_READ_WRITE_DEFAULT

Add default memory attributes for read-write data.  The actual
attributes depend on the RTEMS_SMP build option.

Update #4202.

Author: Trac Migrate

2022-06-08T07:04:47.000Z

Original author: sebastian.huber

In [changeset:”0b9497a6dd1cb89e9b8100572554d31598481f9f/rtems” 0b9497a/rtems]:

arm: Fix PMSA region mapping with 0x0 end address

A section may span up to the end of the address range.  In this case the
end address is zero.  Use the base address to check if a region should
be before another region.

Update #4202.

Author: Trac Migrate

2022-06-08T07:04:49.000Z

Original author: sebastian.huber

In [changeset:”c93f0f01e5a260df008b568b74ca8bb7677e1bf5/rtems” c93f0f01/rtems]:

arm: Fix PMSA regions for contiguous sections

Sections with identical attributes may be contiguous with a respective
begin and end address which is not on a minimum region boundary.  The
begin address is aligned down to the region base address.  The end
address is aligned up to the region end address.  Account for this in
the check for contiguous sections.

Update #4202.

Author: Trac Migrate

2022-09-09T05:41:43.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”13be9a2b282e6fd690512d4d75b5767fc69bbdb3/rtems-docs” 13be9a2/rtems-docs]:

user: Document arm/fvp BSP

Close #4202.

Author: Trac Migrate

2022-09-22T05:55:24.000Z

Original author: sebastian.huber

In [changeset:”f6e7c627059e22da2f5ffb7853ef73b1200a1fa9/rtems” f6e7c627/rtems]:

bsps/arm: Mark functions in start.S

Add the function type to _start() and bsp_start_hook_0_done() so that
the linker can generate ARM/Thumb interworking code.

Update #4202.

4710 - RSB does not expand dir type macros correctly

Id

4710

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-08-28T22:34:02.000Z

Updated

2022-09-09T01:32:29.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4710

Merges

0

The expansion of the dir type macros is not done correctly. Macro replacement only appends the file part to the last element of a path list. For example:

%{mydir}/abc.cfg

with a path of:

%define mydir x:y:z

results in:

x:y:z/abc.cfg

The config load code handles this but it is wrong. The expansion of dir type macro variables should handle path separators (:) so you get:

x/abc.cfg:y/abc.cfg:z.abc.cfg

This has not been a problem in the RSB because the _configdir has only had two elements and the last one only ever had subdirectories.

Author: Trac Migrate

2022-09-09T01:32:29.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”18b4507fc5721fdd9d6bc1081a03bc5080b7055f/rtems-source-builder” 18b4507/rtems-source-builder]:

sb/config: Correctly handle multiple config paths

- Add rtems/config to the config directories searched to better
support deployment

- Correctly expand the configdir and path searchs

Close #4710

4108 - Review minimum and ensure it really is a minimum configuration

Id

4108

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-01T16:25:45.000Z

Updated

2022-09-08T14:29:37.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4108

Merges

0

Does minimum actually reflect what you think is the smallest possible configuration now? That as always the test’s purpose – to have a single that was the smallest we thought we could produce. It seems all your changes that it needs a review for tweaks to the configuration.

Inspecting the size of this test should tell you the smallest executable possible on this BSP with the current configuration settings.

There is a version in rtems-examples/misc which will either need to be synchronized or deleted.

This needs to be checked on 5 and 6.

Author: Joel Sherrill

2020-10-01T16:25:56.000Z

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2020-10-01T17:08:50.000Z

  • Milestone changed from %”5.2” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Trac Migrate

2022-09-08T14:29:37.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”120c857ea15d03cae777b0e27364aa4cb04a4e0f/rtems” 120c857e/rtems]:

minimum: Do not use unified work areas

The CONFIGURE_UNIFIED_WORK_AREAS option pulls in a system initialization
handler which initializes the unified heap.

Close #4108.

4712 - powerpc: Add AltiVec VRSAVE support

Id

4712

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-09-01T08:09:42.000Z

Updated

2022-09-08T13:45:03.000Z

Milestone

6.1

Labels

arch:powerpc, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4712

Merges

0

Original author: sebastian.huber

The VRSAVE feature of the Altivec unit can be used to reduce the amount of Altivec registers which need to be saved/restored during interrupt processing and context switches.

Author: Trac Migrate

2022-09-08T13:21:34.000Z

Original author: sebastian.huber

In [changeset:”be84706024958fc15032e2a077aecf6763b90ed5/rtems-source-builder” be84706/rtems-source-builder]:

6: Update GCC 10 and 12

Update #4712.

Author: Trac Migrate

2022-09-08T13:45:01.000Z

Original author: sebastian.huber

In [changeset:”d907c2294a438f07099730b88ff88a659e940de7/rtems” d907c22/rtems]:

powerpc: Add support for VRSAVE

The VRSAVE feature of the Altivec unit can be used to reduce the amount of
Altivec registers which need to be saved/restored during interrupt processing
and context switches.

In order to use the VRSAVE optimization a corresponding multilib (-mvrsave) is
required, see GCC configuration.  The -mvrsave option must be added to the
ABI_FLAGS of the BSP.

Currently only the -mcpu=e6500 based QorIQ BSP support this optimization.

Update #4712.

Author: Trac Migrate

2022-09-08T13:45:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”52d566c864977418ad33d3bb2658aa2357ad893c/rtems” 52d566c/rtems]:

bsp/qoriq: Enable VRSAVE optimization

Close #4712.

3897 - Dhcpcd does not daemonize

Id

3897

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-03-04T10:29:59.000Z

Updated

2022-09-08T08:15:06.000Z

Milestone

6.1

Labels

network::libbsd, priority::high, priority::normal, resolution::wontfix, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3897

Merges

0

Original author: ionut.vilsan

Background: the DCHP client is started using the rc.conf script. In the background a new task dedicated to the dhcp client is created and then the dhcp client takes over this task. This works fine, we can get IP form the dhcp server and then take part in network communication based on IPv4.

Problem: The dhcp client cannot be stopped any time. Any shell commands will never reach the dhcpcd task, but rather it will instantiate a new dhcpd task which will take over the current task. E.g: in rtems console if you enter dhcpd -x, instead of killing the dhcpcd task a new dhcpcd task will be created which will run from the console. This means that the console cannot be used anymore.

There seems to be noway to communicate with the already created dhcpcd task.

I took a look over the dhcpcd in libbsd code and some of the features are turned off. Can someone give more details regarding this ?

Author: Trac Migrate

2020-04-03T15:01:19.000Z

Original author: ionut.vilsan

  • Priority changed from ~”high” to ~”normal”

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

The dhcpcd is not intended to be started via a shell command. Maybe we should remove the shell command.

Author: Chris Johns

2020-04-14T22:47:44.000Z

Original author: ionut.vilsan

  • Milestone set to %”6.1”

  • Resolution ~”wontfix” deleted

  • Status changed from closed to reopened

  • Version set to ~”6”

Replying to Sebastian Huber:

The dhcpcd is not intended to be started via a shell command. Maybe we should remove the shell command.

Reopening this bug. This is either a bug in dhcpcd (my view) or the rc.conf support needs to be enhanced to correctly support it. The rc.conf model uses working commands that are wrapped. On FreeBSD the wrapping is using shell scripts and on RTEMS it is a C framework. Another solution is to enhance the shell to push a command into the back ground.

I have stated before now and I will repeat what I have said, rc.conf is the documented method to use libbsd. I know of no other documented method and I am reluctant to expose and support other methods built on RTEMS internal specifics. If other methods exist and are in use then it is those users who are at risk of things changing and breaking on them. We fell into this hole in the legacy stack and I do not wish to repeat doing that here.

Author: Joel Sherrill

2020-04-14T23:51:19.000Z

Original author: ionut.vilsan

Can you file a new ticket for a general solution to spawning a daemon that this ticket will use? Reference this ticket in that one.

Author: Trac Migrate

2020-04-15T04:45:06.000Z

Original author: ionut.vilsan

The RTEMS shell and the RTEMS rc.conf parser are two different things. This bug here is about controlling (e.g. stopping) the dhcpcd from the RTEMS shell. The dhcpcd is intended to be started at most once and then run forever.

Author: Chris Johns

2020-04-16T03:32:27.000Z

Original author: ionut.vilsan

Replying to Sebastian Huber:

The RTEMS shell and the RTEMS rc.conf parser are two different things.

Is the rc.conf support for dhcpcd using the shell? I am not sure and I have not looked.

This bug here is about controlling (e.g. stopping) the dhcpcd from the RTEMS shell. The dhcpcd is intended to be started at most once and then run forever.

Is this related to our implementation or the upstream sources?

Author: Trac Migrate

2022-09-08T08:15:06.000Z

Original author: ionut.vilsan

  • Resolution set to ~”wontfix”

  • Status changed from reopened to closed

The dhcpcd is intended to be started at most once and then run forever. This is a limitation of the libbsd port and related to the fact that RTEMS is a single process operating system.

3924 - Test the application configuration options

Id

3924

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-04-02T08:35:24.000Z

Updated

2022-09-08T08:09:59.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::project, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3924

Merges

0

Original author: sebastian.huber

There exists a specification of the application configuration options (work in progress) here:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec/acfg/opt/

For the RTEMS Qualification project we have to test the implementation according to the specification (validation and unit tests).

A test plan needs to be developed. The tests should use the RTEMS Test Framework. Add C preprocessor error tests to the new build system, e.g. test #error and #warning directives.

Author: Trac Migrate

2020-04-02T08:39:09.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

There exists a specification of the application configuration options (work in progress) here:

https://git.rtems.org/sebh/rtems-qual.git/tree/spec/acfg/opt/

For the RTEMS Qualification project we have to test the implementation according to the specification (validation and unit tests).

- A test plan needs to be developed.  The tests should use the RTEMS Testing Framework.
+ A test plan needs to be developed.  The tests should use the RTEMS Test Framework. Add C preprocessor error tests to the new build system, e.g. test #error and #warning directives.

Author: Trac Migrate

2022-09-08T08:09:59.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

The pre-qualified application configurations are fully specified and validiated.

4670 - Add option to build RTEMS with coverage instrumentation

Id

4670

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-06-28T06:38:31.000Z

Updated

2022-09-08T06:27:10.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4670

Merges

0

Original author: sebastian.huber

Add build options to build RTEMS with coverage instrumentation. Dump the gcov information after each test.

Author: Trac Migrate

2022-07-04T06:24:59.000Z

Original author: sebastian.huber

In [changeset:”857fb17db1c467ce72fd4a6e410a653b26e31c34/rtems” 857fb17/rtems]:

build: Add more flags to BuildItemContext

Add cppflags, cflags, and cxxflags to BuildItemContext.  This allows to
propagate the flags from parent items to child items.

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:03.000Z

Original author: sebastian.huber

In [changeset:”4aeebaee5b80dd2eeb8686f0dd2fa2ec3ad38b1c/rtems” 4aeebae/rtems]:

build: Fix identifier pattern

Allow upper case characters in identifiers.

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:06.000Z

Original author: sebastian.huber

In [changeset:”0bb7b84698e380b86896a3163371648e88f2af21/rtems” 0bb7b84/rtems]:

build: Improve value substitution

The waf build system uses lists for tool flags.  The build items may use
variable substitution.  Add the ability to use the variable substitution in
lists.  For example:

MORE_FLAGS = ['-more', '-flags']

flags:
- -some-flag
- ${MORE_FLAGS}

Before this change, the ${MORE_FLAGS} was substituted to "-more -flags".  This
would be passed by waf as a single command line argument to the tool.

After this change, the ${MORE_FLAGS} list extends the flags list:

flags = ['-some-flag', '-more', '-flags']

This list extension is performed if a list element consists of exactly one
variable.

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:08.000Z

Original author: sebastian.huber

In [changeset:”42da08dd9d0fa34b047625e570049e2546e17acf/rtems” 42da08d/rtems]:

build: Add cppflags, cflags, cxxflags to groups

Propagate the group defined cppflags, cflags, and cxxflags from parent groups
to child items through the build item context.

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:10.000Z

Original author: sebastian.huber

In [changeset:”a0aaa394b68727d204904b59514cb0f90840ba6f/rtems” a0aaa39/rtems]:

build: Fix optimization flags definition order

OPTIMIZATION_FLAGS must be defined before /build/bsp/bspopts is processed.

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:12.000Z

Original author: sebastian.huber

In [changeset:”a13047ca0e965136815a77ee2651d5e7821b59f7/rtems” a13047c/rtems]:

build: Allow separate optimization flags

Allow separate optimization flags for the BSP, cpukit, and tests.  For example,
the BSP and cpukit may be built without optimization if coverage
instrumentation is enabled, however, the tests may still use optimization.

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:15.000Z

Original author: sebastian.huber

In [changeset:”2bc233fe585e755f62086e13b9bbbfe1bad31a1c/rtems” 2bc233fe/rtems]:

gcov: Add fork(), etc. gcov wrappers

The compiler wraps fork(), etc. system calls if coverage generation is enabled.
These functions must be provided by the system.  For RTEMS, they just return an
error status.

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:17.000Z

Original author: sebastian.huber

In [changeset:”4f87edbb75865cb92efd3166d1faeb5fd720a47f/rtems” 4f87edb/rtems]:

gcov: Add functions to dump the gcov information

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:19.000Z

Original author: sebastian.huber

In [changeset:”7452f67dd9e62247cc5df7427fc9fab2f2371b35/rtems” 7452f67d/rtems]:

gcov: Add wrapper to dump the gcov info

Update #4670.

Author: Trac Migrate

2022-07-04T06:25:22.000Z

Original author: sebastian.huber

In [changeset:”5c13a96f367564678b2759d8a89744340bb6099d/rtems” 5c13a96/rtems]:

build: Add RTEMS_GCOV_COVERAGE option

Update #4670.

Author: Trac Migrate

2022-07-05T07:19:33.000Z

Original author: sebastian.huber

In [changeset:”f048c15c7d805ca8286d8fc6c85500d02eeafd32/rtems-central” f048c15/rtems-central]:

spec: Update due to API changes

Update #4670.

Author: Trac Migrate

2022-07-20T06:38:48.000Z

Original author: sebastian.huber

In [changeset:”329a1ccf93f49a85c7664d2870c3fe6418d2752f/rtems” 329a1ccf/rtems]:

build: Add missing cxxflags

Update #4670.

Author: Trac Migrate

2022-08-04T17:29:39.000Z

Original author: sebastian.huber

In [changeset:”52b7a5840a13476fb0ba413746cd536a321c455c/rtems” 52b7a58/rtems]:

build: Install <rtems/score/gcov.h>

Update #4670.

Author: Trac Migrate

2022-09-08T06:26:43.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”c33cca3352a639143a1e5d33dba2e9fd3e738649/rtems-docs” c33cca3/rtems-docs]:

eng: Document new build item attributes

Close #4670.

Author: Trac Migrate

2022-09-08T06:27:10.000Z

Original author: sebastian.huber

In [changeset:”5ee830fab93431dab2a6abcb12d7775302eb9821/rtems-central” 5ee830f/rtems-central]:

spec: Add attributes to build items

Update #4670.

4078 - GCC C++ compiler for powerpc defines _GNU_SOURCE as a built-in

Id

4078

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-09-14T06:51:45.000Z

Updated

2022-09-08T05:31:33.000Z

Milestone

6.1

Labels

arch:powerpc, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4078

Merges

0

Original author: sebastian.huber

For example:

powerpc-rtems6-g++ -E -P -v -dD empty.cc 2>&1 | grep GNU_SOURCE

Yields:

/opt/rtems/6/libexec/gcc/powerpc-rtems6/10.2.1/cc1plus -E -quiet -v -P -D_GNU_SOURCE -Dmpc750 empty.cc -dD
#define _GNU_SOURCE 1

This is a GCC configuration bug. The reason is that the RTEMS GCC configuration includes gnu-user.h.

Author: Trac Migrate

2020-09-14T06:52:17.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

For example:

powerpc-rtems6-g++ -E -P -v -dD empty.cc 2>&1 | grep GNU_SOURCE

Yields:

+ {{{
/opt/rtems/6/libexec/gcc/powerpc-rtems6/10.2.1/cc1plus -E -quiet -v -P -D_GNU_SOURCE -Dmpc750 empty.cc -dD
#define _GNU_SOURCE 1
+ }}}

This is a GCC configuration bug. The reason is that the RTEMS GCC configuration includes gnu-user.h.

Author: Joel Sherrill

2020-09-14T12:53:32.000Z

Original author: sebastian.huber

I agree that this isn’t right. We shouldn’t be implicitly defining anything that enables extended APIs.

How did you spot this?

Author: Trac Migrate

2020-09-14T15:19:38.000Z

Original author: sebastian.huber

I noticed this during the tests of the new build system. The powerpc is the only RTEMS target which defines _GNU_SOURCE.

Author: Chris Johns

2020-09-15T03:19:01.000Z

Original author: sebastian.huber

Replying to Joel Sherrill:

How did you spot this?

I have updated rtems-exeinfo to optionally output the full flags used to build an object file.

$ rtems-exeinfo -O --full-flags `find . -name hello.exe`

This is the output from hello.exe for the psim showing a mix of options:

| wcrtomb.c                         : -mcpu=603e -mcpu=603e -g -O2 -fno-builtin -ffunction-sections -fdata-sections
| wctomb_r.c                        : -mcpu=603e -mcpu=603e -g -O2 -fno-builtin -ffunction-sections -fdata-sections
| wkspace.c                         : -mcall-sysv -meabi -mcpu=603e -msdata=sysv -g -O2 -fno-common -fno-keep-inline-functions -ffunction-sections -fdata-sections
| wkspaceisunifieddefault.c         : -mcall-sysv -meabi -mcpu=603e -msdata=sysv -g -O2 -fno-common -fno-keep-inline-functions -ffunction-sections -fdata-sections
| write.c                           : -mcall-sysv -meabi -mcpu=603e -msdata=sysv -g -O2 -fno-common -fno-keep-inline-functions -ffunction-sections -fdata-sections
| write_r.c                         : -mcall-sysv -meabi -mcpu=603e -msdata=sysv -g -O2 -fno-common -fno-keep-inline-functions -ffunction-sections -fdata-sections
| wsetup.c                          : -mcpu=603e -mcpu=603e -g -O2 -fno-builtin -ffunction-sections -fdata-sections

And there is the pc686 BSP with LibBSD showing the i386 issue:

| tzset.c                               : -mtune=pentiumpro -march=i386 -g -O2 -fno-builtin -ffunction-sections -fdata-sections
| tzset_r.c                             : -mtune=pentiumpro -march=i386 -g -O2 -fno-builtin -ffunction-sections -fdata-sections
| tzvars.c                              : -mtune=pentiumpro -march=i386 -g -O2 -fno-builtin -ffunction-sections -fdata-sections
| u_strerr.c                            : -mtune=pentiumpro -march=i386 -g -O2 -fno-builtin -ffunction-sections -fdata-sections
| uart_bus_pci.c                        : -mtune=pentiumpro -march=pentium -g -O2 -ffunction-sections -fdata-sections
| udp6_usrreq.c                         : -mtune=pentiumpro -march=pentium -g -O2 -ffunction-sections -fdata-sections -fno-strict-aliasing -ffreestanding -fno-common
| udp_usrreq.c                          : -mtune=pentiumpro -march=pentium -g -O2 -ffunction-sections -fdata-sections -fno-strict-aliasing -ffreestanding -fno-common
| uenvgetgroups.c                       : -mtune=pentiumpro -march=pentium -g -O2 -ffunction-sections -fdata-sections
| uipc_accf.c                           : -mtune=pentiumpro -march=pentium -g -O2 -ffunction-sections -fdata-sections -fno-strict-aliasing -ffreestanding -fno-common
| uipc_domain.c                         : -mtune=pentiumpro -march=pentium -g -O2 -ffunction-sections -fdata-sections -fno-strict-aliasing -ffreestanding -fno-common

I think preprocessor flags are not captured.

Author: Trac Migrate

2022-09-08T05:31:33.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Fixed in GCC 10, 11, 12, and 13.

4713 - Make pthread_atfork follow FACE Technical Standard Behavior for Single Process Environments

Id

4713

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2022-09-02T16:38:18.000Z

Updated

2022-09-06T22:22:09.000Z

Milestone

6.1

Labels

api::posix, priority::normal, resolution::fixed, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4713

Merges

0

The POSIX specification for pthread_atfork() does not address the behavior when in a single process environment. The RTEMS implementation was an arbitrary decision on our part with no basis from the wider POSIX community. The FACE Technical Standard includes profiles without multiple process support and has defined the behavior for this method as follows:

When multiple POSIX processes are supported, pthread_atfork(), the functionality is per the POSIX standard. When multiple POSIX processes are not supported, pthread_atfork() should return 0. The provision to support only a single process is not addressed in the POSIX standard.

The RTEMS implementation currently returns ENOSYS instead of 0.

This ticket is to track the change to RTEMS and the documentation.

Author: Trac Migrate

2022-09-06T21:59:42.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”dbba94304472ebd9d2965741cf75b501a84fb60e/rtems” dbba9430/rtems]:

pthread_atfork(): Change to behavior from FACE Technical Standard

Closes #4713.

Author: Trac Migrate

2022-09-06T22:22:09.000Z

In [changeset:”8741d2c23451828bd22bbf98e412f72d6caf5199/rtems-docs” 8741d2c/rtems-docs]:

posix-users/process_creation_and_execution.rst: Update pthread_atfork()

Updates #4713.

4225 - Cobham Gaisler NOEL-V RISC-V 32- and 64-bit processor BSP

Id

4225

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-01-27T15:19:04.000Z

Updated

2022-09-06T14:08:36.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4225

Merges

0

Original author: daniel

To add a BSP configurations for Cobham Gaisler’s NOEL-V processor IP. The NOEL-V processor is compliant with the open RISC-V 32/64-bit ISA. Depending on the soft-core IP configuration different RISC-V extensions may or may not be available, a matching RTEMS BSP build configuration must be selected accordingly. Similar to Cobham Gaisler’s LEON3/4/5 processor designs, the NOEL-V is also a part of GRLIB providing building blocks such as I/O peripherals and L2-cache etc. that is typically used with the processor in SoC solutions. For more information about GRLIB and the current state and road-map of NOEL-V: * https://www.gaisler.com/grlib * https://www.gaisler.com/noel-v

The NOEL-V and GRLIB are available either under open-source GPL or commercial license. Demonstration designs with pre-built bit-streams, DTS/DTB, user’s manuals, quick-start guides, etc. are freely available for the FPGA development boards listed under the NOEL-V page above. For example: * Arty A7: Artix-7 FPGA Development Board (https://www.gaisler.com/NOEL-ARTYA7) * PolarFire FPGA Splash Kit (https://www.gaisler.com/NOEL-PF) * Xilinx Kintex UltraScale FPGA KCU105 Evaluation Kit (https://www.gaisler.com/NOEL-XCKU)

All the above demonstration designs have the same base memory layout and peripherals based on GRLIB. A DTS/DTB is needed to describe the system for RTEMS. The first BSP implementation targets only a minimal system with Memory Controller, Processor, IRQ Controller and Timer (RISC-V plic, clint, mtime). Thus the GRLIB drivers based on the driver manager is not needed to run RTEMS on NOEL-V.

The free GRMON eval hardware debugger can be used with the above demonstration designs to initialize, upload RTEMS images, execute RTEMS and debug the new NOEL-V BSPs.

Author: Trac Migrate

2021-02-08T19:48:28.000Z

Original author: daniel

Patches are now posted here: https://lists.rtems.org/pipermail/devel/2021-February/064343.html

Author: Joel Sherrill

2022-02-10T22:19:41.000Z

Original author: daniel

Pinging after chatting with Daniel. Hopefully updated patches will show up in the next few weeks.

Author: Trac Migrate

2022-09-06T14:08:36.000Z

Original author: daniel

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”9ec9be834d94c5a90890eddb9a1eed8269d67300/rtems” 9ec9be83/rtems]:

bsp/riscv: Add NOEL-V BSP

Added support for Cobham Gaisler NOEL-V systems. The NOEL-V support
is implemented as a riscv BSP. Both 32-bit and 64-bit processor
systems are supported. Cobham Gaisler's NOEL-V RISC-V processor IP
is described here:
https://www.gaisler.com/NOELV

Compatible with the following NOEL-V FPGA example design ranges
available from Cobham Gaisler. Follow the links for free
bit-streams, DTS/DTB, user's manuals and quick-start guides:
- NOEL-ARTYA7-EX    (https://www.gaisler.com/NOEL-ARTYA7)
- NOEL-PF-EX        (https://www.gaisler.com/NOEL-PF)
- NOEL-XCKU-EX      (https://www.gaisler.com/NOEL-XCKU)

Uses the shared GRLIB APBUART console driver "apbuart_termios.c".
APBUART devices are probed using device tree.

Closes #4225.

4693 - Remove ILP32 aarch64/xilinx_versal_* BSPs

Id

4693

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-08-02T02:45:54.000Z

Updated

2022-08-22T21:51:43.000Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4693

Merges

0

The BSPs:

  1. aarch64/xilinx_versal_ilp32_qemu

  2. aarch64/xilinx_versal_ilp32_vck190

support ILP32 addressing and the Versal has default memory regions above the 4G address boundary. There is value in supporting ILP32 if there is not practical use for it.

If a use case is identified they can be added back.

Author: Chris Johns

2022-08-21T23:40:09.000Z

I will rename the aarch64/xilinx_versal_ilp64_qemu to aarch64/xilinx_versal_qemu and aarch64/xilinx_versal_ilp64_vck190 to aarch64/xilinx_versal_vck190

Author: Chris Johns

2022-08-21T23:43:02.000Z

I will add aarch64/xilinx_versal_aiedge as a generic BSP. The AI Edge series product range Xilinx Versal has the same scalar processors on all variants.

Author: Trac Migrate

2022-08-22T21:51:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”dee5ea81479eed172b634506fd5ab91bb53e9982/rtems” dee5ea81/rtems]:

bsps/xilinx/versal: Remove IPL32 BSPs, add aiedge and change defaults

- Versal has IO mapped to the upper 64bit address space and
needs full 64bit addresses.

- Add xilinx_versal_aiedge for custom hardware

- Make the hardware settings the defaults and qemu as variants

Closes #4693

4703 - NetSNMP 5.7.2.1 Patch

Id

4703

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-08-16T06:22:40.000Z

Updated

2022-08-16T06:24:06.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4703

Merges

0

This ticket is a place holder for the NetSNMP patch moving it out of the rtems-tools repo.

Author: Chris Johns

2022-08-16T06:24:06.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4700 - Fix instances of “is” operator used with literals

Id

4700

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-08-11T18:45:34.000Z

Updated

2022-08-12T14:18:07.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4700

Merges

0

Original author: rlong

Python 3.8 introduced new warnings when using the “is” operator when comparing literals.

Author: Trac Migrate

2022-08-11T18:53:29.000Z

Original author: rlong

  • Summary changed from Fix isntances of “is” operator used with literals to Fix instances of “is” operator used with literals

Author: Trac Migrate

2022-08-12T14:18:07.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f3d9c879583a9f89a6deb8b9e52a61b946ef6fab/rtems-tools” f3d9c87/rtems-tools]:

rtemstoolkit: Fix conditions using "is" with literals

Fix warnings that come from python 3.8 about using the "is" operator with
string literals.

Closes #4700

4701 - Relocatable write data is placed in read-only region on some BSPs

Id

4701

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-08-12T08:01:22.000Z

Updated

2022-08-12T08:02:07.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4701

Merges

0

Original author: sebastian.huber

The .data.rel.ro* linker input section pattern accidentally matches with writeable data those symbol name starts with “ro”.

Author: Trac Migrate

2022-08-12T08:02:07.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”21a36ed19b68bc0b5338eb661028c706cdbbb6ee/rtems” 21a36ed1/rtems]:

bsps: Fix .data.rel.ro placement

The .data.rel.ro* linker input section pattern accidentally matches with
writeable data those symbol name starts with "ro".

Close #4701.

4686 - Refactor shared code in Arm and AArch64

Id

4686

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-07-26T16:08:14.000Z

Updated

2022-08-08T16:53:46.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4686

Merges

0

Original author: rlong

rtl-mdreloc-arm.c and rtl-mdreloc-aarch64.c share code. The shared code should be pulled out and included into each file.

Author: Trac Migrate

2022-08-08T16:53:46.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”5500232a8989ecad90a44a1051896ad9b53d6732/rtems” 5500232/rtems]:

libdl: Refactor shared code in ARM and AArch64

rtl-mdreloc-arm.c was used as the basis for rtl-mdreloc-aarch64.c. This lead
to some code being shared by the two files. The code was consolidated into
rtl-unwind-arm.c.

Closes #4686

4694 - sptests/sp37 fails to compile if RTEMS_SMP is not defined

Id

4694

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-08-02T14:47:10.000Z

Updated

2022-08-08T09:59:01.000Z

Milestone

6.1

Labels

priority::normal, resolution::invalid, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4694

Merges

0

Original author: lsilistr

Issue seems to be caused by lines 191-193 and 207 in testsuites/sptests/sp37/init.c * name is undefined * _ISR_lock_Initialize is “(void)name”

In file included from ../../../../../../RTEMS/cpukit/include/rtems/rtems/intr.h:70, from ../../../../../../RTEMS/cpukit/include/rtems.h:69, from ../../../../../../RTEMS/bsps/include/bsp/default-initial-extension.h:40, from ../../../../../../RTEMS/bsps/myriad2/ma2x8x/include/bsp.h:27, from ../../../../../../RTEMS/testsuites/support/include/tmacros.h:41, from ../../../../../../RTEMS/testsuites/sptests/sp37/system.h:35, from ../../../../../../RTEMS/testsuites/sptests/sp37/init.c:41: ../../../../../../RTEMS/testsuites/sptests/sp37/init.c: In function ‘test_isr_locks’: ../../../../../../RTEMS/testsuites/sptests/sp37/init.c:207:42: error: ‘name’ undeclared (first use in this function) 207 | _ISR_lock_Initialize( &container.lock, name ); | ^~~~ ../../../../../../RTEMS/cpukit/include/rtems/score/isrlock.h:202:12: note: in definition of macro ‘_ISR_lock_Initialize’ 202 | (void) _name | ^~~~~ ../../../../../../RTEMS/testsuites/sptests/sp37/init.c:207:42: note: each undeclared identifier is reported only once for each function it appears in 207 | _ISR_lock_Initialize( &container.lock, name ); | ^~~~ ../../../../../../RTEMS/cpukit/include/rtems/score/isrlock.h:202:12: note: in definition of macro ‘_ISR_lock_Initialize’ 202 | (void) _name | ^~~~~

Author: Joel Sherrill

2022-08-02T17:51:36.000Z

Original author: lsilistr

This report appears to be against an architecture and BSP (myriad2/ma2x8x) that are not in the RTEMS.org source base. I have built two other non-SMP BSPs this week (mips and powerpc) and the weekly BSP build sweeps would also catch a general or BSP specific build issue.

The ISR method definitions are part of the architecture port. My guess is that you are dropping the architecture and BSP code into a git clone from rtems.org and that the myriad2/ma2x8x code is not up to date.

Author: Trac Migrate

2022-08-03T16:05:16.000Z

Original author: lsilistr

Thanks for confirmation that it should work.

Figured it was cherrypick from an older version that broke it for us. Once removed we don’t see the issue anymore.

Author: Trac Migrate

2022-08-08T09:59:01.000Z

Original author: lsilistr

  • Resolution set to ~”invalid”

  • Status changed from new to closed

4682 - Add AArch64 support to libdl

Id

4682

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-07-20T21:12:13.000Z

Updated

2022-07-29T13:25:02.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4682

Merges

0

Original author: rlong

Add AArch64 support to libdl using NetBSD code as necessary.

Author: Trac Migrate

2022-07-29T13:24:52.000Z

Original author: rlong

In [changeset:”ad94dc352e9e9d1d602602b7d33bff9f43a1d35d/rtems” ad94dc3/rtems]:

sys/exec_elf.h: Bring in newer file

Updated this file with the newer version in NetBSD.

Updates #4682

Author: Trac Migrate

2022-07-29T13:24:54.000Z

Original author: rlong

In [changeset:”f6432156483c632b776f5baf197782901d43669d/rtems” f6432156/rtems]:

libdl/rtl-elf.h: Fix aarch64 define

The aarch64 define was incorrect. This was causing the libdl tests to not
work correctly.

Updates #4682

Author: Trac Migrate

2022-07-29T13:24:57.000Z

Original author: rlong

In [changeset:”0bd6514aa249322edbd52026ebfc2675a1685ead/rtems” 0bd6514a/rtems]:

cpukit/libdl: Add support for AArch64

rtl-mdreloc-aarch64.c and elf_machdep.h came from NetBSD.

Updates #4682

Author: Trac Migrate

2022-07-29T13:24:59.000Z

Original author: rlong

In [changeset:”2ea37e8b0d9c2976a5be5202956af7b3ae9ccc54/rtems” 2ea37e8/rtems]:

libtests/dl*: Bump up the size of CONFIGURE_INIT_TASK_STACK_SIZE

Updates #4682

Author: Trac Migrate

2022-07-29T13:25:02.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1c6ac88f938f4b135f3bbffc4b19bbc540508c80/rtems” 1c6ac88/rtems]:

cpukit/libdl/rtl-sym.c: Fix increment of variable

In rtems_rtl_symbol_global_add() the loop that gets to the end of the symbol
table used "unsigned long" to increment the index for the table. For most
architectures this resulted in 4, but with AArch64, it results in 8. This
resulted in the symbols being read in wrong. Changing this to void* along with
changing the RISC-V specific code for 8 byte pointers in rtems-tools to work
independent of the architecture.

Updates #4673
Closes #4682

4673 - Runtime loader exported symbols address size not consistent

Id

4673

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-06-30T20:42:09.000Z

Updated

2022-07-29T13:25:02.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4673

Merges

0

Original author: rlong

In rtl-sym.c, where the exported symbols table is read in rtems_rtl_symbol_global_add, the addresses are expected to be of size sizeof(unsigned long). This works fine for most architectures because most of them evaluate to 4. For Aarch64 however, this evaluates to 8.

Author: Trac Migrate

2022-07-29T13:17:44.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”ace7db96d4561665b07ba15c2fe5f9349f4d3d8c/rtems-tools” ace7db9/rtems-tools]:

rtems-syms.cpp: Change check to pointer size

Changed from a RISC-V specific value being in the conditional to a check for
the size of the architecture's pointer.

Closes #4673

Author: Trac Migrate

2022-07-29T13:25:02.000Z

Original author: rlong

In [changeset:”1c6ac88f938f4b135f3bbffc4b19bbc540508c80/rtems” 1c6ac88/rtems]:

cpukit/libdl/rtl-sym.c: Fix increment of variable

In rtems_rtl_symbol_global_add() the loop that gets to the end of the symbol
table used "unsigned long" to increment the index for the table. For most
architectures this resulted in 4, but with AArch64, it results in 8. This
resulted in the symbols being read in wrong. Changing this to void* along with
changing the RISC-V specific code for 8 byte pointers in rtems-tools to work
independent of the architecture.

Updates #4673
Closes #4682

3847 - Test programs are not re-linked if a start.o or linker command file changes

Id

3847

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-12-18T09:39:08.000Z

Updated

2022-07-28T07:17:35.000Z

Milestone

6.1

Labels

priority::normal, resolution::duplicate, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3847

Merges

0

Original author: sebastian.huber

The test programs are not re-linked if a start.o or linker command file changes. The dependency tracking doesn’t know anything about the linker command files or GCC specification files. The start files are normally included through the linker command file START() directive. Somehow these dependencies must be manually added to the test programs.

Author: Trac Migrate

2022-07-28T07:17:35.000Z

Original author: sebastian.huber

  • Resolution set to ~”duplicate”

  • Status changed from assigned to closed

The start.o dependency tracking works, see #4080. For linkcmds issue see #4681.

4607 - support for SATA(AHCI) drives

Id

4607

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-02-11T03:44:37.000Z

Updated

2022-07-28T06:40:44.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::wontfix, tickettype::defect, tickettype::enhancement, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4607

Merges

0

Original author: ostyche

Added support for SATA(AHCI) drives.The relevant file path is cpukitsataThe files involved in the question were uploaded by git user ostyche who created a branch at 10:55 am on February 11, 2022

Author: Joel Sherrill

2022-03-10T16:33:46.000Z

Original author: ostyche

  • Milestone changed from %”5.1” to %”6.1”

  • Version ~”4.11” deleted

Can you provide a URL? If this was a pull on github, then it would be appreciated to get the patches submitted via the devel@ mailing list.

Author: Trac Migrate

2022-07-28T06:40:44.000Z

Original author: ostyche

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

SATA support should be added through LibBSD.

4684 - Support Versal DDRMC0 regions 0 and 1

Id

4684

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-07-22T06:04:41.000Z

Updated

2022-07-27T23:00:10.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4684

Merges

0

The Versal’s DDRMC0 supports region 0 and 1. Region 0’s base address defaults to 0x00000000000 and can be up to 2G in length. If the hardware has more than 2G of DDR memory it is placed in region 1 and it’s default base address is 0x00800000000 placing it in the A64 address space.

Add support so the user defined memory length BSP_XILINX_VERSAL_RAM_LENGTH spans region 0 and 1.

Extend the heap with the region 1 memory.

Author: Trac Migrate

2022-07-27T23:00:07.000Z

In [changeset:”b868d0a722167f35b627b7ca7d42c9b6939be33d/rtems” b868d0a/rtems]:

basp/aarch64: Make the unexpected sections origin address 64bit

Update #4684

Author: Trac Migrate

2022-07-27T23:00:10.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”51ffa21011a8f62649af0c98d27a1717eaa1e96d/rtems” 51ffa21/rtems]:

aarch64/versal: Support DDRMC0 region 0 and 1

- Support DDRMC0 region 0 up to 2G in size

- Support DDRMC0 region 1 with DDR memory greater than 2G
up to the DDRMC0 max amount

- Extend the heap with region 1's memory

Closes #4684

4661 - GCC 12 generates wrong code

Id

4661

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-06-08T03:45:09.000Z

Updated

2022-07-19T06:02:18.000Z

Milestone

6.1

Labels

priority::high, resolution::fixed, tickettype::defect, tool::gcc, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4661

Merges

0

Calling exit() in a C++ application results in std::terminate() being called.

The std::ios_base::Init::~Init() destructor flushes std::cout, std::cerr and std::clog. The flush of std::cerr results in terminate being called.

The ios_base class uses a sentry to check the state. The code in it’s destructor is:

if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception())

The std::cerr object has ios_base::unitbuf set so uncaught_exception() is called. This call gets the cxa globals:

__cxa_eh_globals *globals = __cxa_get_globals ();

The __cxa_get_globals() checks if the ec_globals init object:

static __eh_globals_init init;

to see if it is still valid and the state is:

(gdb) p /x init
$2 = {
_M_key = 0x13010001,
_M_init = 0x1
}

However the static destructor has run and the POSIX key has been deleted. This results in std::terminate() being called.

The code for the destructor on ARM is:

006562e0 <__eh_globals_init::~__eh_globals_init()>:
6562e0:       7903            ldrb    r3, [r0, #4]
6562e2:       b510            push    {r4, lr}
6562e4:       4604            mov     r4, r0
6562e6:       b90b            cbnz    r3, 6562ec <__eh_globals_init::~__eh_globals_init()+0xc>
6562e8:       4620            mov     r0, r4
6562ea:       bd10            pop     {r4, pc}
6562ec:       6800            ldr     r0, [r0, #0]
6562ee:       f04d fe6b       bl      6a3fc8 <pthread_key_delete>
6562f2:       4620            mov     r0, r4
6562f4:       bd10            pop     {r4, pc}

and for aarch64 it is:

0000000010222c30 <__eh_globals_init::~__eh_globals_init()>:
10222c30:   39401001        ldrb    w1, [x0, #4]
10222c34:   35000041        cbnz    w1, 10222c3c <__eh_globals_init::~__eh_globals_init()+0xc>
10222c38:   d65f03c0        ret
10222c3c:   a9bf7bfd        stp     x29, x30, [sp, #-16]!
10222c40:   910003fd        mov     x29, sp
return pthread_key_delete (__key);
10222c44:   b9400000        ldr     w0, [x0]
10222c48:   94008806        bl      10244c60 <pthread_key_delete>
10222c4c:   a8c17bfd        ldp     x29, x30, [sp], #16
10222c50:   d65f03c0        ret

The _M_init boolean is not set to false.

Author: Chris Johns

2022-06-08T05:13:41.000Z

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105880

Author: Trac Migrate

2022-06-09T02:21:00.000Z

In [changeset:”80aea6aee138dfa73dbce552e216fd9c4dd1fc05/rtems” 80aea6a/rtems]:

testsuite/libtests: Add exit03 to test exit() with C++

Updates #4661

Author: Trac Migrate

2022-07-19T06:02:18.000Z

  • Owner set to Chris Johns <chrisj@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”a2bda894e225a66c082af2b2ff7c1325f9fdafc1/rtems-source-builder” a2bda89/rtems-source-builder]:

gcc12/libstdc++: Fix lifetime bugs for non-TLS eh_globals

- This is the fix from PR105880:
https://gcc.gnu.org/bugzilla/attachment.cgi?id=53103

Closes #4661

4215 - nios2: Add multilib with all custom floating-point instructions supported by GCC

Id

4215

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-01-14T10:19:47.000Z

Updated

2022-06-29T09:05:49.000Z

Milestone

6.1

Labels

arch:nios2, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4215

Merges

0

Original author: sebastian.huber

See Table 13. “Floating Point Custom Instruction 2 Operation Summary” in the Nios II Custom Instruction User Guide:

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_nios2_custom_instruction.pdf

Author: Trac Migrate

2021-01-17T18:47:18.000Z

Original author: sebastian.huber

Author: Trac Migrate

2021-01-17T20:19:05.000Z

Original author: sebastian.huber

In [changeset:”e6f29b3fe54a0b59370113101606410ad167d615/rtems-source-builder” e6f29b3/rtems-source-builder]:

6: Add FPH2 multilib for nios2

Update #4215.

Author: Trac Migrate

2022-06-29T09:05:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

It is available through the RSB provided GCC 12.

4214 - nios2: Add thread-local storage support

Id

4214

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-01-08T08:26:31.000Z

Updated

2022-06-09T13:58:28.000Z

Milestone

6.1

Labels

arch:nios2, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4214

Merges

0

Original author: sebastian.huber

Author: Joel Sherrill

2021-01-08T13:54:58.000Z

Original author: sebastian.huber

Could you add a link to where the ABI for this is defined? Last time I looked for what the mechanics were for TLS for various architectures, I didn’t find it for many. Is there a generic mechanism in GCC I have missed?

Author: Trac Migrate

2021-01-08T14:07:45.000Z

Original author: sebastian.huber

It is a pretty standard approach:

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/nios2/n2cpu_nii51016.pdf

Author: Joel Sherrill

2021-01-08T15:51:24.000Z

Original author: sebastian.huber

Great! I am sure you will include that link and summarize the pertinent info in the CPU Guide.

Author: Trac Migrate

2021-02-01T06:21:24.000Z

Original author: sebastian.huber

In [changeset:”c968b27fbd8d8b4f012b638826d35446b4f4e0c0/rtems” c968b27/rtems]:

nios2: Add TLS support

Update #4214.

Author: Trac Migrate

2022-06-09T13:58:28.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”5a7acfcd39be55a7925370bfd642d442be2806ee/rtems-docs” 5a7acfc/rtems-docs]:

cpu-supplement: Mention that nios2 supports TLS

Close #4214.

4475 - Add NFSv4 client support to libbsd

Id

4475

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-07-19T08:57:15.000Z

Updated

2022-06-08T13:11:44.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4475

Merges

0

Add NFSv4 client support to libbsd. The client support is part of kernel and provides support for a range of the NFS protocol version including version 4.

The task is made of the following:

1. Update the locks and locking to support the lock manager. VFS requires this be supported 1. Add support for the FreeBSD Virtual File System (VFS) 1. Add the kernel RPC implementation 1. Add NFS client support

VFS

VFS is built around the FB’s file structure and file descriptor structure. These need to be supported. The file struct and file descriptor form the basis for all fd based interactions with the FB kernel code such as files, devices and sockets.

LibIO and FB fd

The FB fd and file support clashes with the existing libio implementations used for things like socket, kqueue and select. The work to port the VFS requires:

  1. socket, kqueue, select support FB fd support. This is closer to the kernel. No direct libio access

  2. Provide an interface to libio mapping the iop descriptors to FB descriptors.

This approach nests the FB file descriptors inside the libio support. This is not optimal in terms of some activities but the hot paths in the code should not see a significant change in performance. Some paths like open are not optimal because the RTEMS file system op handlers imply a specific implementation that does not match up well with the FB namei interface. The long term approach is to look at libio and the handlers and consider allowing closer integration of FB’s fd support.

BIO and Paging

The bio layer is required for VFS. No paging support other than the calls needed to have VFS link are provided. No VM paging is need and none of that code need be ported.

System Calls

Collect all the syscall functionality exported to RTEMS into a single place. Currently the calls are spread around the code and this:

  1. Does not centralize the code

  2. Add a lot of code to FB being ported

Proc0

FreeBSD’s initialization creates the initial process called proc0. Add support to create proc0 and let all thread’ reference it. This allow the creds to be managed, kernel trace to work and it removes a number of changes that do not need to be made.

File Descripter Reuse

The libio functionality of cycling across the fd range rather than reusing lower fd numbers is not compatible with the select call. Not reusing fd numbers once closed until the range as been used provides some protection against bugs where a user does not cleanly handle the fd they own however this is not compatible with FB and makes supporting select harder.

The select interface should not be used on RTEMS and users should be encourages to use threads for concurrent IO or kqueue. The means select may exist for legacy code porting reasons however the cycling fd count reduces how well the code ported will actually work. For example port a piece of select code, open a socket and use, it may work. Then open and close a file 64 times then run the same code. It will fail.

FB fd’s are reused.

RPC

The legacy NFSv2 client the the NFSv4 cannot be built at the same time.

The kernel RPC and the user land RPC cannot exist in the same build. I have not looked extensively into this but I was seeing clashes with headers for the same types but different contents. The legacy NFSv2 client uses the user land RPC code while the kernel NFSv4 uses the kernel’s RPC.

Module support is already in libbsd to handle the separate building of each piece.

Security

NFSv4 provides a number of extra security features. The code will be ported is possible but little or no security tested is planned at this point in time.

Testing

The NFSv4 stack will be tested against Linux and FreeBSD servers.

Author: Chris Johns

2021-07-20T07:36:52.000Z

  • Description changed

Add NFSv4 client support to libbsd. The client support is part of kernel and provides support for a range of the NFS protocol version including version 4.

The task is made of the following:

1. Update the locks and locking to support the lock manager. VFS requires this be supported
1. Add support for the FreeBSD Virtual File System (VFS)
1. Add the kernel RPC implementation
1. Add NFS client support

== VFS

VFS is built around the FB's file structure and file descriptor structure. These need to be supported. The file struct and file descriptor form the basis for all `fd` based interactions with the FB kernel code such as files, devices and sockets.

=== LibIO and FB `fd`

The FB `fd` and `file` support clashes with the existing `libio` implementations used for things like `socket`, `kqueue` and `select`.  The work to port the VFS requires:

1. `socket`, `kqueue`, `select` support FB `fd` support. This is closer to the kernel. No direct `libio` access
2. Provide an interface to `libio` mapping the `iop` descriptors to FB descriptors.

This approach nests the FB file descriptors inside the `libio` support. This is not optimal in terms of some activities but the hot paths in the code should not see a significant change in performance. Some paths like `open` are not optimal because the RTEMS file system op handlers imply a specific implementation that does not match up well with the FB `namei` interface. The long term approach is to look at `libio` and the handlers and consider allowing closer integration of FB's `fd` support.

=== BIO and Paging

The `bio` layer is required for VFS. No paging support other than the calls needed to have VFS link are provided. No VM paging is need and none of that code need be ported.

=== System Calls

Collect all the `syscall` functionality exported to RTEMS into a single place. Currently the calls are spread around the code and this:

1. Does not centralize the code
2. Add a lot of code to FB being ported

+ == Proc0
+
+ FreeBSD's initialization creates the initial process called `proc0`. Add support to create `proc0` and let all thread' reference it. This allow the creds to be managed, kernel trace to work and it removes a number of changes that do not need to be made.
+
== File Descripter Reuse

The `libio` functionality of cycling across the `fd` range rather than reusing lower `fd` numbers is not compatible with the `select` call. Not reusing `fd` numbers once closed until the range as been used provides some protection against bugs where a user does not cleanly handle the `fd` they own however this is not compatible with FB and makes supporting `select` harder.

The `select` interface should not be used on RTEMS and users should be encourages to use threads for concurrent IO or `kqueue`. The means `select` may exist for legacy code porting reasons however the cycling `fd` count reduces how well the code ported will actually work. For example port a piece of `select` code, open a socket and use, it may work. Then `open` and `close` a file 64 times then run the same code. It will fail.

FB `fd`'s are reused.

== RPC

The legacy NFSv2 client the the NFSv4 cannot be built at the same time.

The kernel RPC and the user land RPC cannot exist in the same build. I have not looked extensively into this but I was seeing clashes with headers for the same types but different contents. The legacy NFSv2 client uses the user land RPC code while the kernel NFSv4 uses the kernel's RPC.

Module support is already in `libbsd` to handle the separate building of each piece.

== Security

NFSv4 provides a number of extra security features. The code will be ported is possible but little or no security tested is planned at this point in time.

== Testing

The NFSv4 stack will be tested against Linux and FreeBSD servers.

Author: Joel Sherrill

2021-07-20T14:51:34.000Z

  • Summary changed from Add NFSv4 client support to libbds to Add NFSv4 client support to libbsd

Author: Trac Migrate

2021-09-02T02:43:16.000Z

In [changeset:”59f652fe881de4a170d4916d148fe72f33e35ef2/rtems-libbsd” 59f652fe/rtems-libbsd]:

Implement portable kernel symbol namespace tool

- The script's use of sort proved to not be portable

- No need to check the commits as symbols are only added

- Regenerated kernel header to reset the sort order

Update #4475

Author: Trac Migrate

2021-09-02T02:43:19.000Z

In [changeset:”f700edc5b83a68c40ddbe03eb2b1d40fa93fa42b/rtems-libbsd” f700edc/rtems-libbsd]:

waf: Fix clashing symbols in the user land symbols

Update #4475

Author: Trac Migrate

2021-09-02T02:43:21.000Z

In [changeset:”5ef23a2836a3c56ea370affa9e81221dcf49b6e8/rtems-libbsd” 5ef23a2/rtems-libbsd]:

sys/netinet/libalias: Fix symbols clashes

Update #4475

Author: Trac Migrate

2021-09-02T02:43:24.000Z

In [changeset:”974742defc96f25501e5ca71011c3c5ddf745562/rtems-libbsd” 974742d/rtems-libbsd]:

kern-symbols: Add symbols from the everything build set

Update #4475

Author: Trac Migrate

2021-09-02T02:43:27.000Z

In [changeset:”684cf3cdc20d2adcc5211dff90570f26d5aea534/rtems-libbsd” 684cf3c/rtems-libbsd]:

rtemsbsd: Add FrreBSD's clang-format style

Update #4475

Author: Trac Migrate

2021-09-02T02:43:29.000Z

In [changeset:”2a01430ba5f2cbb3c4275abc6ab6fb7dec1e44c5/rtems-libbsd” 2a01430/rtems-libbsd]:

rtemsbsd: Catch timeout overflows

Update #4475

Author: Trac Migrate

2021-09-02T02:43:32.000Z

In [changeset:”e1ca99b535bd5ebdfe410cf2653ea447ce7c6ce5/rtems-libbsd” e1ca99b/rtems-libbsd]:

testsuite: Optionally allow all command in a shell

Update #4475

Author: Trac Migrate

2021-09-02T02:43:35.000Z

In [changeset:”46a15fa7aa5a2382d2e09d42786ee931a22e8770/rtems-libbsd” 46a15fa/rtems-libbsd]:

sys/kern: Add lockmgr support

- See `man lockmgr`

- Implement the lock_object and move the RTEMS mutex to that object

- Add debug support to track the locks with gdb

Update #4475

Author: Trac Migrate

2021-09-02T02:43:38.000Z

In [changeset:”761fd6939386f7b1c44430ad89130583cc94cb04/rtems-libbsd” 761fd693/rtems-libbsd]:

kern: Import kern_prot.c fnd kern_resource.c for proc0

Update #4475

Author: Trac Migrate

2021-09-02T02:43:40.000Z

In [changeset:”c7427fc1548755104a929fc55f7a659937b6cd46/rtems-libbsd” c7427fc/rtems-libbsd]:

kern: Add a proc0

- Provides the thread's proc pointer and with that access to creds

Update #4475

Author: Trac Migrate

2021-09-02T02:43:43.000Z

In [changeset:”9800a0f9fa49f64684aa00febb4adc962be7e231/rtems-libbsd” 9800a0f/rtems-libbsd]:

kern: Import kern_ktr.c

Update #4475

Author: Trac Migrate

2021-09-02T02:43:46.000Z

In [changeset:”e56b5cb135b9d47f2137b96089ea3bc7f607004b/rtems-libbsd” e56b5cb/rtems-libbsd]:

kern: Add kernel trace support (KTR)

Update #4475

Author: Trac Migrate

2021-09-02T02:43:48.000Z

In [changeset:”1739d74f7dc53232fe20ed3ea9d8b4b0730b4025/rtems-libbsd” 1739d74/rtems-libbsd]:

freebsd/sys: Import VFS support

Update #4475

Author: Trac Migrate

2021-09-02T02:43:51.000Z

In [changeset:”ac4db4cec5b6b1e0a25e910851e50831afb0749d/rtems-libbsd” ac4db4c/rtems-libbsd]:

rtemsbsd: Remove DHCP init wrapper

- Object files cannot config init and resided in libbsd.a

Update #4475

Author: Trac Migrate

2021-09-02T02:43:53.000Z

In [changeset:”6514d561587fd1527fe6a26cb43e6b5742c8c779/rtems-libbsd” 6514d56/rtems-libbsd]:

sys/kern: Add VFS support

- Refactor the libio interface

- Move syscalls into an rtemsbsd location

- Provide a root directory mount point

Update #4475

Author: Trac Migrate

2021-09-02T02:43:56.000Z

In [changeset:”3da45ae4bcb1cedb32339d15ee1f65706a083540/rtems-libbsd” 3da45ae/rtems-libbsd]:

freebsd/sys: Import RPC and XDR support

Update #4475

Author: Trac Migrate

2021-09-02T02:43:59.000Z

In [changeset:”c6dbc967480ed034cf52992ec5773252b646edc5/rtems-libbsd” c6dbc96/rtems-libbsd]:

kern/sys: Add the kernel RPC and XDR support

Updates #4475

Author: Trac Migrate

2021-09-02T02:44:01.000Z

In [changeset:”6138f242be4f9d989a4052be71f1b116bd806e44/rtems-libbsd” 6138f24/rtems-libbsd]:

kern/sys: Import NFS and NFS file system client

Update #4475

Author: Trac Migrate

2021-09-02T02:44:04.000Z

In [changeset:”882425fe547f73a1a77caa4938dec369cfd1063d/rtems-libbsd” 882425f/rtems-libbsd]:

kern/sys: Add NFSv4 client

Update #4475

Author: Trac Migrate

2021-09-02T02:44:07.000Z

In [changeset:”7e282d25068ec09163e00cbe5819a1b5be3571be/rtems-libbsd” 7e282d2/rtems-libbsd]:

rtemsbsd/nfs: Add support to mount NFSv2

- NFSv2 requires userland RPC calls to determine the version of
NFS and the FH. This is passed to the kernel.

- Port more libc/rpc.

Update #4475

Author: Chris Johns

2021-09-24T00:00:06.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Author: Trac Migrate

2022-06-08T13:11:44.000Z

In [changeset:”dba9346b43351fbcf7cf33c41a3c8bd90fa1060c/rtems-libbsd” dba9346/rtems-libbsd]:

uma_core.c: Fix use of uninitialized variable

Update #4475.

4652 - if_atsam: Fix checksum offload, add multicast and VLAN support (cloned)

Id

4652

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-05-11T06:48:48.000Z

Updated

2022-06-01T07:53:46.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4652

Merges

0

Original author: sebastian.huber

Cloned from #4651:


The if_atsam network interface driver has several issues. Do not disable the FCS if the checksum offload is disabled. Make sure the interface capabilities are enabled. Add multicast and VLAN support. Use the interface transmit method instead of the interface start approach. Correct a potential receive starvation error. Fix the interface up/down.

Author: Trac Migrate

2022-05-11T13:53:53.000Z

Original author: sebastian.huber

In [changeset:”2556c4c3366cdb473a49ceefdb55e7eafeeda17c/rtems-libbsd” 2556c4c/rtems-libbsd]:

if_atsam: Fix warnings

Update #4652.

Author: Trac Migrate

2022-05-11T13:53:54.000Z

Original author: sebastian.huber

In [changeset:”7e082f6656e36d93c91842228989e5c9f63190de/rtems-libbsd” 7e082f6/rtems-libbsd]:

if_atsam: Enable all capabilities

Update #4652.

Author: Trac Migrate

2022-05-11T13:53:55.000Z

Original author: sebastian.huber

In [changeset:”adda3a5a6df1bdc1a1934ea5ba290f5b29cef0d0/rtems-libbsd” adda3a5/rtems-libbsd]:

if_atsam: Do not disable the Ethernet CRC

The Ethernet CRC and padding must be always generated by the MAC.

Update #4652.

Author: Trac Migrate

2022-05-11T13:53:57.000Z

Original author: sebastian.huber

In [changeset:”975916a75d88b48f6e4dc6bc223982db35ae5432/rtems-libbsd” 975916a/rtems-libbsd]:

if_atsam: Fix interrupt setup

The interrupt is enabled by rtems_interrupt_handler_install().

Update #4652.

Author: Trac Migrate

2022-05-11T13:53:58.000Z

Original author: sebastian.huber

In [changeset:”123001143504c18e0dd970c3651b76a6165390d3/rtems-libbsd” 1230011/rtems-libbsd]:

if_atsam: Fix start/stop of interface

Update #4652.

Author: Trac Migrate

2022-05-11T13:53:59.000Z

Original author: sebastian.huber

In [changeset:”c944cb9325032bdfc0aae369b6ae2ff466086f87/rtems-libbsd” c944cb9/rtems-libbsd]:

if_atsam: Add multicast support

Update #4652.

Author: Trac Migrate

2022-05-11T13:54:01.000Z

Original author: sebastian.huber

In [changeset:”2cb974fa20a0918a87f1171d20b721ce12e41031/rtems-libbsd” 2cb974f/rtems-libbsd]:

if_atsam: Optimize transmit

Use the transmit interface handler to avoid a transmit task/interrupt.
Use a compile-time constant for the transmit DMA descriptor count to
simplify calculations.

Update #4652.

Author: Trac Migrate

2022-05-11T13:54:02.000Z

Original author: sebastian.huber

In [changeset:”967613fbce1e7434704aed05f711eb25db27b807/rtems-libbsd” 967613f/rtems-libbsd]:

if_atsam: Optimize receive

Do not use the interface mutex in the receive loop.  Avoid multiple
reads of DMA descriptor words.  Use a compile-time constant for the
receive DMA descriptor count to simplify calculations.

Update #4652.

Author: Trac Migrate

2022-05-11T13:54:03.000Z

Original author: sebastian.huber

In [changeset:”821bcb73450c6f1fce014e9bd3f99d8f5a52712a/rtems-libbsd” 821bcb7/rtems-libbsd]:

if_atsam: Support IFCAP_VLAN_HWTAGGING

This is required to enable checksum offload for vlan interfaces.

Update #4652.

Author: Trac Migrate

2022-05-11T13:54:05.000Z

Original author: sebastian.huber

In [changeset:”989675ee7cc65a332e20f446bf201bad696c3b4a/rtems-libbsd” 989675e/rtems-libbsd]:

if_atsam: Do not use rtems_bsdnet_newproc()

Update #4652.

Author: Trac Migrate

2022-05-11T13:54:06.000Z

Original author: sebastian.huber

In [changeset:”4ad09617d030ab9847d98f60dfc85ae29792bc9d/rtems-libbsd” 4ad0961/rtems-libbsd]:

if_atsam: Support transmit bpf

Update #4652.

Author: Trac Migrate

2022-05-11T13:54:07.000Z

Original author: sebastian.huber

In [changeset:”e992d45b6303cfcdc0a7e88636ce5a655732edbc/rtems-libbsd” e992d45/rtems-libbsd]:

if_atsam: Fix interface stop

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:46.000Z

Original author: sebastian.huber

In [changeset:”73c764a70e554f16e16a474bfd658120553e0654/rtems-libbsd” 73c764a/rtems-libbsd]:

if_atsam: Fix warnings

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:48.000Z

Original author: sebastian.huber

In [changeset:”c58bb6095a040511ef9c17cc92e573c66569a266/rtems-libbsd” c58bb60/rtems-libbsd]:

if_atsam: Enable all capabilities

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:49.000Z

Original author: sebastian.huber

In [changeset:”5b62a8bfa19875cbf0a38b0419e107b06ff61472/rtems-libbsd” 5b62a8b/rtems-libbsd]:

if_atsam: Do not disable the Ethernet CRC

The Ethernet CRC and padding must be always generated by the MAC.

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:50.000Z

Original author: sebastian.huber

In [changeset:”339ba3dd9f10947de976621603874bb47841ce2e/rtems-libbsd” 339ba3d/rtems-libbsd]:

if_atsam: Fix interrupt setup

The interrupt is enabled by rtems_interrupt_handler_install().

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:51.000Z

Original author: sebastian.huber

In [changeset:”f4efcbfda5c2acb05058aa494d85d7b0e43571e6/rtems-libbsd” f4efcbf/rtems-libbsd]:

if_atsam: Fix start/stop of interface

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:53.000Z

Original author: sebastian.huber

In [changeset:”3150b3702284584c55c91d1e27282d19fd3c2b4c/rtems-libbsd” 3150b37/rtems-libbsd]:

if_atsam: Add multicast support

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:54.000Z

Original author: sebastian.huber

In [changeset:”6be24bd16a6d649e69752ca3b0bf11b4a0b59725/rtems-libbsd” 6be24bd/rtems-libbsd]:

if_atsam: Optimize transmit

Use the transmit interface handler to avoid a transmit task/interrupt.
Use a compile-time constant for the transmit DMA descriptor count to
simplify calculations.

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:55.000Z

Original author: sebastian.huber

In [changeset:”62fc2b6a036e0a6804eb9b877e17993932157bb3/rtems-libbsd” 62fc2b6/rtems-libbsd]:

if_atsam: Optimize receive

Do not use the interface mutex in the receive loop.  Avoid multiple
reads of DMA descriptor words.  Use a compile-time constant for the
receive DMA descriptor count to simplify calculations.

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:56.000Z

Original author: sebastian.huber

In [changeset:”202502a397d00be3f3671b6809b30638bfb99c3a/rtems-libbsd” 202502a/rtems-libbsd]:

if_atsam: Support IFCAP_VLAN_HWTAGGING

This is required to enable checksum offload for vlan interfaces.

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:58.000Z

Original author: sebastian.huber

In [changeset:”5c4ac7a91774569a0a21ff800b5501c706205e75/rtems-libbsd” 5c4ac7a/rtems-libbsd]:

if_atsam: Do not use rtems_bsdnet_newproc()

Update #4652.

Author: Trac Migrate

2022-05-11T14:01:59.000Z

Original author: sebastian.huber

In [changeset:”8039d70d94162da8db69902e4972c12ba0e883a6/rtems-libbsd” 8039d70/rtems-libbsd]:

if_atsam: Support transmit bpf

Update #4652.

Author: Trac Migrate

2022-05-11T14:02:00.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”38e1610af23f33d6adb7da6638f0f0347b2276dd/rtems-libbsd” 38e1610/rtems-libbsd]:

if_atsam: Fix interface stop

Close #4652.

Author: Trac Migrate

2022-06-01T07:52:38.000Z

Original author: sebastian.huber

In [changeset:”07e282034ccf97278bb1e62db232b98fe73d0df7/rtems-libbsd” 07e2820/rtems-libbsd]:

if_atsam: Allow stats reset via sysctl

Update #4652.

Author: Trac Migrate

2022-06-01T07:52:39.000Z

Original author: sebastian.huber

In [changeset:”683bae95b3c28c777095f87e92cbcf633aa33435/rtems-libbsd” 683bae9/rtems-libbsd]:

if_atsam: Add register sysctls

Update #4652.

Author: Trac Migrate

2022-06-01T07:52:40.000Z

Original author: sebastian.huber

In [changeset:”bd56cb2e59a5064255ac693d0cac7625f027a2e6/rtems-libbsd” bd56cb2/rtems-libbsd]:

if_atsam: Add tx/rx desc sysctls

Update #4652.

Author: Trac Migrate

2022-06-01T07:52:42.000Z

Original author: sebastian.huber

In [changeset:”8588e9542ed69d3acd835b3ba3df70f50866873e/rtems-libbsd” 8588e95/rtems-libbsd]:

if_atsam: Shorten sysctl names

Update #4652.

Author: Trac Migrate

2022-06-01T07:52:43.000Z

Original author: sebastian.huber

In [changeset:”61f646d9b90b161e6b8676111241817658017ece/rtems-libbsd” 61f646d/rtems-libbsd]:

if_atsam: Recover from receive freezes

Under unknown conditions the receive path ended up in a frozen state.
In this state, the DMA and driver descriptor head were equal and all
receive descriptors had the used bit set.  So, the DMA was unable to
store received frames.  However, the receive daemon was never woken up
to refill the receive buffers.  It seems that the RXUBR interrupt can be
used to recover from this state.

Update #4652.

Author: Trac Migrate

2022-06-01T07:53:41.000Z

Original author: sebastian.huber

In [changeset:”5650e92685929911d7feefd3ec4bcf9d36fc249d/rtems-libbsd” 5650e92/rtems-libbsd]:

if_atsam: Allow stats reset via sysctl

Update #4652.

Author: Trac Migrate

2022-06-01T07:53:42.000Z

Original author: sebastian.huber

In [changeset:”eb58e8219751873d6afccbda8a0a6e1a2aec9c44/rtems-libbsd” eb58e82/rtems-libbsd]:

if_atsam: Add register sysctls

Update #4652.

Author: Trac Migrate

2022-06-01T07:53:43.000Z

Original author: sebastian.huber

In [changeset:”1ed12b8af7627ca80461a09098ce4f8ca4973454/rtems-libbsd” 1ed12b8/rtems-libbsd]:

if_atsam: Add tx/rx desc sysctls

Update #4652.

Author: Trac Migrate

2022-06-01T07:53:45.000Z

Original author: sebastian.huber

In [changeset:”eea3f0eec3a0e1029e6a2b3589a754c7f301be35/rtems-libbsd” eea3f0e/rtems-libbsd]:

if_atsam: Shorten sysctl names

Update #4652.

Author: Trac Migrate

2022-06-01T07:53:46.000Z

Original author: sebastian.huber

In [changeset:”9e87868ec21acde84707a8807151ec42c09983bd/rtems-libbsd” 9e87868/rtems-libbsd]:

if_atsam: Recover from receive freezes

Under unknown conditions the receive path ended up in a frozen state.
In this state, the DMA and driver descriptor head were equal and all
receive descriptors had the used bit set.  So, the DMA was unable to
store received frames.  However, the receive daemon was never woken up
to refill the receive buffers.  It seems that the RXUBR interrupt can be
used to recover from this state.

Update #4652.

4656 - sync() whould synchronize all file descriptors (cloned)

Id

4656

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-05-13T10:58:51.000Z

Updated

2022-05-17T13:20:31.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::fixed, tickettype::defect, version::4.5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4656

Merges

0

Original author: sebastian.huber

Cloned from #4655:


According to POSIX

https://pubs.opengroup.org/onlinepubs/9699919799/functions/sync.html

we have

The sync() function shall cause all information in memory that updates file systems to be scheduled for writing out to all file systems.

Currently, the RTEMS sync() implementation synchronizes only the file descriptors associated with a FILE object. This should be changed to call fsync() and fdatasync() for all file descriptors.

Author: Trac Migrate

2022-05-17T13:20:31.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3ccfb58311ace35a0562daa6ecff6e94f77bfe8b/rtems” 3ccfb583/rtems]:

Synchronize all file descriptors in sync()

Synchronize all file descriptors and not just the ones associated with a FILE
object.

Close #4656.

4654 - pfctl: Fix global state initialization (cloned)

Id

4654

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-05-11T11:37:24.000Z

Updated

2022-05-13T06:53:13.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4654

Merges

0

Original author: sebastian.huber

Cloned from #4653:


The last update introduced a static variable in get_query_socket() which was not initialized.

Author: Trac Migrate

2022-05-11T13:17:11.000Z

Original author: sebastian.huber

In [changeset:”c9696eb29a6878b5dc6fd98c380b3ce69341bb8a/rtems-libbsd” c9696eb/rtems-libbsd]:

pf02: Fix shell envirionment initialization

Update #4654.

Author: Trac Migrate

2022-05-11T13:17:13.000Z

Original author: sebastian.huber

In [changeset:”435b298b0f34ca0d1f73fcf68bbb49db1ef57c7e/rtems-libbsd” 435b298/rtems-libbsd]:

pfctl: Fix global state initialization

Update #4654.

Author: Trac Migrate

2022-05-11T13:19:09.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”211c5ed82c3c2d3bb784c875653556cfc9da8a6d/rtems-libbsd” 211c5ed/rtems-libbsd]:

pf02: Fix shell envirionment initialization

Close #4654.

Author: Trac Migrate

2022-05-13T06:53:13.000Z

Original author: sebastian.huber

In [changeset:”ae635eb21422c5066ef34742195d45a9fb04c777/rtems-libbsd” ae635eb/rtems-libbsd]:

pfctl: Fix global state initialization

Update #4654.

4650 - tcpdump: Fix dumping to file and reading from file (cloned)

Id

4650

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-05-11T06:44:34.000Z

Updated

2022-05-12T05:44:39.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4650

Merges

0

Original author: sebastian.huber

Cloned from #4649:


When dumping to file, the file needs to be closed at program exit. When reading from file, we do not need the loop monitor. Do not use signals, since they are not cleaned up at program exit.

Author: Trac Migrate

2022-05-12T05:41:43.000Z

Original author: sebastian.huber

In [changeset:”a4c3d7468a93dda77a417b893f98bd9b14d01674/rtems-libbsd” a4c3d74/rtems-libbsd]:

tcpdump01: New test

Update #4650.

Author: Trac Migrate

2022-05-12T05:41:44.000Z

Original author: sebastian.huber

In [changeset:”7bc7bae957ab1abccc69ca6c9edad0ce923d4f31/rtems-libbsd” 7bc7bae/rtems-libbsd]:

Add program destructor support

Update #4650.

Author: Trac Migrate

2022-05-12T05:41:46.000Z

Original author: sebastian.huber

In [changeset:”bd2201b9df71cde5032b2fdc52a0ad2977915cbd/rtems-libbsd” bd2201b/rtems-libbsd]:

tcpdump: Make loop monitor cooperative

This helps a bit if the fgetc() is non-blocking.

Update #4650.

Author: Trac Migrate

2022-05-12T05:41:47.000Z

Original author: sebastian.huber

In [changeset:”face369437c00b28663e83ecd3b95f76ab60a8f8/rtems-libbsd” face369/rtems-libbsd]:

tcpdump: Use rtems_task_exit()

Update #4650.

Author: Trac Migrate

2022-05-12T05:41:49.000Z

Original author: sebastian.huber

In [changeset:”869cb1adc1ec4c1fee7f97db66ac3de5bffa13ae/rtems-libbsd” 869cb1a/rtems-libbsd]:

tcpdump: Close pcap dumper at program exit

Update #4650.

Author: Trac Migrate

2022-05-12T05:41:50.000Z

Original author: sebastian.huber

In [changeset:”70c9ac2771e59700088815db7e75df68d7f55364/rtems-libbsd” 70c9ac2/rtems-libbsd]:

tcpdump: No loop monitor if reading from file

Update #4650.

Author: Trac Migrate

2022-05-12T05:41:51.000Z

Original author: sebastian.huber

In [changeset:”45dfdc1c527c4953e4229f5b6e28883d0fefa7c0/rtems-libbsd” 45dfdc1/rtems-libbsd]:

tcpdump: Ensure loop monitor termination

Update #4650.

Author: Trac Migrate

2022-05-12T05:41:53.000Z

Original author: sebastian.huber

In [changeset:”584dd8d94015929a9727c13ba28d18237132d13e/rtems-libbsd” 584dd8d/rtems-libbsd]:

tcpdump: Do not use signals and chroot

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:15.000Z

Original author: sebastian.huber

In [changeset:”544ba25fb2e7768c112d922a2fd1d1d06c9dfb96/rtems-libbsd” 544ba25/rtems-libbsd]:

tcpdump01: New test

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:19.000Z

Original author: sebastian.huber

In [changeset:”c6212520abc119a4b49f7f513adb45c46ac3fc62/rtems-libbsd” c621252/rtems-libbsd]:

Add program destructor support

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:22.000Z

Original author: sebastian.huber

In [changeset:”479b4de6f19d9fcf1818447474fc00cd6754f406/rtems-libbsd” 479b4de/rtems-libbsd]:

tcpdump: Make loop monitor cooperative

This helps a bit if the fgetc() is non-blocking.

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:26.000Z

Original author: sebastian.huber

In [changeset:”6fb7134a91b8f6da9165fd2484a8e0f4545b390e/rtems-libbsd” 6fb7134/rtems-libbsd]:

tcpdump: Use rtems_task_exit()

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:29.000Z

Original author: sebastian.huber

In [changeset:”011f4894e042469507cbe55295415446eaaa7cfe/rtems-libbsd” 011f489/rtems-libbsd]:

tcpdump: Close pcap dumper at program exit

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:33.000Z

Original author: sebastian.huber

In [changeset:”c9b44ba907c959630286886b8a98bc848ecd9a70/rtems-libbsd” c9b44ba/rtems-libbsd]:

tcpdump: No loop monitor if reading from file

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:36.000Z

Original author: sebastian.huber

In [changeset:”32ebbd376764b6f1c127e758bce2b27ce1e87c62/rtems-libbsd” 32ebbd3/rtems-libbsd]:

tcpdump: Ensure loop monitor termination

Update #4650.

Author: Trac Migrate

2022-05-12T05:44:39.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”5ad77a9a189c28447c1257b0d0dd6210dabb77e2/rtems-libbsd” 5ad77a9/rtems-libbsd]:

tcpdump: Do not use signals and chroot

Close #4650.

4646 - Control buildsets using the –with-* command line option

Id

4646

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-05-05T01:03:50.000Z

Updated

2022-05-05T22:03:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4646

Merges

0

The following thread has raise an important issue on how we can test newer versions of tools. This ticket is about providing a solution:

https://lists.rtems.org/pipermail/devel/2022-May/071458.html

The solution is allow users to specific a tool set on the command line for a build of tools. The standard option is --with-.*. For example a command line could be:

../source-builder/sb-set-builder \\
--prefix=/opt/rtems/6 \\
--log=arm.txt \\
--with-rtems-gcc=tools/rtems-gcc-head-newlib-head \\
6/rtems-arm

The buildset logic is to be changed to expand macros for buildset file names and to add a new buildset specific keyword %defineifnot. The tools default file becomes:

#
# Default tools configuration.
#
%include 6/rtems-base.bset

#
# Default RTEMS build. Override on the command line to the
# the RSB. For example to test the latest versino of gcc use:
#
#  --with-rtems-gcc=tools/rtems-gcc-head-newlib-head
#
%defineifnot with_rtems_dtc      devel/dtc-1.6.1-1
%defineifnot with_rtems_expat    devel/expat-2.4.8-1
%defineifnot with_rtems_gmp      devel/gmp-6.2.1
%defineifnot with_rtems_gdb      tools/rtems-gdb-11.2
%defineifnot with_rtems_binutils tools/rtems-binutils-2.38
%defineifnot with_rtems_gcc      tools/rtems-gcc-10-newlib-head
%defineifnot with_rtems_tools    tools/rtems-tools-6

#
# Build gdb first to raise the Python install error as early as
# possible.  GDB needs expat so it needs to be built before.
#
%{with_rtems_dtc}
%{with_rtems_expat}
%{with_rtems_gmp}
%{with_rtems_gdb}
%{with_rtems_binutils}
%{with_rtems_gcc}
%{with_rtems_tools}

This approach lets cron based CI flows configure a build with the latest gcc, binutils etc so they can always be tested as a workflow.

The new keyword lets a define in a nested buildset file override a command line value. That may be needed.

Author: Trac Migrate

2022-05-05T22:03:49.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7d80719f7472debdf7d54a61f9ffc7fc31d57d13/rtems-source-builder” 7d80719/rtems-source-builder]:

sb/setbuilder: Control buildsets using the --with-* command line option

- Expand macros in buildset file names

- Add support to buildsets for `%defineifnot`

- Update 6 and 7 to support command line build overrides

Closes #4646

4644 - wkspace “failed allocations” increase with heap protection enabled (cloned)

Id

4644

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-04-28T06:52:10.000Z

Updated

2022-04-28T07:13:22.000Z

Milestone

6.1

Labels

priority::low, resolution::fixed, rtems::score, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4644

Merges

0

Original author: mfletcher

Cloned from #4643:


Investigating the “Total number of failed allocations:” from the wkspace cmd i see that;

/* Statistics */ ++stats->failed_allocs;

Are incremented when _Heap_Allocate_aligned_with_boundary fails, however it seems this will routinely fail due to;

_Heap_Protection_free_all_delayed_blocks seemingly on purpose creating an impossibly large allocation.

uintptr_t large = 0 * (uintptr_t) HEAP_BLOCK_HEADER_SIZE * (uintptr_t) HEAP_ALLOC_BONUS * (uintptr_t) 1;

void *p = _Heap_Allocate( heap, large );

This makes it difficult to place a breakpoint on failed_allocs to investigate true low memory situations with heap protection enabled.

Author: Trac Migrate

2022-04-28T07:13:22.000Z

Original author: mfletcher

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”8b18037f203b2b2dfceae4fb46e7eca388f229ad/rtems” 8b18037f/rtems]:

heap: Fix heap statistics with protection enabled

Close #4644.

4631 - RSB fails to build gdb with Python 3.10 (and newer)

Id

4631

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2022-03-18T12:09:33.000Z

Updated

2022-04-26T23:12:34.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::gdb, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4631

Merges

0

Original author: frank_k

The rtems-source-builder fails to build the tools in a Fedora 35 container. I am building ARM for RTEMS 6 and get this error message:

config: tools/rtems-gdb-11.2.cfg
error: shell macro failed: /home/minna/src/rtems-source-builder/source-builder/sb/rtems-build-dep -c gcc  -l : 2: error: no library (-l) provided
Build Set: Time 0:00:33.396165

The same error appears for other architectures like AARCH64, POWERPC, RISCV on Fedora 35. The source for this error is in file source-builder/config/gdb-common-1.cfg in line 118:

104 %ifnos darwin
105   %if %{host_ldflags} == %{nil}
106     %define gdb-host-libs %{nil}
107   %else
108     %define gdb-host-libs -L '%{host_ldflags}'
109   %endif
110   %if %{gdb-python-config} != %{nil}
111     %define gdb-python-lib-filter awk 'BEGIN{FS=" "}/python/{for(i=1;i<NF;++i)if(match($i,".*lpython.*")) print "lib"substr($i,3)"*";}'
112     %if %{gdb-python-ver-mm} < 3.8
113         %define gdb-python-config-lib-check-flags --ldflags
114     %else
115         %define gdb-python-config-lib-check-flags --ldflags --embed
116     %endif
117     %define gdb-python-config-libs %(%{gdb-python-config} %{gdb-python-config-lib-check-flags} | %{gdb-python-lib-filter})
118     %define gdb-python-lib-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-libs} -l %{gdb-python-config-libs})
119   %else
120     %define gdb-python-lib-check %(%{_sbdir}/sb/rtems-build-dep -c %{__cc} %{gdb-host-libs} -l %{gdb-python-ver-lib})
121   %endif
122   %if %{gdb-python-lib-check} == not-found && !%{_rsb_getting_source}
123     %error "gdb: python: library file not found: %{gdb-python-ver-lib}, please install"
124   %endif
125 %endif

Some values of involved variables:

gdb-python-ver-mm = 3.10
gdb-python-config = /usr/bin/python3-config
gdb-python-config-lib-check-flags = --ldflags
gdb-python-lib-filter = awk 'BEGIN{FS=" "}/python/{for(i=1;i<NF;++i)if(match($i,".*lpython.*")) print "lib"substr($i,3)"*";}'
gdb-python-config-libs = ''

The trouble is that gdb-python-config-libs is empty when line 118 gets called. It is empty because there is no python-library in the output of this call on Fedora 35:

$ /usr/bin/python3-config --ldflags
-L/usr/lib64  -lcrypt -ldl  -lm -lm

Just to compare, on OpenSUSE 15.3 the same call returns (note the ``-lpython3.6m ``):

$ /usr/bin/python3-config --ldflags
-L/usr/lib64 -lpython3.6m -lpthread -ldl  -lutil -lm  -Xlinker -export-dynamic

Commenting out line 118 makes the build go through smoothly but I would prefer a permanent fix.

  • Would be skipping line 118 when gdb-python-config-libs is empty be an appropriate solution?

  • Is the “real” error in line 112? (%if 3.10 < 3.8 evaluates unexpectedly to true)

  • Would the “error” in line 123 print out the correct library name?

  • Does the whole check make sense when python3-config is obviously installed (both the command and the library are “usually” in the same pythonX-devel package)?

Notes:

  • On Fedora 35 /usr/lib64/libpython3.10.so exists.

  • On Fedora 35 adding --embed provides the library:

$ /usr/bin/python3-config --ldflags --embed
-L/usr/lib64 -lpython3.10 -lcrypt -ldl  -lm -lm

For the records:

Command:

../source-builder/sb-set-builder --rtems-version 6 --prefix /opt/rtems/6 --with_cxx --with_fortran --with_objc --jobs=12 --log ~/sb-set-builder.log 6/rtems-arm

RTEMS rtems-source-builder git: 6fe98f91d94bbf965bc0e78015585ff8823d17bd RTEMS: 6 Target architecture: ARM Host architecture: x86_64 Hoast Kernel: 5.3.18-150300.59.49-default OS: Fedora Linux 35 (Container Image) Container image base: docker.io/library/fedora:latest Python version in container: 3.10.2 Test date: 2022-03-18T11:02:10+01:00 rtems-source-builder/source-builder/sb-check log:

RTEMS Source Builder - Check, 6 (6fe98f91d94b modified)
warning: exe: absolute exe found in path: (__chown) /usr/sbin/chown
warning: exe: absolute exe found in path: (__install_info) /usr/bin/install-info
Environment is ok

Author: Trac Migrate

2022-03-21T14:31:11.000Z

Original author: frank_k

  • Summary changed from RSB fails to build gdb on Fedora 35 to RSB fails to build gdb with Python 3.10 (and newer)

Author: Trac Migrate

2022-04-21T07:42:35.000Z

Original author: frank_k

  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Trac Migrate

2022-04-26T23:12:33.000Z

Original author: frank_k

In [changeset:”4c3708f127a4dd179271a8f17855a4f209953bd5/rtems-source-builder” 4c3708f/rtems-source-builder]:

sb: %if checks are numeric if the left and right values are numbers

- If the left and right values are numbers make the check numeric.

Update #4631

Author: Trac Migrate

2022-04-26T23:12:34.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”70f302e08c9053637f5eff7dfb52d3442aaf76cb/rtems-source-builder” 70f302e/rtems-source-builder]:

gdb: Split python's version into major/minor and check for embed option

Closes #4631

4641 - x86_64 elf_machdep header file missing body

Id

4641

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-04-07T12:59:03.000Z

Updated

2022-04-08T13:25:41.000Z

Milestone

6.1

Labels

arch:x86_64, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4641

Merges

0

Original author: rlong

The elf_machdep header file is missing the body under cpukit/score/cpu/x86_64/include/machine.

Joel found the code that needed to be put in at http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/amd64/include/elf_machdep.h.

Author: Trac Migrate

2022-04-08T13:25:41.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”5efcd021ef4032412f3d698f7d53b491e6498ff4/rtems” 5efcd021/rtems]:

x86_64/elf_machdep.h: Replace stub with NetBSD version

The other ports included that architecture's version of this file from
NetBSD. This patch follows that pattern.

closes #4641

4639 - Error in imfs memfile when device is full

Id

4639

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2022-04-04T13:31:12.000Z

Updated

2022-04-07T08:27:37.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4639

Merges

0

Cloned from #4638:


The problem from #2353 still exists in 5 and 6:

Original description:


From the reporter (Круглов Сергей <skruglov@nm.ru>):

  • First bug I detect with attempt write file to full device (zero empty blocks).

  • And after I send too many files, disk overflow and system not responding (receive and write to disk have high priority). A test, and found block=0, after – = too big value.

  • In imfs_memfile.c

function IMFS_memfile_extend block declared: unsigned int block, and after block— work incorrect (if block = 0). for ( ; block>=old_blocks ; block– ) { IMFS_memfile_remove_block( memfile, block ); }

Must be declare int block;

Author: Trac Migrate

2022-04-07T08:27:37.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”43119193ef0f3fef6bc01a391ccda8a97cfc149c/rtems” 43119193/rtems]:

imfs: Fix index underrun when extending empty file

Currently the following sequence causes a endless loop when extending an
IMFS file:

- Create a file with zero length and close it.
- Make sure nearly no allocatable memory is left.
- Open the file and write enough data into it that more than the
remaining memory will be used.

In that case when extending the IMFS file, the file currently need zero
blocks. If allocating enough new blocks fails, the already allocated new
blocks will be freed again.

The comparison of block>=old_blocks that has been used prior to this
patch compared two unsigned numbers. If old_blocks was zero, the
comparison of these two numbers always evaluated to true.

This patch frees the last block in a separate step to avoid this
problem.

Fixes #4639

4635 - untar on JFFS slow down

Id

4635

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-03-29T05:27:34.000Z

Updated

2022-04-05T21:52:37.000Z

Milestone

6.1

Labels

filesystem::jffs2, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4635

Merges

0

Using untar on JFFS is slower on rtems 6 compared to 4.11. The application writes files to the flash disk from an in memory tarfile and the difference is easy to see for 10M or so of files.

I reviewed the changes to JFFS in rtems 6 and they look OK so it is not a regression the libfs. I also timed the flash driver and it is the same on 6 as 4.11.

I noticed on 6 there is a lot more blocks being written at the flash driver level compared to 4.11. Looking at untar I see the block size written is 512 bytes and with compression this results in a lot of small blocks. Changing the untar block write size to 8K speeds returns the performance.

I am not sure why there are more blocks on 6. A guess is the compression is better, which is is nice. I will not look into this any more than changing untar to use 8K blocks.

Author: Trac Migrate

2022-04-05T21:52:37.000Z

  • Owner set to Chris Johns <chrisj@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”500e69639e3009ae542c6677b8600af591ad7d2f/rtems” 500e6963/rtems]:

libmisc/untar: Use a larger block size to read and write files

- A larger block size lets files systems work better. On JFFS
a 512 byte compressed block means lots of small flash updates

Closes #4635

4632 - Error in rtems/thread.hpp with GCC 12

Id

4632

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2022-03-18T13:59:22.000Z

Updated

2022-03-19T09:24:02.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4632

Merges

0

Original author: sebastian.huber

There is a compile error with GCC 12:

In file included from /home/EB/sebastian_h/src/rtems/cpukit/librtemscxx/thread.cpp:35:
/home/EB/sebastian_h/src/rtems/cpukit/include/rtems/thread.hpp:449:14: error: redefinition of default argument for 'class<template-parameter-1-4>'
449 |              class = thread::enable_if_attributes<A>>
|              ^~~~~
/home/EB/sebastian_h/src/rtems/cpukit/include/rtems/thread.hpp:312:17: note: original definition appeared here
312 |                 class = enable_if_attributes<A>>
|                 ^~~~~

Author: Trac Migrate

2022-03-19T09:24:02.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7fe3c623290a3f17d37241748410c8484a326483/rtems” 7fe3c62/rtems]:

thread.hpp: Fix redefinition of default argument

A default argument shall be defined only once.

Close #4632.

4548 - Add RTEMS version option to waf configure

Id

4548

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2021-11-12T23:00:52.000Z

Updated

2022-03-18T13:48:30.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4548

Merges

0

We need a way to override the default release for testing. This is a developer option and is not for production. A waf option is considered the best way to manage this.

Author: Trac Migrate

2021-11-13T13:53:19.000Z

This enhancement should be solved in a more general setting. What we need is the ability for maintainers to alter build system variables which a user should not be able to change.

What we could do is using an _ prefix for internal build system variables which may be changed by the config.ini file if an --rtems-maintainer-mode option is given at the configure command line.

An alternative would be a get-option option action (similar to set-value) which uses a command line specified value if it is available. We could also add this feature to set-value.

Author: Chris Johns

2021-11-14T02:56:59.000Z

I think maintainer experiments should be done with spec file changes on feature branches. My concern about a generic method from the command line, INI file or any other method is the testable dependencies it exposes. I feel what we have and where we are at is a good compromise between the web of options we had with //autoconf’s// configure and the ever present complexity of build and BSP options we have to have.

I agree the implementation of how to manage this should follow reasonable design paths but I think the type of action needed has to be explicit with wscript or spec file changes.

I have added a call named item_set_action_value() that takes a path and value. The value needs to be of a type and nature that matches the action. The code to set the major version from the command line is:

if conf.options.rtems_version is not None:
item_set_action_value(conf, '/cpukit/optvermaj/set-value', conf.options.rtems_version)

I think a path to address an item is a suitable abstraction. This version value update happens before the items are processed by configure which is important.

Author: Trac Migrate

2021-11-17T08:12:02.000Z

In [changeset:”a0650f5f323204f7eec709d6d1155d7ce85ca16c/rtems” a0650f5f/rtems]:

build: Support command line specified options

Update #4548.

Author: Trac Migrate

2021-11-17T08:12:05.000Z

In [changeset:”f06dd3e1762e9555adf74d7f1bcc7b09db9c401c/rtems” f06dd3e/rtems]:

build: Optional __RTEMS_MAJOR__ via command line

Update #4548.

Author: Trac Migrate

2021-11-17T08:12:09.000Z

In [changeset:”c1395ca0568a27e4b4b4d22f309f36b18a575db7/rtems” c1395ca0/rtems]:

build: Add --rtems-version command line option

Update #4548.

Author: Joel Sherrill

2021-12-17T17:22:19.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Closing. This is in the tree now.

Author: Trac Migrate

2022-01-11T15:47:42.000Z

In [changeset:”fa1c18ef0732c4b07d584b3e5199560ae4c8e795/rtems-docs” fa1c18e/rtems-docs]:

eng: Document get-string-command-line action

Close #4548.

Author: Trac Migrate

2022-01-11T15:56:22.000Z

In [changeset:”1ba0f4103a220d0793d4fe25d3dbe09eac29cbd7/rtems-docs” 1ba0f41/rtems-docs]:

eng: Document get-string-command-line action

Update #4548.

Author: Trac Migrate

2022-03-18T13:48:30.000Z

In [changeset:”1a5991e4e763305c3133a5bb2ad9c036b9b7bf9b/rtems” 1a5991e/rtems]:

build: Apply command line options to all variants

Update #4548.

4629 - shell: Potential stack corruption in rtems_shell_init()

Id

4629

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-03-15T06:11:06.000Z

Updated

2022-03-18T07:06:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4629

Merges

0

Original author: sebastian.huber

The rtems_shell_init() passes the address of a stack variable (exit_code) to rtems_shell_run(). If wait == false, then the stack variable goes out of scope but may be accessed by the created shell thread.

Author: Trac Migrate

2022-03-15T06:11:35.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

- The rtems_shell_init() passes the address of a stack variable to rtems_shell_run(). If wait == false, then the stack variable goes out of scope but may be accessed by the created shell thread.
?                                                               ^^

+ The rtems_shell_init() passes the address of a stack variable (exit_code) to rtems_shell_run(). If wait == false, then the stack variable goes out of scope but may be accessed by the created shell thread.
?                                                               ^^^^^^^^^^^^^^

Author: Trac Migrate

2022-03-18T07:06:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b837c8386954b2aff5ee563ffec4383cb4052a43/rtems” b837c83/rtems]:

shell: Avoid potential stack corruption

The rtems_shell_init() passed the address of a stack variable
(exit_code) to rtems_shell_run().  If wait == false, then the stack
variable goes out of scope but may be accessed by the created shell
thread.

The rtems_shell_script() was affected by the same problem.

Close #4629.

4345 - Nexus Driver for Marvell mv643xx Ethernet Adapter (powerpc/beatnik BSP, MVME6100 board)

Id

4345

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-16T09:37:03.000Z

Updated

2022-03-07T09:43:45.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4345

Merges

0

Original author: till.straumann@psi.ch

This pull request.

Note that this driver builds on top of the low-level driver which is part of the beatnik BSP and requires a patch to the rtems bsp which was submitted in a related ticket.

Author: Trac Migrate

2022-03-07T09:42:58.000Z

Original author: till.straumann@psi.ch

  • Milestone changed from %”5.1” to %”6.1”

Author: Trac Migrate

2022-03-07T09:43:24.000Z

Original author: till.straumann@psi.ch

In [changeset:”de0badf2c3aea5328936e583c842f58e80e56d62/rtems-libbsd” de0badf/rtems-libbsd]:

if_mve: Add MV643XX Ethernet driver

Update #4345.

Author: Trac Migrate

2022-03-07T09:43:45.000Z

Original author: till.straumann@psi.ch

In [changeset:”878713ba4536b5826bd537da7d4fb3d668409153/rtems-libbsd” 878713b/rtems-libbsd]:

if_mve: Add MV643XX Ethernet driver

Close #4345.

4167 - Coverity Scan Does Not Run on rtems6

Id

4167

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2020-10-28T16:14:14.000Z

Updated

2022-02-09T14:52:58.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tickettype::enhancement, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4167

Merges

0

This is a ticket to note that Coverity does not appear to like the gcc version going from one to two digits. Since the Coverity Scan support for free users is minimal, I asked on the GCC mailing list if anyone had insight (https://gcc.gnu.org/pipermail/gcc/2020-October/234073.html).

This is completely outside our control and this is just a tracking ticket to note that Coverity Scan reports will be run against the 5 branch until this is fixed. This will likely be of limited use since rtems 5 is stable and changes are minimal compared to the rtems master.

If it really is a two digit major issue (unconfirmed if this works for gcc 9), I could do Coverity builds using a special toolchain based on gcc 9.

Author: Joel Sherrill

2020-10-29T15:19:10.000Z

I have done some more analysis which I reported in the GCC mailing list thread. I build sparc-rtems6 tools using gcc 7, 8, 9, and 10. Coverity worked using GCC 7, 8, and 9 but not 10 using the autoconf build since that made it more similar to gcc 7 on rtems5. It required uninstalling Coverity and reinstalling each time I switched GCC versions. There must be some residual configuration left between runs which this addresses.

I did try the waf build with gcc 7, 9, and 10. Same behavior as with the autoconf build.

The questions going forward are:

  • Is there a way to make Coverity aware of a bug like this? Support for the open source projects using Coverity Scan is minimal.

  • Do we want to switch to the master for Coverity runs? This would require me using a special gcc9 build. The code on rtems5 is stable and any fixes/changes are much more likely to be on the master so I tend to lean to switching.

This is going to be an issue until Coverity updates the binary for Scan to support GCC 10.

Author: Joel Sherrill

2021-12-16T20:02:55.000Z

Coverity Scan has been running on RTEMS for a while now. Closing.

Author: Joel Sherrill

2022-02-09T14:52:58.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Didn’t get closed last time.

4588 - RTEMS Stack Checker Report Bad Access When Not Enabled

Id

4588

State

closed

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Trac Migrate

Created

2022-01-26T20:40:58.000Z

Updated

2022-01-27T18:59:40.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4588

Merges

0

The RTEMS stack checker reporting function can be called without the stack checker infrastructure being enabled. This causes a bad access to 0x0 because the static interrupt stack checker data remains null instead of being initialized by rtems_stack_checker_begin_extension. The actual failure occurs in Stack_check_Find_high_water_mark while searching for U32_PATTERN.

This was found when the trailing D was left off of the CONFIGURE_STACK_CHECKER_ENABLED define in a test program.

Author: Trac Migrate

2022-01-27T18:59:40.000Z

In [changeset:”b539af865ea3217a50c8e4cbf0f668807c134356/rtems” b539af8/rtems]:

cpukit: Prevent error with disabled stack checker

When the stack checker is not enabled, the stack checker reporting
function can still be called. This prevents that call from performing a
null memory access in trying to find the high water mark if the stack
checker was never initialized.

This also introduces a test to ensure this call does not cause a crash.

Closes #4588

3143 - Remove obsolete rtems_gxx_*() implementation

Id

3143

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2017-09-19T11:35:01.000Z

Updated

2022-01-27T13:10:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::score, tickettype::enhancement, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3143

Merges

0

Original author: sebastian.huber

GCC versions prior to 6.1 used a RTEMS thread model based on rtems_gxx_*() functions. GCC version 6.1 or later uses the self-contained synchronization objects of Newlib <sys/lock.h> for the RTEMS thread model.

Remove the obsolete implementation.

Author: Trac Migrate

2017-09-19T11:40:43.000Z

Original author: sebastian.huber

  • Status changed from assigned to accepted

Author: Joel Sherrill

2017-09-19T12:01:26.000Z

Original author: sebastian.huber

Are all the tool targets now using a sufficiently new GCC to remove this?

Author: Trac Migrate

2017-09-19T12:05:58.000Z

Original author: sebastian.huber

  • Milestone changed from %”4.12.0” to %”Indefinite”

Oh no, some targets still use GCC 4.8…

Author: Trac Migrate

2018-11-12T06:44:18.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”5.1”

The removal of the m32c port removed the dependency on GCC 4.8.

Author: Trac Migrate

2018-11-12T06:46:03.000Z

Original author: sebastian.huber

An update of the or1k tools will remove the dependency on GCC 4.9.

Author: Trac Migrate

2018-11-21T07:12:33.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Move milestone to allow RTEMS 5 builds with older GCCs.

Author: Trac Migrate

2022-01-27T13:10:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”2145e0c7bf31c681a745eeee57f4e889d7587ecc/rtems” 2145e0c7/rtems]:

Remove obsolete rtems_gxx_*() implementation

GCC versions prior to 6.1 used a RTEMS thread model based on
rtems_gxx_*() functions. GCC version 6.1 or later uses the
self-contained synchronization objects of Newlib <sys/lock.h> for the
RTEMS thread model.

Remove the obsolete implementation.

Close #3143.

4585 - Multiple Prototype Issues/Mismatches in rtems-examples from trace linker

Id

4585

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2022-01-24T22:38:14.000Z

Updated

2022-01-26T18:29:01.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4585

Merges

0

This is some of the build failures in rtems-examples if the BSP has POSIX turned on:

/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:  hello-test.c:185:199: error: expected declaration specifiers or '...' before 'Thread_CPU_budget_algorithm_callout'
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:   185 | bool __wrap__Thread_Initialize(Objects_Information* a1, Thread_Control* a2, const Scheduler_Control* a3, void* a4, size_t a5, bool a6, Priority_Control a7, bool a8, Thread_CPU_budget_algorithms a9, Thread_CPU_budget_algorithm_callout a10, uint32_t a11, Objects_Name a12)
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:       |                                                                                                                                                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error: compiling wrapper: Compiler error

/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:  hello-deep.c:1296:6: error: conflicting types for '_Thread_Start'
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:  1296 | bool _Thread_Start(Thread_Control* a1, const Thread_Entry_information* a2, ISR_lock_Context* a3);
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:       |      ^~~~~~~~~~~~~
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc: In file included from  hello-deep.c:30:
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc: /home/joel/rtems-class/bsp-install/aarch64-rtems6/xilinx_zynqmp_lp64_qemu/lib/include/rtems/score/threadimpl.h:279:16: note: previous declaration of '_Thread_Start' was here
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:   279 | Status_Control _Thread_Start(
/home/joel/rtems-class/tools/bin/aarch64-rtems6-gcc:       |                ^~~~~~~~~~~~~

error: compiling wrapper: Compiler error

Author: Trac Migrate

2022-01-26T18:29:01.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”756897818360a6c110886fb5740303563c92f7a4/rtems-tools” 75689781/rtems-tools]:

linkers/rtems-score/thread*.ini: Remove symbols no longer present.

Close #4585.

2869 - Remove support for 16-bit object identifiers

Id

2869

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2017-01-17T13:04:40.000Z

Updated

2022-01-26T13:49:37.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::score, tickettype::enhancement

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2869

Merges

0

Original author: sebastian.huber

The only target using 16-bit object identifiers is M32C. This optimization is not worth the trouble. Self-contained objects are much more attractive for low end systems.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

Author: Joel Sherrill

2021-12-17T16:56:58.000Z

Original author: sebastian.huber

This has been implemented. Closing.

Author: Trac Migrate

2022-01-26T13:49:37.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4025 - NFS Client is broken on 64-bit targets

Id

4025

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-07-08T11:35:07.000Z

Updated

2022-01-26T13:44:40.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4025

Merges

0

Original author: sebastian.huber

Cloned from #4024.

Author: Trac Migrate

2022-01-26T13:44:40.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

This was fixed by [03d7f76a810fe13c750afc3324f615b25fa7006b/rtems-libbsd].

4020 - Change all version numbers to RTEMS 6 on the master branches

Id

4020

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-06-30T07:12:02.000Z

Updated

2022-01-26T13:42:45.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4020

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-06-30T07:14:55.000Z

Original author: sebastian.huber

In [changeset:”b89e62fd191d2cf974e042cfbd0bda3e4342d0df/rtems-source-builder” b89e62f/rtems-source-builder]:

Change version to RTEMS 6

Update #4020.

Author: Trac Migrate

2020-06-30T07:20:48.000Z

Original author: sebastian.huber

In [changeset:”37c36def7a7ef4488c68958735275fb23b80fd86/rtems” 37c36de/rtems]:

Change version to RTEMS 6

Update #4020.

Author: Trac Migrate

2020-06-30T07:32:05.000Z

Original author: sebastian.huber

In [changeset:”351bb7e41d15a18ed388b005f8c21614a272e8c0/rtems-tools” 351bb7e/rtems-tools]:

Change version to RTEMS 6

Update #4020.

Author: Trac Migrate

2020-06-30T07:40:30.000Z

Original author: sebastian.huber

In [changeset:”16f8cc46bb12072ea7dd639497a408a4f78a717c/rtems-docs” 16f8cc4/rtems-docs]:

Change version to RTEMS 6

Update #4020.

Author: Trac Migrate

2020-08-10T09:49:47.000Z

Original author: sebastian.huber

In [changeset:”6626ed504c954d0208129b3b2c8524fcfe572f12/rtems” 6626ed50/rtems]:

Doxyfile: Change version to 6.0.0

Update #4020.

Author: Trac Migrate

2022-01-26T13:42:45.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

This is probably done.

3951 - Remove obsolete powerpc BSPs

Id

3951

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-04-14T15:44:13.000Z

Updated

2022-01-26T13:42:27.000Z

Milestone

6.1

Labels

arch:powerpc, priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3951

Merges

0

Original author: sebastian.huber

Remove powerpc BSPs for unsupported ISA variants (e.g. SPE and the embedded FPU). Remove powerpc BSPs for dead projects. This includes:

  • brs5l

  • brs6l

  • dp2

  • mpc5566evb_spe

  • mpc5643l_dpu

  • mpc5643l_evb

  • mpc5674f_ecu508_app

  • mpc5674f_ecu508_boot

  • mpc5674fevb_spe

  • mpc5674f_rsm6

Author: Trac Migrate

2020-07-05T16:01:15.000Z

Original author: sebastian.huber

In [changeset:”70b803b5549016ab1ca12816e862217b8198e449/rtems” 70b803b5/rtems]:

bsps/powerpc: Remove SPE enabled variants

The PowerPC SPE support was removed from GCC.

Update #3951.

Author: Trac Migrate

2020-07-05T16:01:18.000Z

Original author: sebastian.huber

In [changeset:”523551ccf66085584ecb1f9685a454f99ab102a9/rtems” 523551cc/rtems]:

bsps/powerpc: Remove obsolete BSPs

Update #3951.

Author: Trac Migrate

2020-12-10T07:32:48.000Z

Original author: sebastian.huber

In [changeset:”efda67be4f1ae39ef4b44855d90f48910af5156e/rtems-tools” efda67b/rtems-tools]:

config: Remove obsolete BSPs

Update #3951.

Author: Trac Migrate

2022-01-26T13:42:27.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

3566 - Remove checks for Newlib features introduced during the RTEMS 5 development

Id

3566

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-10-22T06:02:08.000Z

Updated

2022-01-26T13:36:18.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3566

Merges

0

Original author: sebastian.huber

Remove checks for O_DIRECTORY, O_CLOEXEC and O_NOFOLLOW.

Author: Trac Migrate

2022-01-26T13:36:18.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

This was done as a side-effect of the new build system.

3321 - Improve console driver documentation

Id

3321

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-03-06T12:14:57.000Z

Updated

2022-01-26T13:31:59.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3321

Merges

0

Original author: sebastian.huber

We have now three different standard console drivers. Improve the console driver configuration documentation to assist the user to select the right one.

Author: Trac Migrate

2018-03-06T12:15:14.000Z

Original author: sebastian.huber

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2022-01-26T13:31:59.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Documentation was improved.

4198 - arm: Add multilib for Cortex-R52 processor

Id

4198

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-12-03T07:59:08.000Z

Updated

2022-01-26T10:01:55.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4198

Merges

0

Original author: sebastian.huber

This processor uses the ARMv8-R instruction set.

Author: Trac Migrate

2020-12-03T19:34:38.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”9ef9956f600dcce0ec9cf06820adf47203e22dc3/rtems-source-builder” 9ef9956/rtems-source-builder]:

6/7: Add multilib for ARM Cortex-R52 processor

Close #4198.

Author: Trac Migrate

2020-12-04T06:16:30.000Z

Original author: sebastian.huber

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

There is an issue with the memchr() implementation provided by Newlib:

File: /opt/rtems/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/lib/thumb/cortex-r52/hard/libc.a(lib_a-memchr.o)
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1

Author: Trac Migrate

2020-12-15T09:35:09.000Z

Original author: sebastian.huber

In [changeset:”96c1e17164bc58118342ca8ab9deede6bf5ba29a/rtems-source-builder” 96c1e17/rtems-source-builder]:

6/7: Update unstable RTEMS 6/7 tool chain

This update includes a fix for the ARM Cortex-R52 support in Newlib.

Update #4198.

Author: Trac Migrate

2022-01-26T10:01:55.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

4581 - Add AArch64 to Tier 1 BSPs

Id

4581

State

closed

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Trac Migrate

Created

2022-01-18T16:08:13.000Z

Updated

2022-01-25T23:44:37.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4581

Merges

0

I finally got around to producing an emailed test run on the Avnet ZU3EG development board. The test results are available here

Author: Trac Migrate

2022-01-19T17:53:07.000Z

In [changeset:”e0f9f8ff5058d3217f07a261c5579836efd0b716/rtems-tools” e0f9f8f/rtems-tools]:

tiers: Add AArch64 to tier 1

Hardware test results have recently been posted for AArch64.

Closes #4581

Author: Trac Migrate

2022-01-25T23:44:37.000Z

In [changeset:”91a58afdc89fab3fbc5661b49c5fbebfafdf8e0b/rtems-tools” 91a58af/rtems-tools]:

rtems-bsps-tiers.ini: Move appropriate aarch64 BSPs to Tier 1 and 2

This also resulted in finding some BSPs listed which were no longer
in the RTEMS source.

Updates #4581.

4583 - rtems-bsp-builder: Do not vary on network

Id

4583

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2022-01-20T16:04:49.000Z

Updated

2022-01-25T23:44:33.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4583

Merges

0

With the network stack removed from the rtems.git repository, there is no need to build BSPs with and without networking. This should be removed. It should reduce the number of BSP build configurations in a run.

Author: Joel Sherrill

2022-01-20T18:01:44.000Z

  • Owner set to @joel

I’ll take a swing at this while testing the tier updates.

Author: Trac Migrate

2022-01-25T23:44:33.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”519acfb2f6ad7957bf2a3d0c73c2535988dd5de4/rtems-tools” 519acfb/rtems-tools]:

rtems-bsps-arm.ini, config/rtems-bsps.ini: Remove build variance on network

With the legacy TCP/IP stack no longer in rtems.git, there is nothing
to turn on/off with regards to BSPs or the stack itself. Removing this
significantly reduces the number of configurations built.

Closes #4583.

4302 - Obsolete powerpc/haleakala board

Id

4302

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-03-04T19:40:49.000Z

Updated

2022-01-19T17:53:04.000Z

Milestone

6.1

Labels

arch:powerpc, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4302

Merges

0

This BSP was merged in 1995 and there has been no mention of it recently. There do not appear to be any recent modifications to this BSP that are not part of a generic sweep of BSPs.

Removing this will reduce the number of BSPs which need modification to account for changes being introduced to support libbsd bus interface properly on PowerPC.

Author: Trac Migrate

2021-12-21T15:04:49.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”e92bc254530825ae14646520b35efe000699ce74/rtems” e92bc254/rtems]:

Remove powerpc/haleakala board

Closes #4302.

Author: Trac Migrate

2022-01-19T17:53:04.000Z

In [changeset:”f2282276c68155dc1928cdc0d9611d977ad6b86b/rtems-tools” f228227/rtems-tools]:

rtems-bsps-powerpc.ini: Remove powerpc/halekala

Updates #4302.

4110 - Ubuntu package list is broken

Id

4110

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2020-10-02T02:33:59.000Z

Updated

2021-12-22T15:28:57.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4110

Merges

0

The list found here:

https://docs.rtems.org/branches/master/user/hosts/posix.html#xubuntu

failed with libpython-dev. A Linux user needs to check this and update the list.

Author: Chris Johns

2020-10-02T02:39:02.000Z

I suggest adding:

sudo apt-get install python3-venv
python3 -m venv py
. ./py/bin/activate

because there is no python command

Author: Trac Migrate

2021-12-22T15:28:57.000Z

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”4e22dfefea3c2ee26d0be2aef91732fb95cac607/rtems-docs” 4e22dfe/rtems-docs]:

Update package list for Ubuntu

Updated the latest version referenced of Ubuntu to 20.04, updated
package list, and identified what packages need to still be installed
afterwards to pass sb-check.

Closes #4110

3613 - Remove m32c architecture port from upstream tools

Id

3613

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2018-11-19T08:59:20.000Z

Updated

2021-12-21T15:11:17.000Z

Milestone

6.1

Labels

arch:m32c, priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3613

Merges

0

Original author: sebastian.huber

The m32c architecture port was removed in RTEMS 5.1. Remove RTEMS-specific support in the upstream tools, e.g. Binutils and GCC.

Author: Joel Sherrill

2021-12-17T16:10:41.000Z

Original author: sebastian.huber

Patch for GCC submitted: https://gcc.gnu.org/pipermail/gcc-patches/2021-December/587094.html

Nothing beyond pattern matching in stanzas in ld/configure.tgt and bfd/config.bfd. Asked on binutils mailing list if there is anything to do.

Author: Joel Sherrill

2021-12-21T15:08:30.000Z

Original author: sebastian.huber

GCC commit pushed here:

https://gcc.gnu.org/g:1f56dbe2daaa5931356d0018c2c2c17bb4691d0e

GCC WWW commit pushed here:

https://gcc.gnu.org/git/?p=gcc-wwwdocs.git;a=commit;h=e8c01982ea7abc0acc0c4a52552ca8786abaa4fb

Binutils-GDB commit pushed here:

https://sourceware.org/git?p=binutils-gdb.git;a=commit;h=ae47e3097e9f0608490ed4a53c1710301d409ad1

Author: Joel Sherrill

2021-12-21T15:11:17.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

2872 - Get rid of CONFIGURE_MAXIMUM_PTYS

Id

2872

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2017-01-19T12:07:26.000Z

Updated

2021-12-17T16:57:43.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::score, tickettype::enhancement

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2872

Merges

0

Original author: sebastian.huber

Change the Termios PTY driver for Telnet to use the new Termios device API. This why the CONFIGURE_MAXIMUM_PTYS gets superfluous.

Author: Chris Johns

2017-01-19T22:45:33.000Z

Original author: sebastian.huber

Should the pty support the separated to allow reuse?

I am porting tinyssh can could use it.

Author: Trac Migrate

2017-01-20T09:21:40.000Z

Original author: sebastian.huber

The current PTY driver is a collection of hacks. It would be certainly good to overhaul it and make it generally useful.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

Author: Joel Sherrill

2021-12-17T16:57:43.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from new to closed

This has been implemented.

4129 - x86_64 not listed as architecture in components in Trac

Id

4129

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-07T13:55:05.000Z

Updated

2021-12-17T14:23:53.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4129

Merges

0

Just needs to be added.

Author: Joel Sherrill

2021-12-17T14:23:53.000Z

  • Cc added @karel.gardas

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Added the component and cc’ed Karel so he would know about it. :)

3828 - Switch over to new build system

Id

3828

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-12-02T07:59:33.000Z

Updated

2021-12-17T14:19:10.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::task, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3828

Merges

0

Original author: sebastian.huber

During a four month period every RTEMS user is encouraged to test its BSPs of interest with the new build system. The user should use the following check list. Issues should be reported on devel@rtems.org or this ticket.

  1. Review the build system specification in the user manual. If something is unclear, please complain.

  2. Use “./waf bsp_defaults” to get a list of options with default values for the BSPs of interest. Check that all options are present. Check the type of the options in the build specification (e.g. actions get-integer, get-boolean, get-string). Review the description of the options. Review the default values. Add sanity checks to options (e.g. actions assert-*).

  3. Build the BSPs of interest with all tests enabled (BUILD_TESTS = True). Review the ABI and linker options. Review the linker command files. Run the test on the boards.

  4. Build the BSPs of interest with different permutations of build options. Make sure a sample set of tests runs for each permutation.

  5. Check that all artefacts (libraries, header files, start files, linker command files, etc.) are properly installed.

  6. Check that you can build your applications and third-party libraries with the installed BSPs of interest.

Author: Trac Migrate

2019-12-19T08:21:07.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Trac Migrate

2021-12-17T08:01:03.000Z

Original author: sebastian.huber

RTEMS commit https://git.rtems.org/rtems/commit/?id=db8f598d56951cf43f22a5e325e0d23c8f7559f9 removed the old build system so this ticket is most likely done?

Author: Joel Sherrill

2021-12-17T14:19:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Agreeing with Christian that this ticket is complete. Any issues with the waf build system now are being treated as bugs and the autotools one has been removed.

4180 - Add BSP for i.MXRT1050

Id

4180

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-11-17T10:16:50.000Z

Updated

2021-12-17T07:40:16.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4180

Merges

0

Original author: Christian Mauderer

Add a BSP for the ​i.MXRT1050 series. The default settings for the BSP will run on the IMXRT1050-EVKB evaluation board.

Author: Trac Migrate

2020-11-20T07:54:42.000Z

Original author: Christian Mauderer

In [changeset:”e00f4434281bad6d06fdc7d0f940de8710976e06/rtems” e00f443/rtems]:

imx: Move imx_iomux to arm/shared

Update #4180

Author: Trac Migrate

2020-11-20T07:54:45.000Z

Original author: Christian Mauderer

In [changeset:”6cece5854499bfba8b00aa23588c78156fe1ff16/rtems” 6cece585/rtems]:

bsps/imx: Move imx-gpio to arm/shared

Update #4180

Author: Trac Migrate

2020-11-20T07:54:49.000Z

Original author: Christian Mauderer

In [changeset:”b169095c7dfd106a9c0c3d47e9f1c640ac3377d2/rtems” b169095c/rtems]:

cpu/armv7m: Add table based init for ARMV7M_MPU

Modify the MPU functions of the stm32h7 BSP to be table based and
available for all ARMV7M BSPs.

Update #4180

Author: Trac Migrate

2020-11-20T07:54:53.000Z

Original author: Christian Mauderer

In [changeset:”48f6a6c302a3e1a3f8915e2503d0fe618d1af285/rtems” 48f6a6c/rtems]:

bsp/imxrt: Import files from MCUXpresso SDK V2.8.5

The following files have been imported:

cp ${SDK}/boards/evkbimxrt1050/project_template/clock_config.c nxp/boards/evkbimxrt1050
cp ${SDK}/boards/evkbimxrt1050/project_template/clock_config.h include/fsl_clock_config.h
cp ${SDK}/boards/evkbimxrt1050/project_template/dcd.c start/flash-dcd.c
cp ${SDK}/boards/evkbimxrt1050/project_template/pin_mux.c nxp/boards/evkbimxrt1050
cp ${SDK}/boards/evkbimxrt1050/project_template/pin_mux.h include/fsl_pin_mux.h
cp ${SDK}/boards/evkbimxrt1050/xip/evkbimxrt1050_flexspi_nor_config.h include/fsl_flexspi_nor_config.h
cp ${SDK}/devices/MIMXRT1052/MIMXRT1052.h include
cp ${SDK}/devices/MIMXRT1052/MIMXRT1052_features.h include
cp ${SDK}/devices/MIMXRT1052/drivers/fsl_*.c nxp/devices/MIMXRT1052/drivers
cp ${SDK}/devices/MIMXRT1052/drivers/fsl_*.h include
cp ${SDK}/devices/MIMXRT1052/fsl_device_registers.h include
cp ${SDK}/devices/MIMXRT1052/system_MIMXRT1052.h include/
cp ${SDK}/devices/MIMXRT1052/xip/fsl_flexspi_nor_boot.c nxp/devices/MIMXRT1052/xip/fsl_flexspi_nor_boot.c
cp ${SDK}/devices/MIMXRT1052/xip/fsl_flexspi_nor_boot.h include

Update #4180

Author: Trac Migrate

2020-11-20T07:54:56.000Z

Original author: Christian Mauderer

In [changeset:”8abf858cf583f535b7e44c63ea40f1d30bbb5e7b/rtems” 8abf858c/rtems]:

bsp/imxrt: Fix warnings for imported files

Update #4180

Author: Trac Migrate

2020-11-20T07:54:59.000Z

Original author: Christian Mauderer

In [changeset:”57b5b29ce41c093c527e757335c85293b436b366/rtems” 57b5b29c/rtems]:

bsp/imxrt: Adapt imported files

Update #4180

Author: Trac Migrate

2020-11-20T07:55:03.000Z

Original author: Christian Mauderer

In [changeset:”7141afbb0ea41675ef8cf7e60f398aaf900defd9/rtems” 7141afbb/rtems]:

bsp/imxrt: Add new BSP

Update #4180

Author: Trac Migrate

2020-11-20T08:07:53.000Z

Original author: Christian Mauderer

In [changeset:”e95d992e3c5bdb733f3cf317a5684b94390659cb/rtems-docs” e95d992/rtems-docs]:

user/bsps: Add imxrt

Update #4180

Author: Trac Migrate

2020-12-14T11:54:55.000Z

Original author: Christian Mauderer

In [changeset:”b63a187ec021f084ad2240ae8ff533e82644a740/rtems” b63a187/rtems]:

bsps/imxrt: Split up dts.

This allows simpler creation of own dts files for custom boards.

Update #4180

Author: Trac Migrate

2020-12-14T11:54:59.000Z

Original author: Christian Mauderer

In [changeset:”9b3def237addd99154817f85c6c1a7ef62e444f1/rtems” 9b3def2/rtems]:

bsps/arm/imx*: Fix location of shared headers

When moving the headers from the imx BSP to the shared area, the wrong
directory has been selected. This patch fixes that problem.

Update #4180

Author: Trac Migrate

2020-12-14T11:55:02.000Z

Original author: Christian Mauderer

In [changeset:”eb2b91560943065ae6297018d69076ac7b0c6c35/rtems” eb2b915/rtems]:

cpu/armv7m: Fix table based init for ARMV7M_MPU

Somehow the table index has been missing in the latest patch version.
With that, the configuration for the first region has been applied
multiple times.

Update #4180

Author: Trac Migrate

2020-12-14T11:55:29.000Z

Original author: Christian Mauderer

In [changeset:”2cf307632080fab9561b13616f5d744f23f869b2/rtems-docs” 2cf3076/rtems-docs]:

user/bsp/imxrt: Information for custom FDT

Update #4180

Author: Trac Migrate

2021-01-21T09:26:38.000Z

Original author: Christian Mauderer

In [changeset:”22e9dafb7499769780be17c493d301bfdeb88ef5/rtems” 22e9dafb/rtems]:

bsps/imxrt: Use standard names to avoid warnings

If spi or i2c slaves are "connected" to the spi or i2c bus, the device
tree compiler complains if the busses are not named spi or i2c.

Update #4180

Author: Trac Migrate

2021-01-21T09:26:42.000Z

Original author: Christian Mauderer

In [changeset:”301bbc3a4d80ab26fe0ac09a139d9c6ea0f997ee/rtems” 301bbc3/rtems]:

bsps/shared: Copy fsl-edma from mpc55xx

This is a preparation for making the driver universal.

Update #4180

Author: Trac Migrate

2021-01-21T09:26:45.000Z

Original author: Christian Mauderer

In [changeset:”a434cc80cb00e2f15a51205d6b813fc8c58803ac/rtems” a434cc8/rtems]:

bsps/shared: Adapt fsl-edma driver for imxrt

Note: The changes have been done with portability in mind. The driver
should (in theory) be able to replace the original one in the MPC BSPs
too. For full compatibility an adaption layer and especially a test
would be necessary. Because both are missing, don't integrate it into
the MPC BSP now.

Update #4180

Author: Trac Migrate

2021-01-21T09:26:48.000Z

Original author: Christian Mauderer

In [changeset:”d9794a1f97a48545582d28617ee76fb8176fa1cd/rtems” d9794a1/rtems]:

bsps/imxrt: Add DMA numbers to dtsi

Also currently no driver uses these numbers, it is usefull for
applications that want to use the DMA.

Update #4180

Author: Trac Migrate

2021-01-21T09:26:55.000Z

Original author: Christian Mauderer

In [changeset:”36b4e8c394cd891e3e8bddefd9eb21ff17cbff46/rtems” 36b4e8c/rtems]:

bsps/imxrt: Add ioctl to LPSPI to get registers

This allows an application to get the registers of the LPSPI. That is
usefull for applications that want to use DMA for a very specialized and
highly optimized communication.

Update #4180

Author: Trac Migrate

2021-05-17T07:13:13.000Z

Original author: Christian Mauderer

In [changeset:”08e4e6f2bb82ca07d67e9930f6b07de09cedd5a8/rtems” 08e4e6f2/rtems]:

bsps/imxrt: Fix documentation error

Update #4180

Author: Trac Migrate

2021-05-17T07:13:16.000Z

Original author: Christian Mauderer

In [changeset:”c30566667deb96f3abde167968c1a0db90b74792/rtems” c3056666/rtems]:

bsps/imxrt: Reduce devicetree size

Remove symbols that would be necessary for overlays and decrease padding
that would be necessary for adding stuff during run-time.

Update #4180

Author: Trac Migrate

2021-05-17T07:13:20.000Z

Original author: Christian Mauderer

In [changeset:”988cc1a795ec63350ce700efd86c7437b4b0801c/rtems” 988cc1a/rtems]:

bsps/imxrt: Add addresses and interrupts to dts

Add addresses and interrupts for most internal peripherals to the dts.
The additional aliases make it possible for an application to easily
access these informations.

Update #4180

Author: Trac Migrate

2021-05-17T07:13:23.000Z

Original author: Christian Mauderer

In [changeset:”691fec407a0faae379cab23679ec8456ace9fb06/rtems” 691fec40/rtems]:

bsps/imxrt: Fix OCRAM, ITCM and DTCM sizes

The sizes are configurable via fuses or per software via some registers.
At the moment the registers are not changed. Changing the registers
destroys data stored in the RAM areas (like application code or data).
So either the fuses or some bootloader should be used to set them before
the application starts.

This also adds an OCRAM only linker command file.

Update #4180

Author: Trac Migrate

2021-05-17T07:13:27.000Z

Original author: Christian Mauderer

In [changeset:”15e26f4d7f808368362fbe82888fe66485d082dd/rtems” 15e26f4/rtems]:

bsps/imxrt: Enable DMA clock

The EDMA is intialized so make sure the the clock is initialized too.

Update #4180

Author: Trac Migrate

2021-05-28T06:27:33.000Z

Original author: Christian Mauderer

In [changeset:”a3ebe17994beceef137acb0b240af185ed1b5768/rtems-docs” a3ebe17/rtems-docs]:

bsps/imxrt: Remove superfluous options from dtc

The -@ option adds symbols that are used when applying an overlay. RTEMS
doesn't support overlays or re-parsing of device trees. So the symbols
only increase the size of the binary.

The same is true for the padding. It would be useful if the device tree
is changed during run time which is not supported in RTEMS.

Update #4180

Author: Trac Migrate

2021-07-02T11:51:06.000Z

Original author: Christian Mauderer

In [changeset:”95a38dd3f10000ad05e22b4870b8b53ec8d549a0/rtems” 95a38dd/rtems]:

bsps/imxrt: Allow different ARM PLL setting

Update #4180

Author: Trac Migrate

2021-07-02T11:51:10.000Z

Original author: Christian Mauderer

In [changeset:”0d3453a47e522fbb13b211e44ce4007b666686f3/rtems” 0d3453a4/rtems]:

bsps/imxrt: Simplify linkcmds and make it flexible

Calling the memory FLASH and EXTRAM instead of FLEXSPI and SDRAM makes
it simpler to support other types of external RAM. This patch also
removes some of the calculations and improves names and documentation to
avoid pitfalls. It removes a unnecessary memory definition.

Update #4180

Author: Trac Migrate

2021-07-02T11:53:08.000Z

Original author: Christian Mauderer

In [changeset:”72ae964c5a88baddfb67483a0cb88dd736e06766/rtems-docs” 72ae964/rtems-docs]:

user/bsps/imxrt: Info about ARM PLL frequency

Update #4180

Author: Trac Migrate

2021-09-02T06:38:40.000Z

Original author: Christian Mauderer

In [changeset:”e495633887265c51dbfbd00a349e9b0da620d0ae/rtems” e495633/rtems]:

bsps/imxrt: Improve SPI driver

It wasn't possible to keep the CS line low between multiple message
descriptors in one transfer. This patch reworks the driver so that it is
possible.

Update #4180

Author: Trac Migrate

2021-12-17T07:39:50.000Z

Original author: Christian Mauderer

The base BSP works since quite some time now. Further changes to this BSP are improvements. Therefore closing this ticket now.

Author: Trac Migrate

2021-12-17T07:40:16.000Z

Original author: Christian Mauderer

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

3698 - libdl failure on many PowerPC BSPs

Id

3698

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2019-02-21T16:14:30.000Z

Updated

2021-12-16T22:18:34.000Z

Milestone

6.1

Labels

priority::normal, resolution::worksforme, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3698

Merges

0

The following BSPs do not build dl09:

powerpc-beatnik powerpc-brs5l powerpc-brs6l powerpc-dp2 powerpc-haleakala powerpc-icecube powerpc-mcp750 powerpc-mpc8260ads powerpc-mtx603e powerpc-mvme2100 powerpc-mvme2307 powerpc-mvme3100 powerpc-mvme5500 powerpc-pm520_cr825 powerpc-pm520_ze30 powerpc-qemuprep-altivec powerpc-qemuprep powerpc-qoriq_e6500_64 powerpc-ss555 powerpc-virtex4 powerpc-virtex5

They fail with this:

gmake[5]: Entering directory `/home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/testsuites/libtests'
powerpc-rtems5-gcc -mcpu=powerpc -mmultiple -mstring -mstrict-align -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs  -Wl,--gc-sections  -mcpu=powerpc -mmultiple -mstring -mstrict-align  -B./../../lib/libbsp/powerpc/motorola_powerpc -B/home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/powerpc/motorola_powerpc/start -specs bsp_specs -qrtems -L./../../cpukit -L/home/joel/rtems-work/rtems-testing/rtems/rtems/bsps/powerpc/shared/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -o dl01.pre dl01/dl01-init.o dl01/dl01-dl-load.o dl01-dl01-tar.o ../../lib/libbsp/powerpc/motorola_powerpc/librtemsbsp.a ../../cpukit/librtemscpu.a
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: ../../cpukit/librtemscpu.a(rtl-mdreloc-powerpc.o): in function `get_sdata_libdl_size':
/home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:73: undefined reference to `bsp_section_sdata_libdl_begin'
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: /home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:73: undefined reference to `bsp_section_sdata_libdl_begin'
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: /home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:74: undefined reference to `bsp_section_sdata_libdl_end'
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: /home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:74: undefined reference to `bsp_section_sdata_libdl_end'
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: ../../cpukit/librtemscpu.a(rtl-mdreloc-powerpc.o): in function `get_sdata_sbss_size':
/home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:63: undefined reference to `bsp_section_sdata_begin'
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: /home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:63: undefined reference to `bsp_section_sdata_begin'
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: /home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:64: undefined reference to `bsp_section_sbss_end'
/home/joel/rtems-work/tools/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld: /home/joel/rtems-work/rtems-testing/rtems/build-powerpc-qemuprep-rtems/powerpc-rtems5/c/qemuprep/cpukit/../../../../../rtems/c/src/../../cpukit/libdl/rtl-mdreloc-powerpc.c:64: undefined reference to `bsp_section_sbss_end'
collect2: error: ld returned 1 exit status

Author: Chris Johns

2019-02-21T21:35:03.000Z

Why do we have linkcmds.base and linkcmds.share in this arch and what are there differences? Why are the names similar?

I cannot find a any local readme type files explaining the reason there are two files. The git log entry for the addition of this file offers no insight.

At a guess the addition of mpc55xx as a new BSP required a new linkcmd file, which is fine, however an explanation on difference and rational would be helpful to me at this point.

Author: Trac Migrate

2019-02-22T10:04:59.000Z

The reason for this is excessive use of copy and paste in the past combined with the long history of the PowerPC port.

The bsps/powerpc/shared/start/linkcmds.base is similar to the bsps/arm/shared/start/linkcmds.base or bsps/riscv/shared/start/linkcmds.base. It uses memory regions and should be used for new BSPs.

The 64-bit PowerPC ELFv2 ABI has no small data area.

Author: Chris Johns

2019-02-23T23:32:17.000Z

I now see there are a couple of other BSP specific linkcmds files all of which need to be modified.

I am now seeing:

gmake[5]: Entering directory '/opt/work/chris/rtems/kernel/bsps/psim/powerpc-rtems5/c/mpc5643l_dpu/testsuites/sptests'
powerpc-rtems5-gcc  -mcpu=8540 -meabi -msdata=sysv -fno-common -msoft-float -mno-spe -mstrict-align -O2 -g -fno-keep-inline-functions -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B./../../lib/libbsp/powerpc/mpc55xxevb -B/opt/work/chris/rtems/kernel/rtems.git/bsps/powerpc/mpc55xxevb/start -specs bsp_specs -qrtems -L./../../cpukit -L/opt/work/chris/rtems/kernel/rtems.git/bsps/powerpc/shared/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections -o sp47.exe sp47/sp47-init.o ./../../lib/libbsp/powerpc/mpc55xxevb/librtemsbsp.a ./../../cpukit/librtemscpu.a
/opt/work/rtems/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bin/ld:linkcmds.mpc55xx:18 cannot move location counter backwards (from 00000000400165c0 to 0000000040010000)
collect2: error: ld returned 1 exit status
gmake[5]: *** [Makefile:5229: sp47.exe] Error 1

and this does not look related to what I have been working on. Is this test too big for this target?

Author: Chris Johns

2019-02-23T23:59:32.000Z

Further investigation of the mpc5643l_dpu BSP I see a lot of tests are failing to link. I think this BSP should have all tests disabled, sorry I have no capacity to maintaining this stuff.

What has changed in RTEMS to cause the tests to overflow the memory area? Is a bisect needed?

I will now look at adding regx support to the .tcfg files so wildcards can be supported. To exclude all tests:

rexclude *

can be used as a simple way to disable all tests. I may consider rexclude and rinclude as an order set of filters so:

rexclude *
rinclude samples/*

This syntax introduces the / delimiter so specific groups can be filtered.

Author: Trac Migrate

2019-02-25T06:16:13.000Z

The reason for the recent link-time errors on some small memory BSPs is the change from workspace initialization to static allocation for the objects. I work on this already, but is a bit tedious. My approach is to add some general *.tcfg files like this:

testsuites/testdata/disable-256k-data-or-more-tests.tcfg testsuites/testdata/disable-128k-data-or-more-tests.tcfg testsuites/testdata/disable-64k-data-or-more-tests.tcfg testsuites/testdata/disable-32k-data-or-more-tests.tcfg

Author: Chris Johns

2020-02-26T03:53:03.000Z

  • Milestone changed from %”5.1” to %”6.1”

Author: Chris Johns

2021-02-07T22:11:02.000Z

What is the status of this ticket?

Author: Chris Johns

2021-02-07T22:11:42.000Z

  • Status changed from assigned to new

Author: Trac Migrate

2021-12-16T22:18:11.000Z

Test built for the beatnik BSP

Author: Trac Migrate

2021-12-16T22:18:34.000Z

  • Resolution set to ~”worksforme”

  • Status changed from new to closed

4098 - All BSP bsets fail to build on master

Id

4098

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-28T20:59:40.000Z

Updated

2021-12-16T16:50:18.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4098

Merges

0

On the master building for RTEMS 6, all of the BSP bsets fail like this:

RTEMS Source Builder - Set Builder, 6 (ed5030bc24db)
Build Set: 6/bsps/xilinx_zynq_zedboard
error: no build set file found: 6/bsps/xilinx_zynq_zedboard.bset
Mailing report: build@rtems.org
Traceback (most recent call last):
File "../source-builder/sb-set-builder", line 25, in <module>
sb.setbuilder.run()
File "/home/joel/rtems-cron-6/rtems-source-builder/source-builder/sb/setbuilder.py", line 735, in run
b.build(deps, mail = mail)
File "/home/joel/rtems-cron-6/rtems-source-builder/source-builder/sb/setbuilder.py", line 633, in build
if sizes_valid:
UnboundLocalError: local variable 'sizes_valid' referenced before assignment

Author: Trac Migrate

2021-12-16T16:50:18.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4437 - powerpc/shared/sbrk.c: Do not reference errno

Id

4437

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-05-21T21:24:50.000Z

Updated

2021-12-16T16:32:43.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4437

Merges

0

Using errno implicitly references the newlib reentrancy structure. Changing this eliminates one reason the reentrancy code may be pulled into minimum.exe.

Author: Kinsey Moore

2021-12-16T16:32:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

This should have been closed by 402a206a1b1ff984b14c3321f0bc1340c4873147 but the close tag was malformed.

4192 - bsp/xilinx_zynq: Enable support for small MMU pages

Id

4192

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-11-27T13:34:57.000Z

Updated

2021-12-16T16:11:44.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4192

Merges

0

Original author: soja

Enable the xilinx_zynq based BSPs to support the configuration of the MMU to use small 4 kiB pages.

By default 1 MB pages will be used. The 4 kiB pages have to be enabled with the ARM_MMU_USE_SMALL_PAGES configuration option.

Author: Trac Migrate

2020-11-27T13:45:49.000Z

Original author: soja

Patch submitted: https://lists.rtems.org/pipermail/devel/2020-November/063517.html

Author: Kinsey Moore

2021-12-16T16:11:44.000Z

Original author: soja

  • Resolution set to ~”fixed”

  • Status changed from new to closed

This should have been closed with commit cadbd7d15086b76dc4e5dd199e47b68d40006e6d

4375 - Add futimens() and utimensat()

Id

4375

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-04-05T17:59:27.000Z

Updated

2021-12-16T15:54:33.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::fixed, tickettype::defect, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4375

Merges

0

RTEMS currently only supports utimes() which is marked as Legacy in the POSIX standard. Support needs to be added for futimens() and utimensat() per the following specification:

https://pubs.opengroup.org/onlinepubs/9699919799/functions/futimens.html

utimes() only has second granularity on its times. The newer methods greatly improve on that even if many of the RTEMS file systems do not support nanosecond times on the file access, create, etc timestamps.

The following changes have been identified:

  • The utimes file handler entry will need to be replaced with a handler geared to the futimens() API.

  • File systems will have to be updated to account for the new handler.

  • Existing methods like utimes() will have to be adjusted to be implemented in terms of the futimens() style method.

  • File system test cases will have to be added to the fstests.

Author: Joel Sherrill

2021-12-16T15:54:33.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

This was implemented and this ticket should have been closed.

1712 - Add LWIP Support to RTEMS

Id

1712

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2010-10-28T15:14:22.000Z

Updated

2021-12-16T15:53:06.000Z

Milestone

6.1

Labels

network::legacy, priority::normal, resolution::fixed, resolution::wontfix, tickettype::enhancement, version::4.11, version::HEAD

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1712

Merges

0

This port was done by Marcello Presulli <m.presulli@embed-it.com> and has been in my inbox for a while. I think I have merged most of their BSP specific work but the lwip has been pending. They managed to run LWIP+SNMP and an application in something like 128K RAM

Here are some email fragments about it.

For now we have just finished to port the latest lwip-1.3.2 based on the latest rtems 4.9.4 version successfully including a test_app for pings.

We have stressed the stack with ping floods (packetsize 1400 Bytes interval ~150ms) about 250.000 sequences or more without packet losses and an average latency of 2ms.

Additional we have adopted a new bsp target for the mcf5225x platform.

To lwip now:

we integrated it directly via the autoconfigure/automake process under the rtems cpukit/liblwip subtree and therefore it gets built with rtems when u configure it with –enable-networking=lwip appropriately. The driver on the other side we put it in libcpu/m68k/mcf5225x and it got built in the library context of the librtemsbsp.a. The driver has only 2 references on lwip headers …

To the bsp:

The bsp we have adopted from mcf52223 and have created it as a own bsp-target=mcf5225x also via the autoconfig/automake mechanism. In the bsp itself i have modified the bsp_get_CPU_clock_speed() and some improvements in the console driver and PIT2 timer interrupt. The bsp_start() we have defined as weak symbol so we don’t have to touch the “empty” bsp_start() of rtems coz it’s platform-circuit specific you know.

Author: Joel Sherrill

2010-10-28T15:14:22.000Z

LWIP + BSP modifications as received

Author: Trac Migrate

2010-11-02T23:41:51.000Z

  • Cc added @sebastian.huber

  • Cc added @@chrisj

  • Cc added @thomas.doerfler

  • Cc added @ralf.corsepius

Replying to comment:8:

Sebastian, others, I have had second thoughts about putting this in RTEMS. I agree that it would be better to submit the port to LWIP and let it live there. IMO, this proposal is non-applicable, because a network stack’s interactions are deeply woven with the OS.

Considering this, using an external networking stack introduces bootstrapping problems (== problems building rtems).

That said, to me, LWIP is a binary decision: Switch from BSD or LWIP rsp. to forget about it - I am very strongly leaning towards the latter and consider all proposal so far to be beyond reason.

Author: Gedare Bloom

2014-11-22T14:28:21.000Z

  • Description changed

This port was done by Marcello Presulli <m.presulli@embed-it.com> and has been in my inbox for a while.  I think I have merged most of their BSP specific work but the lwip has been pending.  They managed to run LWIP+SNMP and an application in something like 128K RAM

Here are some email fragments about it.



For now we have just finished to port the latest lwip-1.3.2 based on the latest rtems 4.9.4 version successfully including
a test_app for pings.

We have stressed the stack with ping floods (packetsize 1400 Bytes interval ~150ms) about 250.000 sequences or more without
packet losses and an average latency of 2ms.

Additional we have adopted a new bsp target for the mcf5225x platform.


To lwip now:

we integrated it directly via the autoconfigure/automake process under the
rtems cpukit/liblwip subtree and therefore it gets built with rtems
when u configure it with --enable-networking=lwip appropriately.
The driver on the other side we put it in libcpu/m68k/mcf5225x and it got
built in the library context of the librtemsbsp.a.
The driver has only 2 references on lwip headers ...

To the bsp:

The bsp we have adopted from mcf52223 and have created it as a own
bsp-target=mcf5225x also via the autoconfig/automake mechanism.
In the bsp itself i have modified the bsp_get_CPU_clock_speed() and some
improvements in the console driver and PIT2 timer interrupt.
The bsp_start() we have defined as weak symbol so we don't have to touch
the "empty" bsp_start() of rtems coz it's platform-circuit
specific you know.
  • Owner set to @joel

  • Status changed from new to assigned

  • Version changed from ~”HEAD” to ~”4.11”

Author: Gedare Bloom

2014-11-22T14:28:41.000Z

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

Author: Gedare Bloom

2014-11-22T14:29:10.000Z

  • Milestone changed from %”4.11” to %”5.0”

  • Resolution ~”wontfix” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2016-03-20T01:17:10.000Z

Some more LwIP pointers and ideas are expressed at next Wiki page

https://devel.rtems.org/wiki/Packages/LWIP

Author: Trac Migrate

2017-11-09T06:26:42.000Z

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

Author: Joel Sherrill

2021-12-16T15:53:06.000Z

  • Description changed

This port was done by Marcello Presulli <m.presulli@embed-it.com> and has been in my inbox for a while.  I think I have merged most of their BSP specific work but the lwip has been pending.  They managed to run LWIP+SNMP and an application in something like 128K RAM

Here are some email fragments about it.



For now we have just finished to port the latest lwip-1.3.2 based on the latest rtems 4.9.4 version successfully including
a test_app for pings.

We have stressed the stack with ping floods (packetsize 1400 Bytes interval ~150ms) about 250.000 sequences or more without
packet losses and an average latency of 2ms.

Additional we have adopted a new bsp target for the mcf5225x platform.


To lwip now:

we integrated it directly via the autoconfigure/automake process under the
rtems cpukit/liblwip subtree and therefore it gets built with rtems
when u configure it with --enable-networking=lwip appropriately.
The driver on the other side we put it in libcpu/m68k/mcf5225x and it got
built in the library context of the librtemsbsp.a.
The driver has only 2 references on lwip headers ...

To the bsp:

The bsp we have adopted from mcf52223 and have created it as a own
bsp-target=mcf5225x also via the autoconfig/automake mechanism.
In the bsp itself i have modified the bsp_get_CPU_clock_speed() and some
improvements in the console driver and PIT2 timer interrupt.
The bsp_start() we have defined as weak symbol so we don't have to touch
the "empty" bsp_start() of rtems coz it's platform-circuit
specific you know.
  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

lwip is currently in its own repo and has better support. Closing.

3878 - rtems06: All BSPs Fail to build with BSP Builder on rtems 6

Id

3878

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-02-20T14:12:10.000Z

Updated

2021-12-16T15:48:27.000Z

Milestone

6.1

Labels

priority::normal, resolution::worksforme, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3878

Merges

0

I think there are a couple of places in an rtems6 build of RTEMS itself where rtems5 is being used from some hard-coded. Not sure what’s up but here’s the message to the build@ list.

https://lists.rtems.org/pipermail/build/2020-February/010431.html

From the post above, you only see that all failed. Looking at the build log from a single BSP, I see is early which doesn’t cause a visible failure

gmake[4]: Entering directory `/home/joel/rtems-cron-6/b-jmr3904/mips-rtems6/c/jmr3904/make’ sed -e “s|[@]prefix[@]|/home/joel/rtems-cron-6/tools/6/bsp-install|” -e “s|[@]exec_prefix[@]|/home/joel/rtems-cron-6/tools/6/bsp-install/mips-rtems6|” -e “s|[@]pkgdatadir[@]|/home/joel/rtems-cron-6/tools/6/bsp-install/share/rtems5|”

and this one which is error inducing.

: error trying to exec ‘mips-rtems5-gcc’: execvp: No such file or directory error: compiling wrapper: Compiler error gmake[5]: *** [dl08-sym.o] Error 10

The first looks like a typo that isn’t breaking anything but needs to be fixed.

The latter is some issue during the dl tests using rtems5 or it is hard-coded in a tool somewhere.

Author: Joel Sherrill

2021-12-16T15:48:27.000Z

  • Resolution set to ~”worksforme”

  • Status changed from assigned to closed

4194 - RSB failed with mail subject: Build Linux: PASSED 6/rtems-arm on x86_64-linux-gnu

Id

4194

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-12-01T18:17:15.000Z

Updated

2021-12-16T15:47:03.000Z

Milestone

6.1

Labels

priority::normal, resolution::worksforme, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4194

Merges

0

Original author: sebastian.huber

error: config error: gdb-common-1.cfg:99: "gdb: python: header file not found: python2.7/Python.h, please install"
Build FAILED
Mailing report: build@rtems.org

The mail subject should indicated that the build failed.

Author: Joel Sherrill

2021-12-16T15:47:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”worksforme”

  • Status changed from new to closed

Haven’t seen a failed build with an incorrect header recently.

4070 - RISC-V Multiple Definition Error (many BSPs)

Id

4070

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-06T17:56:32.000Z

Updated

2021-12-16T15:40:50.000Z

Milestone

6.1

Labels

arch:riscv, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4070

Merges

0

This error appears to occur on all RISC-V BSPs which do not fail at the dynamic loading rap section 0 error. I assume that eventually they may all hit this. List of BSPs failing below message.

/home/joel/rtems-cron-6/tools/6/lib/gcc/riscv-rtems6/10.2.1/../../../../riscv-rtems6/bin/ld: ./../../lib/libbsp/riscv/riscv/librtemsbsp.a(htif.o):/home/joel/rtems-cron-6/rtems/bsps/riscv/riscv/include/dev/serial/htif.h:48: multiple definition of `htif_console_handler’; ./../../lib/libbsp/riscv/riscv/librtemsbsp.a(console-config.o):/home/joel/rtems-cron-6/rtems/bsps/riscv/riscv/include/dev/serial/htif.h:48: first defined here /home/joel/rtems-cron-6/tools/6/lib/gcc/riscv-rtems6/10.2.1/../../../../riscv-rtems6/bin/ld: ./../../lib/libbsp/riscv/riscv/librtemsbsp.a(htif.o):/home/joel/rtems-cron-6/rtems/bsps/riscv/riscv/include/dev/serial/htif.h:48: multiple definition of `htif_console_handler’; ./../../lib/libbsp/riscv/riscv/librtemsbsp.a(console-config.o):/home/joel/rtems-cron-6/rtems/bsps/riscv/riscv/include/dev/serial/htif.h:48: first defined here mv -f cdtest/.deps/cdtest-init.Tpo cdtest/.deps/cdtest-init.Po

rv32iac_spike rv32imac_spike rv32imafc_spike rv32imafdc_spike rv32imafd_spike rv32im_spike rv32i_spike rv64imac_medany_spike rv64imac_spike rv64imafdc_medany_spike rv64imafdc_spike rv64imafd_medany_spike rv64imafd_spike

Author: Joel Sherrill

2021-12-16T15:40:50.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Works now

4204 - Make Termination Handler which Prints Exit Information Less Scary

Id

4204

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-12-09T23:54:18.000Z

Updated

2021-12-16T15:39:48.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4204

Merges

0

This task is change the default termination handler to print successful exit when the cause was exit(0). It scares users to see it and requires explanation.

Author: Joel Sherrill

2021-12-16T15:39:48.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

This was implemented by Chris Johns.

4543 - cannot build multiprocessor application on eclipse

Id

4543

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-11-03T14:22:44.000Z

Updated

2021-12-16T15:38:53.000Z

Milestone

6.1

Labels

arch:aarch64, priority::high, resolution::worksforme, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4543

Merges

0

Original author: mohamedosama94

Hi,

hope my mail finds you well, i have an issue as i am using rtems6 for zinq a53_lp64 i downloaded the source and installed the toolchain aarch64-rtems6 and i built the bsp successfully by using waf and i used the qemu to run the test samples exe files successfully , so i installed the eclipse and added rtems plugin to it and i built the sample rtems example successfully but when i try to build an application task has test_begin() or test_end() the make is uncomplete and error (.text.Init+0x50): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rtems_test_begin’ always appear i tried open declaration and i found the reference prototype int rtems_test_begin(const char* name, const RTEMS_TEST_STATE state); on test-info.h so eclipse refuse to build as cannot see the source code of the function and this also for rtems_test_end so what i have to do to make the eclipse build the rtems-application, kindly check the logs

/home/mohamed/quick-starts/rtems/6/lib/gcc/aarch64-rtems6/10.3.1/../../../../aarch64-rtems6/bin/ld: o-optimize/init.o: in function `Init’: /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:64: undefined reference to `rtems_test_begin’ /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:64:(.text.Init+0x50): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rtems_test_begin’ /home/mohamed/quick-starts/rtems/6/lib/gcc/aarch64-rtems6/10.3.1/../../../../aarch64-rtems6/bin/ld: /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:66: undefined reference to `locked_print_initialize’ /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:66:(.text.Init+0x54): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `locked_print_initialize’ /home/mohamed/quick-starts/rtems/6/lib/gcc/aarch64-rtems6/10.3.1/../../../../aarch64-rtems6/bin/ld: o-optimize/init.o: in function `success’: /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:31: undefined reference to `rtems_test_end’ /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:31:(.text.Init+0x5c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rtems_test_end’ /home/mohamed/quick-starts/rtems/6/lib/gcc/aarch64-rtems6/10.3.1/../../../../aarch64-rtems6/bin/ld: /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:32: undefined reference to `rtems_test_exit’ /home/mohamed/eclipse-ground/rtems/rtems-app//init.c:32:(.text.Init+0x64): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `rtems_test_exit’ /home/mohamed/quick-starts/rtems/6/lib/gcc/aarch64-rtems6/10.3.1/../../../../aarch64-rtems6/bin/ld: o-optimize/init.o:(.rodata._User_extensions_Initial_extensions+0x80): undefined reference to `rtems_test_fatal_extension’ collect2: error: ld returned 1 exit status

best regards, Mohamed

Author: Joel Sherrill

2021-11-03T16:11:38.000Z

Original author: mohamedosama94

Those symbols are part of the RTEMS test support and would not have been included in whatever test directory you copied. They may be in a test support library. I don’t know if it is installed.

I hope you mean SMP and not multiprocessor. Those are different configurations in RTEMS terminology.

Which test did you copy?

Author: Trac Migrate

2021-11-04T10:43:20.000Z

Original author: mohamedosama94

Replying to Joel Sherrill:

Those symbols are part of the RTEMS test support and would not have been included in whatever test directory you copied. They may be in a test support library. I don’t know if it is installed. I hope you mean SMP and not multiprocessor. Those are different configurations in RTEMS terminology. Which test did you copy? Dear Joel Sherrill,

thanks for your reply, yes I mean SMP, and this issue happens when I use any test suites samples that have test_begin() and test_end() functions like: “base_mp “test, “base_sp” test but test like “hello” that doesn’t have these functions build normally on eclipse so how can I install the support library and make the eclipse can reach them

Author: Joel Sherrill

2021-11-04T13:29:30.000Z

Original author: mohamedosama94

Replace test_begin() and test_end() with a print to denote beginning and end of the test.

base_mp is for the distributed multiprocessing model in RTEMS. You want to build with SMP not multiprocessing (confusing I know). And I don’t think there is an SMP sample. You may have to look at one of the tests smptest directory. These all use test support functions also but smpschedaffinity01 and smpschedaffinity01 are not large and show how to do affinity. smpthreadpin01 shows pinning but is a bit more complicated than just demonstrating that a collection of threads were properly assigned to the desired core.

Author: Joel Sherrill

2021-12-16T15:38:53.000Z

Original author: mohamedosama94

  • Resolution set to ~”worksforme”

  • Status changed from new to closed

4126 - Remove legacy networking stack from rtems.git and place in a new repo

Id

4126

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2020-10-06T23:58:25.000Z

Updated

2021-12-16T15:36:46.000Z

Milestone

6.1

Labels

network::legacy, priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4126

Merges

0

Remove the legacy networking stack from rtems.git and place it in new top level repo rtems-legacy-network.git.

The initial tasks are:

  1. Move the code to a new repo

  2. Add rtems_waf support to build it

  3. Clean out BSP references to network interfaces or drivers

  4. Merge in the network demos repo

Author: Chris Johns

2020-10-07T00:08:03.000Z

  • Description changed

Remove the legacy networking stack from `rtems.git` and place it in new top level repo `rtems-legacy-network.git`.

The initial tasks are:

1. Move the code to a new repo

2. Add `rtems_waf` support to build it

3. Clean out BSP references to network interfaces or drivers
+
+ 4. Merge in the network demos repo

Author: Joel Sherrill

2021-12-16T15:36:46.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Already done.

4501 - TraceConverter.cc: Uncaught exception issue spotted by Coverity

Id

4501

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-19T19:21:36.000Z

Updated

2021-12-15T16:35:20.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4501

Merges

0

Original author: rlong

CID 1471639: Uncaught exception

CID 1471639 (#1-9 of 9): Uncaught exception (UNCAUGHT_EXCEPT)root_function: In function main(int, char **) an exception of type rld::error is thrown and never caught.
.
.
.
fun_call_w_exception: Called function throws an exception of type rld::error. [show details]
144    executableInfo = new Coverage::ExecutableInfo(
145      executable,
146      "",
147      false,
148      symbolsToAnalyze
149    );

Author: Trac Migrate

2021-10-08T13:58:46.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”234c19e847611c7514198e0d9b091e92eb868a89/rtems-tools” 234c19e/rtems-tools]:

TraceConverter.cc: Add catch for exception

CID 1471639: Uncaught exception

Closes #4501

Author: Trac Migrate

2021-10-08T19:17:21.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-10-13T17:05:08.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”958aa5b805616d2f06a839c113a2c6cf64537603/rtems-tools” 958aa5b/rtems-tools]:

TraceConverter.cc: Add catch for exception

CID 1471639: Add catch for exception

Closes #4501

Author: Trac Migrate

2021-10-18T15:32:48.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-11-04T15:43:20.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”d1df4f6e02fe22d2cb542adbd6ba4248ee077892/rtems-tools” d1df4f6/rtems-tools]:

TraceConverter.cc: Add catch for exception

CID 1471639: Add catch for exception

Closes #4501

Author: Trac Migrate

2021-11-15T20:13:41.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-11-30T16:00:21.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”59ca889149470477955e8842a95f64850dc33101/rtems-tools” 59ca889/rtems-tools]:

TraceConverter.cc: Add final catch for exceptions

CID 1471639: Add catch for exception

Closes #4501

Author: Trac Migrate

2021-12-13T13:34:03.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-12-15T16:35:20.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”c9aefbba45ec19085e6f668c3da7d617d21ce181/rtems-tools” c9aefbb/rtems-tools]:

TraceConverter.cc: Fix Uncaught exception issue

CID 1471639: Uncaught exception

Closes #4501

4569 - aarch64 cache support does not provide rtems_cache_disable_data()

Id

4569

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2021-12-10T13:52:44.000Z

Updated

2021-12-12T17:58:14.000Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4569

Merges

0

Original author: sebastian.huber

The aarch64 cache support defines:

bsps/aarch64/shared/cache/cache.c:#define CPU_CACHE_SUPPORT_PROVIDES_DISABLE_DATA

However, it does not provide rtems_cache_disable_data().

Author: Kinsey Moore

2021-12-10T15:31:20.000Z

Original author: sebastian.huber

You are correct, while the AArch64 cache code provides _CPU_cache_disable_data(), it does not provide rtems_cache_disable_data(). I’ll submit a patch to remove this define since the existing support via _CPU_cache_disable_data should be sufficient given that CPU_DATA_CACHE_ALIGNMENT is defined.

Author: Trac Migrate

2021-12-12T17:58:14.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”68b0db358c81a7f770a44ceb819197bdc320bc99/rtems” 68b0db35/rtems]:

bsps/aarch64: Remove erroneous cache feature

The AArch64 cache implementation does not define
rtems_cache_disable_data(), but declares that it does via
CPU_CACHE_SUPPORT_PROVIDES_DISABLE_DATA. The existing implementation of
_CPU_cache_disable_data() is sufficient to enable this functionality
without the erroneous cache feature flag.

Closes #4569

4081 - Remove Autoconf/Automake based build system

Id

4081

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-09-17T06:05:47.000Z

Updated

2021-11-29T15:00:03.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4081

Merges

0

Original author: sebastian.huber

Remove Autoconf/Automake based build system after a testing phase of the waf based build system. The planned date to remove the old build system is 1st November 2020.

For a status of the new build system see:

https://devel.rtems.org/wiki/Release/6/Waf%20BSP%20Checklist

Author: Chris Johns

2020-09-17T06:11:14.000Z

Original author: sebastian.huber

What will happen to https://git.rtems.org/rtems/tree/c/ACKNOWLEDGEMENTS ?

Author: Trac Migrate

2020-09-17T06:13:04.000Z

Original author: sebastian.huber

Move it to the top-level or the documentation?

Author: Chris Johns

2020-09-17T06:15:26.000Z

Original author: sebastian.huber

Sorry, I do not know. It is out of date but historically important. I think this is one for Joel.

I could not see anything else in the c tree.

Author: Chris Johns

2021-02-26T07:18:57.000Z

Original author: sebastian.huber

The motorola_powerpc bootloader is looks like it is linking in some fake rom code and in the autoconf build system that is conditional on it being a qemu build.

Author: Joel Sherrill

2021-09-13T21:42:26.000Z

Original author: sebastian.huber

  • Summary changed from Remove Autoconf/Aotomake based build system to Remove Autoconf/Automake based build system

Author: Joel Sherrill

2021-09-13T21:45:41.000Z

Original author: sebastian.huber

Any objections to removing this now? :)

The RTEMS kernel recipe is still broken but that’s about the end of it.

Author: Trac Migrate

2021-09-19T16:42:08.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a178eba2a4a1c08faf938376ac948bb5d2cb8a78/rtems-source-builder” a178eba/rtems-source-builder]:

Remove automake/autoconf from rtems 6 tools

These are unneeded with the waf build system.

Closes #4081.

Author: Trac Migrate

2021-09-21T08:25:58.000Z

Original author: sebastian.huber

In [changeset:”db8f598d56951cf43f22a5e325e0d23c8f7559f9/rtems” db8f598/rtems]:

build: Remove old build system

Close #3250.
Close #4081.

Author: Trac Migrate

2021-11-29T15:00:03.000Z

Original author: sebastian.huber

In [changeset:”e945e3fc4d6a6a74789c9a348120ec7d06e19231/rtems” e945e3fc/rtems]:

*/aclocal/*: Remove remnants of autoconf/automae build system

Updates #4081.

4527 - Add new directives to get all time values provided by the timehands

Id

4527

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-10-11T14:01:01.000Z

Updated

2021-11-19T08:54:28.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4527

Merges

0

Original author: sebastian.huber

Add directives for all time values provided by the timehands to the Clock Manager.

Author: Trac Migrate

2021-11-17T08:11:55.000Z

Original author: sebastian.huber

In [changeset:”ccbcfb679da0a6c07878d3ae4ff0f91cb1c3caee/rtems” ccbcfb6/rtems]:

rtems: Add new clock manager directives

Update #4527.

Author: Trac Migrate

2021-11-19T08:54:28.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”38ec48d2927d76d77442584d5325ef49d4774baa/rtems-docs” 38ec48d/rtems-docs]:

c-user: Document new clock manager directives

Add new clock manager directives to get all times provided by the
timehands.

Close #4527.

4221 - dtc recipe issue – dependency on yaml.h

Id

4221

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-01-22T19:52:32.000Z

Updated

2021-11-18T17:05:44.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4221

Merges

0

This shows up on FreeBSD and may just be a matter of me not knowing the right package to install. Which yaml development package should be loaded. But it does fail.

CC fstree.o
CC livetree.o
CC treesource.o
gmake: *** No rule to make target 'yaml.h', needed by 'yamltree.o'.  Stop.
shell cmd failed: /bin/sh -ex  /usr/home/joel/rtems-cron-6/rtems-source-builder/rtems/build/dtc-1.6.0-x86_64-freebsd12.2-1/do-build
error: building dtc-1.6.0-x86_64-freebsd12.2-1

Suggestions appreciated.
See error report: rsb-report-dtc-1.6.0-x86_64-freebsd12.2-1.txt

Author: Chris Johns

2021-01-23T23:32:28.000Z

$ find /usr/local/include -name yaml.h
/usr/local/include/yaml.h
$ pkg which /usr/local/include/yaml.h
/usr/local/include/yaml.h was installed by package libyaml-0.2.2

A patch to the user manual would be welcome

Author: Chris Johns

2021-01-23T23:33:27.000Z

  • Description changed

This shows up on FreeBSD and may just be a matter of me not knowing the right package to install. Which yaml development package should be loaded. But it does fail.
-
+ {{{
CC fstree.o
CC livetree.o
CC treesource.o
gmake: *** No rule to make target 'yaml.h', needed by 'yamltree.o'.  Stop.
shell cmd failed: /bin/sh -ex  /usr/home/joel/rtems-cron-6/rtems-source-builder/rtems/build/dtc-1.6.0-x86_64-freebsd12.2-1/do-build
error: building dtc-1.6.0-x86_64-freebsd12.2-1

Suggestions appreciated.
See error report: rsb-report-dtc-1.6.0-x86_64-freebsd12.2-1.txt
+ }}}

Author: Trac Migrate

2021-01-25T05:44:59.000Z

In [changeset:”c709017efba6de38225afc697a5ed2381cc12071/rtems” c709017/rtems]:

Fix RTEMS_LINKER_ROSET_ITEM_ORDERED_DECLARE()

Add "extern" similar to RTEMS_LINKER_RWSET_ITEM_ORDERED_DECLARE().

Close #4221.

Author: Trac Migrate

2021-01-25T05:46:44.000Z

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Sorry, wrong number in commit.

Author: Trac Migrate

2021-11-13T11:45:48.000Z

  • Owner set to kgardas

  • Status changed from reopened to accepted

This is a bug in dtc 1.6.0 which shows when yaml library is installed on FreeBSD. I already created a patch for it just to realize that 1.6.1 contains the same fix. Working on dtc-1.6.0 -> 1.6.1 update patch.

Author: Trac Migrate

2021-11-18T17:05:44.000Z

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”f2a89731ce258b524f6a5570000f6950f0d928c4/rtems-source-builder” f2a8973/rtems-source-builder]:

RSB: update dtc 1.6.0 -> dtc 1.6.1

Fixes #4221

Note: the patch updates only dtc 1.6.0 occurrences. It leaves all other
dtc (1.4.x) usages as they are just to not break anything which depends
on older dtc versions.

4145 - rtems-source-builder: Update RTEMS Kernel Recipe to Use waf for RTEMS

Id

4145

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-14T16:57:11.000Z

Updated

2021-11-09T17:06:43.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4145

Merges

0

kernel configuration builds using autoconf-based build system. Needs to be switched to waf. Hopefully contained to rtems-kernel-common.cfg.

Author: Joel Sherrill

2020-10-14T17:17:25.000Z

  • Summary changed from rtems-source-builder: RTEMS Kernel Recipe to rtems-source-builder: Update RTEMS Kernel Recipe to Use waf for RTEMS

Author: Chris Johns

2020-11-09T04:54:19.000Z

This is not as easy as I thought it might be. Let me explain …

The config.ini file hides some important detail the RSB needs. The RSB currently names the package as:

rtems-%{rtems_version}-%{_target}-%{rtems_bsp}-%{_host}-%{release}

The target and BSP are in the build config file and a config file could build a mix of architectures breaking this naming.

The simplest approach is to take the arguments provided to the RSB and create a config.ini file but this would be limiting where complex BSP options are needed.

I could check if the --with-rtems-bspopts option is a path and that could be a list of specific BSP options appended into the BSP specific area.

Should the following options print a depreciate warning: --with-rtems-legacy-network --with-rtems-cxx I am not sure about --with-rtems-posix. I think it should be removed and POSIX always be enabled.

Author: Trac Migrate

2021-11-09T17:06:43.000Z

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”def934785d4ae3c4b90733e8d5c443d61368268f/rtems-source-builder” def9347/rtems-source-builder]:

rtems-kernel: Implement kernel recipe using waf

Closes #4145

4533 - libdebugger should only build for archs with a backend

Id

4533

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-10-21T02:04:25.000Z

Updated

2021-10-25T02:55:00.000Z

Milestone

6.1

Labels

cpukit::debugger, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4533

Merges

0

Libdebugger has limited backend support however the generic parts are bring built for all architectures and libdebugger.a is being install however it will never link because of the missing backend support.

LibBSD has been fixed to correctly detect libdebugger.a and enable the test. This now fails to build.

Author: Trac Migrate

2021-10-25T02:55:00.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3f0ad2b3b70d62bee6b2effb4ff9b31650aff726/rtems” 3f0ad2b/rtems]:

spec/libdebugger: Only enable for supported architectures

Closes #4533

4218 - aarch64 as internal error with spconfig01

Id

4218

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-01-20T18:11:24.000Z

Updated

2021-10-19T13:49:43.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::binutils, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4218

Merges

0

This is to track https://sourceware.org/bugzilla/show_bug.cgi?id=27217 where there are more details on the actual failure.

This impacts spconfig01 and spmisc01 on all aarch64 BSPs.

Author: Joel Sherrill

2021-01-22T15:23:01.000Z

  • Description changed

This is to track https://sourceware.org/bugzilla/show_bug.cgi?id=27217 where there are more details on the actual failure.
+
+ This impacts spconfig01 and spmisc01 on all aarch64 BSPs.

Author: Trac Migrate

2021-10-19T13:49:43.000Z

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”e04fddccf9ecf187c6b66b7caf61f64af24c4f0a/rtems-source-builder” e04fddc/rtems-source-builder]:

rtems-binutils: Update to 2.37 and update head

Update to binutils 2.37 for RTEMS 6 to fix an issue when building tests
for AArch64. Also updated the commit and hash for binutils in
rtems-binutils-head.

Closes #4218

4525 - rtems-tld.cpp: Logically dead code error spotted by Coverity

Id

4525

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-10-08T17:23:48.000Z

Updated

2021-10-12T14:40:44.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4525

Merges

0

Original author: rlong

CID 1399595: Logically dead code in generate_traces().

1263            if (sig.has_ret () && !generator_.ret_trace.empty ())
1264            {
1265              if (ds_added)
1266                ds += " + ";
1267              else
1268                ds_added = true;
const: At condition drs_added, the value of drs_added must be equal to 0.
dead_error_condition: The condition drs_added cannot be true.
1269              if (drs_added)
CID 1399595 (#1 of 1): Logically dead code (DEADCODE)dead_error_line: Execution cannot reach this statement: drs += " + ";.
1270                drs += " + ";
1271              else
1272                drs_added = true;
1273              ds += "sizeof(" + sig.ret + ')';
1274              drs += "sizeof(" + sig.ret + ')';
1275            }

Author: Trac Migrate

2021-10-12T14:40:44.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”0acb4d08ed825b39de2ca674c8a9468f76b0b10e/rtems-tools” 0acb4d0/rtems-tools]:

rtems-tld.cpp: Remove logically dead code

CID 1399595: Logically dead code in generate_traces().

Closes #4525

4502 - rld-rap.cpp: Uncaught exception issue spotted by Coverity

Id

4502

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-19T19:26:56.000Z

Updated

2021-10-08T13:58:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4502

Merges

0

Original author: rlong

CID 1471643: Uncaught exception

CID 1471643 (#1 of 1): Uncaught exception (UNCAUGHT_EXCEPT)exn_spec_violation: An exception of type rld::error is thrown but the throw list noexcept doesn't allow it to be thrown. This will cause a call to unexpected() which usually calls terminate().
724    section_merge::~section_merge ()
725    {
726      if (rld::verbose () >= RLD_VERBOSE_FULL_DEBUG)
fun_call_w_exception: Called function throws an exception of type rld::error. [show details]
727        std::cout << "rap:section-merge: " << sec.name
728                  << " size=" << sec.size ()
729                  << " offset=" << sec.offset
730                  << " " << obj.obj.name ().full ()  << std::endl;
731    }

Author: Trac Migrate

2021-10-08T13:58:49.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”5519a635fd3d0754ce7387ebde2c677b4e2e495a/rtems-tools” 5519a63/rtems-tools]:

rld-rapp.cpp: Add catch for exception

CID 1471643: Uncaught exception

Closes #4502

4519 - record-main-lttng.cc: Out-of-bounds access

Id

4519

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-09-30T19:55:28.000Z

Updated

2021-10-07T14:25:10.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4519

Merges

0

Original author: rlong

CID 1503017: Out-of-bounds access in CopyThreadName().

1. Condition api_index < 3, taking false branch.
298  if (api_index < THREAD_API_COUNT) {
299    name = thread_names_[api_index][GetObjIndexOfID(item.data)](GetObjIndexOfID(item.data));
300  } else {
2. alias: Assigning: name = kEmptyThreadName. name now points to byte 0 of kEmptyThreadName (which consists of 3 bytes).
301    name = kEmptyThreadName;
302  }
303
CID 1503017 (#1 of 1): Out-of-bounds access (OVERRUN)3. overrun-buffer-arg: Overrunning buffer pointed to by name of 3 bytes by passing it to a function which accesses it at byte offset 15 using argument 16UL.
304  std::memcpy(dst, name, THREAD_NAME_SIZE);

Author: Trac Migrate

2021-10-07T14:25:10.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”83b3d58c4d10cad13cdf9130936ad245c332b741/rtems-tools” 83b3d58/rtems-tools]:

record-main-lttng.cc: Change size of empty string

CID 1503017: Out-of-bounds access in CopyThreadName().

Change size of kEmptyThreadName from THREAD_API_COUNT to
THREAD_NAME_SIZE.

Closes #4519

4492 - ObjdumpProcessor.cc: Uninitialized pointer field

Id

4492

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-11T18:37:57.000Z

Updated

2021-09-30T13:10:54.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4492

Merges

0

Original author: rlong

CID 1506210: Uninitialized pointer field

125  ObjdumpProcessor::ObjdumpProcessor(
126    DesiredSymbols&     symbolsToAnalyze,
127    std::shared_ptr<Target::TargetBase>& targetInfo
128  ): symbolsToAnalyze_m( symbolsToAnalyze ),
129     targetInfo_m( targetInfo )
130  {
CID 1506210 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)2. uninit_member: Non-static class member inputBuffer_m is not initialized in this constructor nor in any functions that it calls.
131  }

Author: Trac Migrate

2021-09-30T13:10:54.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4434 - record-filter-zlib.cc: Uninitialized pointer field error spotted by Coverity

Id

4434

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-19T16:29:34.000Z

Updated

2021-09-27T22:18:30.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4434

Merges

0

Original author: rlong

CID 1503020: Uninitialized pointer field in ZlibFilter().

36ZlibFilter::ZlibFilter() : buffer_(65536)
37{
CID 1503013: Unchecked return value from library (CHECKED_RETURN) [select issue]
38  inflateInit(&stream_);
2. uninit_member: Non-static class member stream_.next_in is not initialized in this constructor nor in any functions that it calls.
4. uninit_member: Non-static class member stream_.avail_in is not initialized in this constructor nor in any functions that it calls.
6. uninit_member: Non-static class member stream_.total_in is not initialized in this constructor nor in any functions that it calls.
8. uninit_member: Non-static class member stream_.next_out is not initialized in this constructor nor in any functions that it calls.
10. uninit_member: Non-static class member stream_.avail_out is not initialized in this constructor nor in any functions that it calls.
12. uninit_member: Non-static class member stream_.total_out is not initialized in this constructor nor in any functions that it calls.
14. uninit_member: Non-static class member stream_.msg is not initialized in this constructor nor in any functions that it calls.
16. uninit_member: Non-static class member stream_.zalloc is not initialized in this constructor nor in any functions that it calls.
18. uninit_member: Non-static class member stream_.zfree is not initialized in this constructor nor in any functions that it calls.
20. uninit_member: Non-static class member stream_.opaque is not initialized in this constructor nor in any functions that it calls.
22. uninit_member: Non-static class member stream_.data_type is not initialized in this constructor nor in any functions that it calls.
24. uninit_member: Non-static class member stream_.adler is not initialized in this constructor nor in any functions that it calls.
CID 1503020 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)26. uninit_member: Non-static class member stream_.reserved is not initialized in this constructor nor in any functions that it calls.
39}

Author: Trac Migrate

2021-09-27T22:18:30.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”7b5dc22c5d5f82354365bab10e9ae8e269b6b438/rtems-tools” 7b5dc22/rtems-tools]:

record-filter-zlib.cc: Initialize stream_'s fields

CID 1503020: Uninitialized pointer field

Closes #4434

4433 - DesiredSymbols.h: Uninitialized pointer field error spotted by coverity

Id

4433

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-19T16:13:54.000Z

Updated

2021-09-27T22:18:26.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4433

Merges

0

Original author: rlong

CID 1399637: Uninitialized pointer field in SymbolInformation().

176    SymbolInformation() :
177      baseAddress( 0 ),
178      uncoveredBranches( NULL ),
179      uncoveredRanges( NULL ),
180      unifiedCoverageMap( NULL )
181    {
CID 1399637 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)2. uninit_member: Non-static class member sourceFile is not initialized in this constructor nor in any functions that it calls.
182    }

Author: Trac Migrate

2021-09-27T22:18:26.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”06a39db587cf5c980ee2bd56d5f634859781b075/rtems-tools” 06a39db/rtems-tools]:

DesiredSymbols.h: Initialize symbolInfo

CID 1399627: Uninitialized pointer field

Closes #4433

4488 - TraceWriterQEMU.cc: Uninitialized scalar variable issue spotted by Coverity

Id

4488

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-04T18:55:42.000Z

Updated

2021-09-27T22:18:24.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4488

Merges

0

Original author: rlong

CID 1506204: Uninitialized scalar variable

115    header.machine[1] = 0; // XXX ??
CID 1506204 (#1 of 1): Uninitialized scalar variable (UNINIT)4. uninit_use_in_call: Using uninitialized value header. Field header._pad is uninitialized when calling fwrite.
116    status = ::fwrite( &header, sizeof(trace_header), 1, traceFile );

Author: Trac Migrate

2021-09-27T22:18:24.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”70088f6f87381a45c523fedf50f4904c099907ce/rtems-tools” 70088f6/rtems-tools]:

TraceWriterQEMU.cc: Initialize header._pad

CID 1506204: Uninitialized scalar variable

Closes #4488

4491 - TraceWriterQEMU.cc: Buffer not null terminated issue spotted by Coverity

Id

4491

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-10T14:57:35.000Z

Updated

2021-09-27T22:18:21.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4491

Merges

0

Original author: rlong

CID 1506207: Buffer not null terminated

CID 1506207 (#1 of 1): Buffer not null terminated (BUFFER_SIZE)3. buffer_size: Calling strncpy with a source string whose length (12 chars) is greater than or equal to the size argument (12) will fail to null-terminate header.magic.
109    strncpy( header.magic, QEMU_TRACE_MAGIC, sizeof(header.magic) );

Author: Trac Migrate

2021-09-27T22:18:21.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”a06f48a6cd5567e6e173f275127dbaa26da7cfcb/rtems-tools” a06f48a/rtems-tools]:

TraceWriterQEMU.cc: Change strncpy to memcpy

CID 1506207: Buffer not null terminated

Closes #4491

4518 - RTEMS and LibBSD both provide competing pipe() interfaces

Id

4518

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-09-23T05:29:15.000Z

Updated

2021-09-24T00:07:33.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4518

Merges

0

RTEMS provides a pipe() call in cpukit/libfs/src/pipe/pipe.c and LibBSD also provides a call in rtemsbsd/rtems/rtems-bsd-syscall-api.c. We should not have competing interfaces.

The selection of the version you get depends on the link order and the linker version. The RTEMS 6 linker seems to have a different preference to RTEMS 5. Apart from this fragility LibBSD should not be providing this interface.

A LibBSD pipe() is problematic for a number of reasons and so I am going to remove the call from it.

If LibBSD support is needed it needs to be via a file system op handles like all other file system interfaces for descriptor based access. I will not be adding this support.

The removal of pipe() from LibBSD removes the kqueue support for pipes. See the test selectpollkqueue01. If this support is needed please contact the RTEMS developers.

Author: Chris Johns

2021-09-23T05:32:50.000Z

  • Description changed

RTEMS provides a `pipe()` call in `cpukit/libfs/src/pipe/pipe.c` and LibBSD also provides a call in `rtemsbsd/rtems/rtems-bsd-syscall-api.c`. We should have competing calls.

- The selection of the version you get depends on the link order and the linker version. The RTEMS 6 linker seems to have a different preference to RTEMS 5. Apart from this fragility LibBSD should be providing this interface.
+ The selection of the version you get depends on the link order and the linker version. The RTEMS 6 linker seems to have a different preference to RTEMS 5. Apart from this fragility LibBSD should not be providing this interface.
?                                                                                                                                                                                                    ++++


A LibBSD `pipe()` is problematic for a number of reasons and so I am going to remove the call from it.

If LibBSD support is needed it needs to be via a file system op handles like all other file system interfaces for descriptor based access. I will not be adding this support.

Author: Chris Johns

2021-09-23T05:34:24.000Z

  • Description changed

- RTEMS provides a `pipe()` call in `cpukit/libfs/src/pipe/pipe.c` and LibBSD also provides a call in `rtemsbsd/rtems/rtems-bsd-syscall-api.c`. We should have competing calls.
+ RTEMS provides a `pipe()` call in `cpukit/libfs/src/pipe/pipe.c` and LibBSD also provides a call in `rtemsbsd/rtems/rtems-bsd-syscall-api.c`. We should not have competing calls.
?                                                                                                                                                         ++++


The selection of the version you get depends on the link order and the linker version. The RTEMS 6 linker seems to have a different preference to RTEMS 5. Apart from this fragility LibBSD should not be providing this interface.

A LibBSD `pipe()` is problematic for a number of reasons and so I am going to remove the call from it.

If LibBSD support is needed it needs to be via a file system op handles like all other file system interfaces for descriptor based access. I will not be adding this support.

Author: Chris Johns

2021-09-23T09:16:00.000Z

  • Description changed

RTEMS provides a `pipe()` call in `cpukit/libfs/src/pipe/pipe.c` and LibBSD also provides a call in `rtemsbsd/rtems/rtems-bsd-syscall-api.c`. We should not have competing calls.

The selection of the version you get depends on the link order and the linker version. The RTEMS 6 linker seems to have a different preference to RTEMS 5. Apart from this fragility LibBSD should not be providing this interface.

A LibBSD `pipe()` is problematic for a number of reasons and so I am going to remove the call from it.

If LibBSD support is needed it needs to be via a file system op handles like all other file system interfaces for descriptor based access. I will not be adding this support.
+
+ The removal of `pipe()` from LibBSD removes the `kqueue` support for pipes. See the test `selectpollkqueue01`. If this support is needed please contact the RTEMS developers.

Author: Chris Johns

2021-09-24T00:03:48.000Z

  • Description changed

- RTEMS provides a `pipe()` call in `cpukit/libfs/src/pipe/pipe.c` and LibBSD also provides a call in `rtemsbsd/rtems/rtems-bsd-syscall-api.c`. We should not have competing calls.
?                                                                                                                                                                             ^^^

+ RTEMS provides a `pipe()` call in `cpukit/libfs/src/pipe/pipe.c` and LibBSD also provides a call in `rtemsbsd/rtems/rtems-bsd-syscall-api.c`. We should not have competing interfaces.
?                                                                                                                                                                            +++++++ ^


The selection of the version you get depends on the link order and the linker version. The RTEMS 6 linker seems to have a different preference to RTEMS 5. Apart from this fragility LibBSD should not be providing this interface.

A LibBSD `pipe()` is problematic for a number of reasons and so I am going to remove the call from it.

If LibBSD support is needed it needs to be via a file system op handles like all other file system interfaces for descriptor based access. I will not be adding this support.

The removal of `pipe()` from LibBSD removes the `kqueue` support for pipes. See the test `selectpollkqueue01`. If this support is needed please contact the RTEMS developers.
  • Summary changed from RTEMS and LibBSD both provide pipe() to RTEMS and LibBSD both provide competing pipe() interfaces

Author: Chris Johns

2021-09-24T00:06:48.000Z

The removal of pipe() from LibBSD does effect the kqueue support but it also lets the RTEMS version get linked in and do it’s work. Pipe for libio descriptors and libmisc/redirector work nicely well before LibBSD is initialised and this is important in some applications. Especially ones that capture the console early to implement a dmesg type of support.

I am happy to see a file op added for ``pip``e however I view RTEMS as having priority over the same call signature in LibBSD if there is a clash and there is.

I have an app that crashes because of this. I have no idea why on RTEMS 5 the RTEMS one is linked in and the same app and build system now results the LibBSD one. Having 2 interfaces is wrong.

Author: Trac Migrate

2021-09-24T00:07:33.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”2e5f808b09459e5287b39135f06a79f05c1194c9/rtems-libbsd” 2e5f808/rtems-libbsd]:

rtemsbsd/syscalls: Remove pipe()

- This call is provided by RTEMS and that is preferred

Closes #4518

4507 - mount call retruns error number and it should return -1

Id

4507

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-08-28T08:04:31.000Z

Updated

2021-09-23T23:57:21.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::wontfix, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4507

Merges

0

The mount call should return -1 for an any error with the errno set. Some paths in the mount do this and others so not.

The implementation needs to be changed to only return -1 when there is an error.

Author: Joel Sherrill

2021-08-28T22:31:05.000Z

  • Description changed

The `mount` call should return `-1` for an any error with the `errno` set. Some paths in the `mount` do this and others so not.

The implementation needs to be changed to only return `-1` when there is an error.
+
+ mount() is not defined by POSIX but returning -1 and setting errno is consistent with [FreeBSD](FreeBSD)(https://www.freebsd.org/cgi/man.cgi?query=mount&sektion=2&format=html) and [Linux](https://man7.org/linux/man-pages/man2/mount.2.html).

Author: Chris Johns

2021-09-23T23:57:21.000Z

  • Description changed

The `mount` call should return `-1` for an any error with the `errno` set. Some paths in the `mount` do this and others so not.

The implementation needs to be changed to only return `-1` when there is an error.
-
- mount() is not defined by POSIX but returning -1 and setting errno is consistent with [FreeBSD](FreeBSD)(https://www.freebsd.org/cgi/man.cgi?query=mount&sektion=2&format=html) and [Linux](https://man7.org/linux/man-pages/man2/mount.2.html).
  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

The current behavior is correct. The NFS mounter is not correct.

4506 - posix_devctl() should return the errno directly not -1 and set errno

Id

4506

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-08-20T19:24:23.000Z

Updated

2021-09-20T18:37:56.000Z

Milestone

6.1

Labels

api::posix, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4506

Merges

0

The RTEMS implementation of posix_devctl() from POSIX 1003.26 does not return error codes as required by the standard.

“Upon successful completion, posix_devctl() shall return zero; otherwise an error number shall be returned to indicate the error. The value returned via the dev_info_ptr argument is driver dependent.”

It should return the errno value and not -1 and set the errno variable. The current behavior is wrong but understandable because the implementation is a wrapper for close() and ioctl() which do set errno and return -1.

Author: Joel Sherrill

2021-08-21T19:25:36.000Z

  • Description changed

- The RTEMS implementation posix_devctl() from POSIX 1003.26 does not return error codes as required by the standard.
+ The RTEMS implementation of posix_devctl() from POSIX 1003.26 does not return error codes as required by the standard.
?                          +++


"Upon successful completion, posix_devctl() shall return zero; otherwise an error number shall be returned to indicate the error. The value returned via the dev_info_ptr argument is driver dependent."

It should return the errno value and not -1 and set the errno variable. The current behavior is wrong but understandable because the implementation is a wrapper for close() and ioctl() which do set errno and return -1.

Author: Trac Migrate

2021-09-20T18:37:56.000Z

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”3951d4da6fc4885dd450e5257d7273ab6a392492/rtems” 3951d4d/rtems]:

pxcdevctl: Adjust for standard

psxdevctl is supposed to return the value in errno. Before, it was
returning -1 and setting errno. Changed the tests to reflect these
changes. Added code from RRADE's posix_devctl.c.

Closes #4506

4451 - DesiredSymbols: Implement move assignment operator

Id

4451

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-06-08T13:49:28.000Z

Updated

2021-09-16T17:30:05.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4451

Merges

0

Original author: rlong

CID 1505133: Missing move assignment operator for SymbolInformation class.

128   */
CID 1505133 (#1 of 1): Missing move assignment operator (MISSING_MOVE_ASSIGNMENT)missing_move_assignment: Class Coverage::SymbolInformation may benefit from adding a move assignment operator. See other events which show the copy assignment operator being applied to rvalues, where a move assignment may be faster.
129  class SymbolInformation {

Author: Trac Migrate

2021-09-16T17:30:05.000Z

Original author: rlong

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

4500 - rld-dwarf.cpp: Uninitialized scalar field

Id

4500

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-18T15:12:11.000Z

Updated

2021-09-01T15:31:07.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4500

Merges

0

Original author: rlong

CID 1503019: Uninitialized scalar field

677    function::function (file& debug, debug_info_entry& die)
678      : debug (debug),
679        machine_code_ (false),
680        external_ (false),
681        declaration_ (false),
682        inline_ (DW_INL_not_inlined),
683        entry_pc_ (0),
684        has_entry_pc_ (false),
685        pc_low_ (0),
686        pc_high_ (0),
687        ranges_ (debug),
688        call_line_ (0)
CID 1503019 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)14. uninit_member: Non-static class member prototyped_ is not initialized in this constructor nor in any functions that it calls.

Author: Trac Migrate

2021-08-18T15:14:11.000Z

Original author: rlong

CID 1503021: Uninitialized scalar field

817    function::function (const function& orig)
818      : debug (orig.debug),
819        machine_code_ (orig.machine_code_),
820        external_ (orig.external_),
821        declaration_ (orig.declaration_),
822        inline_ (orig.inline_),
823        entry_pc_ (orig.entry_pc_),
824        has_entry_pc_ (orig.has_entry_pc_),
825        pc_low_ (orig.pc_low_),
826        pc_high_ (orig.pc_high_),
827        ranges_ (orig.ranges_),
828        name_ (orig.name_),
829        linkage_name_ (orig.linkage_name_),
830        call_file_ (orig.call_file_),
831        call_line_ (orig.call_line_)
832    {
2. uninit_member: Non-static class member prototyped_ is not initialized in this constructor nor in any functions that it calls.
CID 1503021 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)4. uninit_member: Non-static class member decl_line_ is not initialized in this constructor nor in any functions that it calls.
833    }

Author: Trac Migrate

2021-09-01T15:31:07.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”2cf693aee9e8575ff693c8833b639237e12f61b2/rtems-tools” 2cf693a/rtems-tools]:

rld-dwarf.cpp: Initialize member variables

Initialize member variables not listed.

CID 1503019: Uninitialized scalar field.

Closes #4500

4487 - GcovData.cc: Uninitialized scalar field error spotted by Coverity

Id

4487

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-04T18:39:53.000Z

Updated

2021-09-01T15:31:05.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4487

Merges

0

Original author: rlong

CID 1506206: Uninitialized scalar field

22  GcovData::GcovData( Coverage::DesiredSymbols& symbolsToAnalyze ):
23    numberOfFunctions( 0 ),
24    symbolsToAnalyze_m( symbolsToAnalyze )
25  {
2. uninit_member: Non-static class member gcnoPreamble.magic is not initialized in this constructor nor in any functions that it calls.
4. uninit_member: Non-static class member gcnoPreamble.version is not initialized in this constructor nor in any functions that it calls.
CID 1506206 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)6. uninit_member: Non-static class member gcnoPreamble.timestamp is not initialized in this constructor nor in any functions that it calls.
26  }

Author: Trac Migrate

2021-09-01T15:31:05.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”7ccbcd897ca13be3d63b66abfff9d148a1f1b28a/rtems-tools” 7ccbcd89/rtems-tools]:

GcovData.cc: Initialize gcnoPreamble

CID 1506206: Uninitialized scalar field

Closes #4487

4499 - rtems-exeinfo.cpp: Uninitialized scalar field error spotted by Coverity

Id

4499

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-18T13:40:17.000Z

Updated

2021-09-01T15:31:02.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4499

Merges

0

Original author: rlong

CID 1471637: Uninitialized scalar field

211    section::section (const section& orig)
212      : sec (orig.sec),
213        data (orig.data)
214    {
CID 1471637 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)2. uninit_member: Non-static class member byteorder is not initialized in this constructor nor in any functions that it calls.
215    }

Author: Trac Migrate

2021-09-01T15:31:02.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1d4edfb2ecf54141d20f20dca35dfdb29a658579/rtems-tools” 1d4edfb/rtems-tools]:

rtems-exeinfo.cpp: Initialize byteorder

CID 1471637: Uninitialized scalar field

Closes #4499

4468 - waf build system does not generate the same bspopts.h

Id

4468

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2021-07-14T04:28:20.000Z

Updated

2021-08-30T09:03:04.000Z

Milestone

6.1

Labels

priority::high, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4468

Merges

0

Building with autoconf and the command line of:

$ ../rtems.git/configure --target=powerpc-rtems6 --enable-rtemsbsp=mvme2307

gives:

$ grep BSP_CONSOLE_BAUD `find . -name bspopts.h`
#define BSP_CONSOLE_BAUD 9600

Building with waf and a config of …

[DEFAULT]
BUILD_TESTS = True
RTEMS_POSIX_API = True

[powerpc/mvme2307]

gives:

$ grep BSP_CONSOLE_BAUD `find . -name bspopts.h`
#define BSP_CONSOLE_BAUD 115200

The default should be 9600 and the motorola_powerpc BSP is listed in the options under 9600. Something is broken in the waf BSP opts handling.

Author: Chris Johns

2021-07-14T04:44:57.000Z

The options code is not being passed the variant, it is passed the BSP ….

def default_value(self, variant):
value = self.data["default"]
for default in self.data["default-by-variant"]:
print(']] %s %r' % (variant, default), OptionItem._is_variant(default["variants"], variant))
if OptionItem._is_variant(default["variants"], variant):

gives:

]] powerpc/mvme2307 {'value': 9600, 'variants': ['m68k/m5484FireEngine', 'powerpc/hsc_cm01', 'powerpc/beatnik', 'powerpc/haleakala', 'powerpc/motorola_powerpc', 'powerpc/mvme3100', 'powerpc/mvme5500']} False

Author: Chris Johns

2021-07-14T05:01:02.000Z

The optconsolebaud.yml file lists powerpc/motorola_powerpc as a variant and it is a family. The ability to specify a family for default is something I think is needed. I do not like needing to list all BSPs is something we should require we do?

Are BSPs that INHERIT supported?

I wonder how you take a family given the variant?

Author: Chris Johns

2021-07-14T06:38:28.000Z

Hmmm it seems the options are all required to have a default-by-variant. I am not sure if this is by design and for a reason, a hang over from the path to these spec files or it could be optional?

I will make it optional and I will make default-by-family optional.

Author: Trac Migrate

2021-07-15T00:03:15.000Z

  • Owner set to Chris Johns <chrisj@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”6f2aa8ad36e3aaffc9fa2cb8c744b04da7339ee2/rtems” 6f2aa8ad/rtems]:

build: Use BSP family for options

- Optionally add support for 'default-by-family' to allow
option to be set by a family and so all related BSPs

Close #4468

Author: Trac Migrate

2021-07-15T06:07:50.000Z

In [changeset:”61071489ff37df682be89a56f29d2941fcc7cc28/rtems” 6107148/rtems]:

build: Add missing default-by-family

Update #4468.

Author: Trac Migrate

2021-07-15T06:07:54.000Z

In [changeset:”b6092cb82c530c309bc0c48003453f53be830e02/rtems” b6092cb/rtems]:

build: Fix bsp_defaults command

Update #4468.

Author: Trac Migrate

2021-07-15T06:10:06.000Z

In [changeset:”6c1928caed28183c2abe405963602a2d4a3116d0/rtems” 6c1928c/rtems]:

build: Prefer variant default value over family

Update #4468.

Author: Trac Migrate

2021-08-18T09:26:43.000Z

In [changeset:”ebdfa24bff814134b8f42efc7ed386afcfa90eff/rtems” ebdfa24b/rtems]:

build: Merge default-by-family into by-variant

Prefix the BSP family name with "bsps/" to make it distinct to the BSP
variant names.

Update #4468.

Author: Trac Migrate

2021-08-30T09:03:04.000Z

In [changeset:”d223ec99ae7f84f49844e9421d831f3690b2b93a/rtems-docs” d223ec9/rtems-docs]:

eng: Document use of BSP family for defaults

Update #4468.

4486 - TraceWriterQEMU.cc: String not null terminated issue spotted by Coverity

Id

4486

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-04T18:31:34.000Z

Updated

2021-08-20T17:47:03.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4486

Merges

0

Original author: rlong

CID 1506203: String not null terminated

CID 1506203 (#1 of 1): String not null terminated (STRING_NULL)6. string_null: Passing unterminated string header.magic to operator <<, which expects a null-terminated string. [Note: The source code implementation of the function has been overridden by a builtin model.]
124      std::cerr << "magic = " << header.magic << std::endl
125                << "version = " << header.version << std::endl
126                << "kind = " << header.kind << std::endl
127                << "sizeof_target_pc = " << header.sizeof_target_pc << std::endl
128                << "big_endian = " << header.big_endian << std::endl
129                << std::hex << std::setfill('0')
130                << "machine = " << std::setw(2) << header.machine[0]
131                << ':' << header.machine[1]
132                << std::dec << std::setfill(' ')
133                << std::endl;

Author: Trac Migrate

2021-08-20T17:47:03.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f316d1607ff6f31bb39b9c62a057fc57374b8bd5/rtems-tools” f316d16/rtems-tools]:

TraceWriterQEMU.cc: Remove unterminated string

Replaced header.magic with QEMU_TRACE_MAGIC to get rid of "String not
null terminated" Coverity issue.

CID 1506203: String not null terminated

Closes #4486

4485 - GcovData.cc: Out-of-bounds acces errors spotted by Coverity

Id

4485

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-04T18:22:36.000Z

Updated

2021-08-20T17:47:01.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4485

Merges

0

Original author: rlong

CID 1506208: Out-of-bounds access

CID 1506208 (#1 of 1): Out-of-bounds access (OVERRUN)2. overrun-buffer-arg: Overrunning struct type _ZN4Gcov13gcov_preambleE of 12 bytes by passing it to a function which accesses it at byte offset 47 using argument 48L.
132    gcdaFile.write( (char *) &preamble , 4 * sizeof( preamble ) );
133    if ( gcdaFile.fail() ) {
134      std::cerr << "Error while writing gcda preamble to a file "
135                << gcdaFileName << std::endl;
136    }

CID 1506209: Out-of-bounds access

CID 1506209 (#1 of 1): Out-of-bounds access (OVERRUN)1. overrun-buffer-arg: Overrunning buffer pointed to by (char *)&preamble of 8 bytes by passing it to a function which accesses it at byte offset 47 using argument 48L.
400    gcovFile.read( (char *) &preamble, 4 * sizeof( gcov_preamble ) );
401    if ( gcovFile.gcount() != 4 * sizeof( gcov_preamble ) ) {
402      std::cerr << "Error while reading file preamble" << std::endl;
403      return -1;
404    }

Author: Trac Migrate

2021-08-20T17:47:01.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”0ab060ff2c52159d2fd7aba7ea58454ee7491973/rtems-tools” 0ab060f/rtems-tools]:

GcovData.cc: Fix out-of-bounds access errors

Adjusted number of bytes to be read, removed length variable

CID 1506208: Out-of-bounds access
CID 1506209: Out-of-bounds access

Closes #4485

4471 - ReportsHtml.cc: Not restoring ostream format error spotted by Coverity

Id

4471

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-07-15T14:50:47.000Z

Updated

2021-08-13T19:57:26.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4471

Merges

0

Original author: rlong

CID 1505939: Not restoring ostream format in PutSymbolSummaryLine().

5. format_changed: fixed changes the format state of report for category floatfield.
6. format_changed: setprecision changes the format state of report for category precision.
782        report << "<td class=\\"covoar-td\\" align=\\"center\\">"
783               << std::fixed << std::setprecision( 2 )
784               << ( symbolInfo.stats.uncoveredInstructions * 100.0 ) /
785                    symbolInfo.stats.sizeInInstructions
786               << "</td>" << std::endl;

Author: Trac Migrate

2021-07-27T18:42:11.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f7887ec5c3d478e66efbf0604a2ad4c46dba4ff4/rtems-tools” f7887ec/rtems-tools]:

ReportsHtml.cc: Restore ostream format

CID 1505939: Not restoring ofstream format

Save format of stream before changing it, and change it back before returning.

Closes #4471

Author: Trac Migrate

2021-07-29T14:43:09.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-08-13T19:57:26.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

4470 - CoverageMapBase.cc: Not restoring ostream format error spotted by Coverity

Id

4470

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-07-15T14:49:11.000Z

Updated

2021-08-13T19:56:40.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4470

Merges

0

Original author: rlong

CID 1503022: Not restoring ostream format in dump().

1. format_changed: hex changes the format state of out for category basefield.
2. format_changed: setfill changes the format state of out for category fill.
78    out << std::hex << std::setfill('0')
79        << "Address range: low = " << std::setw(8) << lowAddress
80        << " high = " << std::setw(8) << highAddress
81        << std::endl;

Author: Trac Migrate

2021-07-27T18:42:08.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”d4179186465ea7700176c128bf5856bf5ec1e0df/rtems-tools” d417918/rtems-tools]:

CoverageMapBase.cc: Restore ostream format

CID 1503022: Not restoring ostream format

Save format of stream before changing it, and change it back before returning.

Closes #4470

Author: Trac Migrate

2021-07-29T14:43:37.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-08-13T19:56:40.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

4469 - rtems-exeinfo.cpp: Not restoring ostream format errors spotted by Coverity

Id

4469

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-07-15T14:46:52.000Z

Updated

2021-08-13T19:55:51.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4469

Merges

0

Original author: rlong

CID 1503006: Not restoring ostream format in output_compilation_unit().

185. format_changed: left changes the format state of std::cout for category adjustfield.
478            std::cout << "   | "
479                      << std::setw (source_max + 1) << std::left
480                      << rld::path::basename (s.source);

CID 1503007: Not restoring ostream format in output_tls().

11. format_changed: right changes the format state of std::cout for category adjustfield.
12. format_changed: hex changes the format state of std::cout for category basefield.
13. format_changed: setfill changes the format state of std::cout for category fill.
14. format_restored: dec changes the format state of std::cout for category basefield.
15. format_restored: setfill changes the format state of std::cout for category fill.
704      std::cout << "    data size : " << tls_data_size->value () << std::endl
705                << "     bss size : " << tls_bss_size->value () << std::endl
706                << "    alignment : " << tls_alignment->value () << std::endl
707                << std::right << std::hex << std::setfill ('0')
708                << "    data addr : 0x" << std::setw (8) << tls_data_begin->value ()
709                << std::endl
710                << std::dec << std::setfill (' ')
711                << std::endl;

Author: Trac Migrate

2021-07-27T18:42:06.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”e1469279a7a8b7e9bfdd47587bd8a1956752233c/rtems-tools” e146927/rtems-tools]:

rtems-exeinfo.cpp: Restore ostream format

CID 1503006: Not restoring ostream format
CID 1503007: Not restoring ostream format

Used a variable to store the format of the ostream before any changes,
and copied what was originally there back into the stream before
returning from the function.

Closes #4469

Author: Trac Migrate

2021-07-29T14:43:57.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-08-13T19:55:51.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

4472 - ReportsText.cc: Not restoring ostream format error spotted by Coverity

Id

4472

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-07-15T14:52:45.000Z

Updated

2021-08-13T19:02:01.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4472

Merges

0

Original author: rlong

CID 1505940: Not restoring ostream format in PutSymbolSummaryLine().

5. format_changed: fixed changes the format state of report for category floatfield.
6. format_changed: setprecision changes the format state of report for category precision.
231    report << "============================================" << std::endl
232           << "Symbol                            : "
233           << symbolName << std::endl
234           << "Total Size in Bytes               : "
235           << symbolInfo.stats.sizeInBytes << std::endl
236           << "Total Size in Instructions        : "
237           << symbolInfo.stats.sizeInInstructions << std::endl
238           << "Total number Branches             : "
239           << symbolInfo.stats.branchesNotExecuted +
240              symbolInfo.stats.branchesExecuted
241           << std::endl
242           << "Total Always Taken                : "
243           << symbolInfo.stats.branchesAlwaysTaken << std::endl
244           << "Total Never Taken                 : "
245           << symbolInfo.stats.branchesNeverTaken << std::endl
246           << std::fixed << std::setprecision( 2 )
247           << "Percentage Uncovered Instructions : "
248           << uncoveredInstructions << std::endl
249           << "Percentage Uncovered Bytes        : "
250           << uncoveredBytes << std::endl;

Author: Trac Migrate

2021-07-27T18:42:13.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”df484a50c072aa8ae318c2cf974e0878d696684b/rtems-tools” df484a5/rtems-tools]:

ReportsText.cc: Restore ostream format

CID 1505940: Not restoring ostream format

Save format of stream before changing it, and change it back before returning.

Closes #4472

Author: Trac Migrate

2021-07-29T14:42:40.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-08-13T19:02:01.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”632414dc0f2976cc3ce0267d0c51aeb7c4de1e14/rtems-tools” 632414d/rtems-tools]:

ReportsText.cc: Add ostream_guard

CID 1505940: Not restoring ostream format

Closes #4472

4484 - GcovFunctionData.cc: Not restoring ostream format error spotted by Coverity

Id

4484

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-04T18:14:25.000Z

Updated

2021-08-13T19:01:59.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4484

Merges

0

Original author: rlong

CID 1506205: Not restoring ostream format

1. format_changed: hex changes the format state of textFile for category basefield.
360    textFile << " > BLOCK " << std::setw( 3 ) << block->id
361             << " from " << block->sourceFileName << std::endl
362             << "    -counter: " << std::setw( 5 ) << block->counter << std::endl
363             << "    -flags: 0x" << std::hex << block->flags << std::endl
364             << "    -lines: ";

Author: Trac Migrate

2021-08-13T19:01:59.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”dc5e1fcdb10aae866894803192475b8177544001/rtems-tools” dc5e1fc/rtems-tools]:

GcovFunctionData.cc: Add ostream_guard

CID 1506205: Not restoring ostream format

Closes #4484

4483 - GcovData.cc: Not restoring ostream format error spotted by Coverity

Id

4483

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-08-04T18:08:56.000Z

Updated

2021-08-13T19:01:57.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4483

Merges

0

Original author: rlong

CID 1506202: Not restoring ostream format

3. format_changed: hex changes the format state of std::cerr for category basefield.
407      std::cerr << "File is not a valid *.gcno output (magic: 0x"
408                << std::hex << std::setw( 4 ) << preamble->magic
409                << ")" << std::endl;
CID 1506202 (#1 of 1): Not restoring ostream format (STREAM_FORMAT_STATE)4. end_of_path: Changing format state of stream std::cerr for category basefield without later restoring it.

Author: Trac Migrate

2021-08-13T19:01:57.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”415a2b629dceaa5abdf14ae200bceb3e0c32dca5/rtems-tools” 415a2b6/rtems-tools]:

GcovData.cc: Add ostream_guard

CID 1506202: Not restoring ostream format

Closes #4483

4473 - AddressToLineMapper.h: Pointer to local outside scope error spotted by Coverity

Id

4473

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-07-16T17:58:03.000Z

Updated

2021-07-20T18:27:12.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4473

Merges

0

Original author: Alex

CID 1505281: Pointer to local outside scope

SourceLine()
28    : address(0),

CID 1505281 (#1 of 1): Pointer to local outside scope (RETURN_LOCAL)
1. escape_local_addr: Returning, through this->path_, the address of stack variable <temporary>.
29      path_("unknown"),
30      line_num(-1),
31      is_end_sequence(true)
32    {
2. return: Returning here.
33    }

Author: Trac Migrate

2021-07-16T17:58:23.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-07-20T18:27:12.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”23808864e3bd4683d80cfcb6553c6cd4c3fbdcdd/rtems-tools” 2380886/rtems-tools]:

AddressToLineMapper.h: Remove pointer to temporary string

CID 1505281: Pointer to local outside scope

Closes #4473

4463 - rtems_condition_variable_signal() is implemented as a broadcast

Id

4463

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-07-01T11:20:43.000Z

Updated

2021-07-01T11:58:44.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4463

Merges

0

Original author: sebastian.huber

rtems_condition_variable_signal() should use _Condition_Signal().

Author: Trac Migrate

2021-07-01T11:58:44.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”737e18dbca03c086601dfbe7f90ae143bc34f964/rtems” 737e18d/rtems]:

rtems: Do not broadcast to signal a condition var

Close #4463.

4461 - grlib: Register system console as “/dev/console”

Id

4461

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-06-24T06:25:53.000Z

Updated

2021-06-24T06:54:02.000Z

Milestone

6.1

Labels

arch:sparc, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4461

Merges

0

Original author: sebastian.huber

The driver manager console driver did not register the system console as “/dev/console” this resulted in some test failures (for example spconsole01.exe).

Author: Trac Migrate

2021-06-24T06:54:02.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”499a89b11de79782a0d6b55f876f871a4823eea6/rtems” 499a89b/rtems]:

grlib: Register system console as /dev/console

Close #4461.

2301 - cpukit is built in BSP, and BSP custom, specific part of build tree but isnt built using BSP’s spec file

Id

2301

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2015-03-13T01:23:20.000Z

Updated

2021-06-18T08:42:56.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, rtems::build, tickettype::enhancement, version::4.10

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2301

Merges

0

Original author: johill

The nios2 soft-core processor is probably a bit of a different beast because it has many options when the FPGA programming is configured. It is probably therefore not a good context for the use of multilibs, although it is possible to enable them.

For the nios2 RTEMS automated system configuration I must interrogate the Altera sopcinfo file to properly specify some of the nios2 cpu instance specific compiler flags such as {-mhw-div, -mhw-mul, -mhw-mulx}.

An easy way to do this is to build some custom tools that need to run _only_on_the_host_ during the build. The source code for these BSP instance custom tools are easy to write if they include header files from the Altera generated HAL {system.h, linker.h}, when they are built. The Altera HAL needs to also be generated, but not installed, during the gnu build. It seems that this is the way that Altera intends for users to learn about system configuration based on how often their file formats evolve, and also based on lack of documentation for their sopcinfo file. Nevertheless, for many reasons we don’t include Altera generated header files into any RTEMS BSP or cpukit source code.

Currently this approach is difficult to fully implement because I must finish the interrogation for the CPU flags during the gnu build system configure phase when CFLAGS_OPTIMIZE_V and CPU_FLAGS are fetched from the custom .cfg file, and so I am unable to build some custom tools that need to run _only_on_the_host_ during the build at that time.

However, during the preinstall phase it is easy to create a custom “bsp_specs_cpu” file like this.

*[cpuspecs]: *[cpuspecs]: %(cpuspecs) -mhw-div *[cpuspecs]: %(cpuspecs) -mhw-mul *[cpuspecs]: %(cpuspecs) -mhw-mulx

Which could be used in “bsp_specs” like this.

%rename cc1 old_cc1 %rename cc1plus old_cc1plus %rename lib old_lib %rename endfile old_endfile %rename startfile old_startfile %rename link old_link

%include <bsp_specs_cpu>

cc1: %{!qrtems: %{old_cc1} } %{qrtems: %{old_cc1} %{cpuspecs} }

cc1plus: %{!qrtems: %{old_cc1plus} } %{qrtems: %{old_cc1plus} %{cpuspecs} }

*lib: %{!qrtems: %(old_lib)} %{!nostdlib: %{qrtems: –start-group -lrtemsbsp -lrtemscpu -lc -lgcc –end-group %{!qnolinkcmds: -T linkcmds%s}}}

*startfile: %{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: start0.o%s start1.o%s crti.o%s crtbegin.o%s -e __start -u __exception_vector }}

*link: %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}

*endfile: %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}

This works very nicely excepting that the cpukit isn’t built specifying a spec file and so it could use the wrong instructions when generating code. Therefore its tempting to modify the RTEMS build like this.

cpukit/aclocal/gcc-specs.m4 | 20 ++++++++++++++++++++ cpukit/aclocal/prog-cc.m4 | 8 ++++++++ cpukit/automake/compile.am | 5 +++++ 3 files changed, 33 insertions(+)

diff –git a/cpukit/aclocal/gcc-specs.m4 b/cpukit/aclocal/gcc-specs.m4 new file mode 100644 index 0000000..dd49bb9 — /dev/null +++ b/cpukit/aclocal/gcc-specs.m4 @@ -0,0 +1,20 @@ +dnl +dnl $Id$ +dnl +dnl Check whether the target compiler accepts -specs +dnl + +AC_DEFUN([RTEMS_GCC_SPECS], +[AC_REQUIRE([RTEMS_PROG_CC]) +AC_CACHE_CHECK(whether $CC accepts -specs,rtems_cv_gcc_specs, +[ +rtems_cv_gcc_specs=no +if test x”$GCC” = x”yes”; then + touch confspec + echo ‘void f(){}’ >conftest.c + if test -z “${CC} -specs confspec -c conftest.c 2>&1”;then + rtems_cv_gcc_specs=yes + fi +fi +rm -f confspec conftest* +])]) diff –git a/cpukit/aclocal/prog-cc.m4 b/cpukit/aclocal/prog-cc.m4 index e8b27b5..8dae5de 100644 — a/cpukit/aclocal/prog-cc.m4 +++ b/cpukit/aclocal/prog-cc.m4 @@ -27,6 +27,14 @@ dnl check if the target compiler may use –pipe RTEMS_GCC_PIPE test “$rtems_cv_gcc_pipe” = “yes” && CC=”$CC –pipe”

+dnl check if the compiler supports –specs +RTEMS_GCC_SPECS + +AS_IF([test x”$rtems_cv_gcc_specs” = xyes],[ +GCCSPECS=”-B$(PROJECT_ROOT)/lib/ -B$(PROJECT_ROOT)/$RTEMS_BSP/lib/” +GCCSPECS=”${GCCSPECS} -specs bsp_specs -qrtems_cpukit”]) +AC_SUBST(GCCSPECS) +

Append warning flags if CFLAGS wasn’t set.

AS_IF([test “$GCC” = yes && test “$rtems_cv_CFLAGS_set” != set], [CFLAGS=”$CFLAGS -Wall”]) diff –git a/cpukit/automake/compile.am b/cpukit/automake/compile.am index 3d81426..0e43494 100644 — a/cpukit/automake/compile.am +++ b/cpukit/automake/compile.am @@ -2,6 +2,11 @@

$Id$

+CC = @CC +CXX = @CXX@ $(GCCSPECS) +CPP = @CPP@ $(GCCSPECS) +CCAS = @CCAS@ $(GCCSPECS) + AM_CPPFLAGS = @RTEMS_CPPFLAGS@ AM_CFLAGS = AM_CCASFLAGS = @RTEMS_CCASFLAGS@

I am thinking that hopefully this wont break any existing CPU architecture and or BSP because of several reasons.

  1. Perhaps typical BSPs included in RTEMS are only modifying the way that executables are linked, and we probably don’t create executables during the cpukit build.

  2. Probably most of the spec files are noop implementation if qrtems isnt specified, and for the cpu kit I specify -qrtems_cpukit

  3. I am specifying -qrtems_cpukit so its easy to write a spec file that does different things when it is and isnt a cpukit build. We could I suppose also define -qrtems_cpukit_multilib in that specific situation, if it were important to break that situation out.

In any case this is what I currently have implemented and I will need to look for plan B before I can merge my nios2 support if this type of change looks like a bad idea.

I am therefore writing to the relevant RTEMS wizards for some guidance.

Thanks for your consideration.

Author: Trac Migrate

2017-01-26T07:16:00.000Z

Original author: johill

  • Milestone changed from %”4.11.1” to %”4.11.2”

Author: Trac Migrate

2017-02-15T13:37:51.000Z

Original author: johill

  • Milestone changed from %”4.11.2” to %”Indefinite”

  • Owner set to Needs Funding

  • Status changed from new to assigned

Author: Trac Migrate

2021-06-18T08:42:56.000Z

Original author: johill

  • Milestone changed from %”Indefinite” to %”6.1”

  • Resolution set to ~”wontfix”

  • Status changed from assigned to closed

BSP variants may be added in the new build system for each multilib.

4391 - SPARC GCC no longer needs sysconf(515) (_SC_STACK_PROT)

Id

4391

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-04-23T20:22:39.000Z

Updated

2021-06-09T16:52:40.000Z

Milestone

6.1

Labels

api::posix, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4391

Merges

0

In reviewing Ryan’s rework of psx13, Gedare asked why there was a test for sysconf(515) conditionally compiled for SPARC. The answer was GCC needed it. But investigated showed that GCC has not had code to call this for over 20 years. It was removed per this commit.

commit ac4904440b4733f461bcd2c45915f502b0345f80
Author: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
Date:   Mon Jan 24 00:47:38 2000 +0000

sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...

* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
* config/sparc/sol2.h: ... here.

From-SVN: r31578

This ticket is to remove the code from posix/src/sysconf.c and update psx13 accordingly.

Author: Trac Migrate

2021-06-09T16:52:40.000Z

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f83676d91f3c639c93097733f2b2ffa54ec10599/rtems” f83676d/rtems]:

sysconf: Remove sysconf(515)

GCC originally needed this 20 years ago. No longer needed, so it
is being removed.

Closes #4391

4445 - CID 1468684: Uninitialized scalar variable

Id

4445

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Gedare Bloom

Created

2021-05-26T23:20:54.000Z

Updated

2021-06-02T15:31:59.000Z

Milestone

6.1

Labels

cpukit::debugger, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4445

Merges

0

Original author: hgerber

In tcp_remote_connect: Use of an uninitialized variable (CWE-457)

Author: Trac Migrate

2021-06-02T15:31:59.000Z

Original author: hgerber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”9429115c8be99b33bceabefdb5f955dbaa9d5965/rtems” 9429115c/rtems]:

cpukit/libdebugger: Fix for sockaddr_in not being initialized

See also CID 1468684

Closes #4445

4444 - CID 1399727: Copy into fixed size buffer

Id

4444

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Gedare Bloom

Created

2021-05-26T22:21:33.000Z

Updated

2021-05-28T22:00:54.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4444

Merges

0

Original author: hgerber

In rtems_monitor_line_editor: A source buffer of statically unknown size is copied into a fixed-size destination buffer (CWE-120)

NOTE: Issue is more regarding source/dest overlapping with use of strcpy: needs change to use memory copy for overlapping source/dest

Author: Trac Migrate

2021-05-28T22:00:54.000Z

Original author: hgerber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”6a56fd9340e46766dc5b069f259e4c133c06f39a/rtems” 6a56fd9/rtems]:

cpukit/libmisc/monitor: Fix src/dest overlap of strcpy in mon-editor.c

See also CID 1399727

Closes #4444

4400 - Change filesystem utime_h to utimens_h to support nanosecond granularity

Id

4400

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-29T19:09:39.000Z

Updated

2021-05-28T21:29:25.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4400

Merges

0

Original author: rlong

Change utime_h to utimens_h for the new nanosecond granularity APIs

Author: Trac Migrate

2021-05-28T21:29:25.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”ea41722c92313e884368106832d3454114ba88b3/rtems” ea41722c/rtems]:

Change filesystem utime_h handler to utimens_h

Also updated licenses.

Closes #4400
Updates #3899

4399 - Add tests for futimens() and utimensat()

Id

4399

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-29T18:50:00.000Z

Updated

2021-05-28T21:29:21.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4399

Merges

0

Original author: rlong

Create tests to test the futimens() and utimensat() APIs

Author: Trac Migrate

2021-05-28T21:29:21.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”6171a88d9c7f90bac9a076edf3655f7c9e2efb94/rtems” 6171a88/rtems]:

psx13: Added tests for utimensat() and futimens()

Improved tests for utime() and utimes() and update license.

Close #4399

4398 - Make utimes() use utimensat()

Id

4398

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-29T18:31:18.000Z

Updated

2021-05-28T21:29:18.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4398

Merges

0

Original author: rlong

Make utimes use the utimensat API

Author: Trac Migrate

2021-05-28T21:29:18.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”ea881bf7a15721916d4adcc5f117ebf6acc6d2a3/rtems” ea881bf/rtems]:

libcsupport: Implement utimes() in terms of utimensat()

utimes() now calls utimensat() to update file access
and modification timestamps.

Updated license.

Closes #4398

4397 - Make utime() use utimensat()

Id

4397

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-29T18:30:34.000Z

Updated

2021-05-28T21:29:14.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4397

Merges

0

Original author: rlong

Make utime use the utimensat API

Author: Trac Migrate

2021-05-28T21:29:14.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”bb7041230639894a924221ceb454d02c1ea84f66/rtems” bb704123/rtems]:

libcsupport: Implement utime() in terms of utimensat()

utime() now calls utimensat() to update file access
and modification timestamps.

Updated license.

Closes #4397

4396 - Add futimens() and utimensat()

Id

4396

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-29T18:29:12.000Z

Updated

2021-05-28T21:29:11.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4396

Merges

0

Original author: rlong

Implement the futimens and utimensat APIs

Author: Trac Migrate

2021-05-28T21:29:11.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”335f7050822262f029e7945b31b0f2bb2d889bcc/rtems” 335f705/rtems]:

libcsupport: Added futimens() and utimensat()

Created futimens.c and utimensat.c to add support for the POSIX
methods futimens() and utimensat().

utime() and utimes() are considered obsolote by POSIX, but RTEMS
will continue to support them.

Closes #4396

4291 - main_help.c: Unchecked return value from library error spotted by Coverity

Id

4291

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:49:21.000Z

Updated

2021-05-28T17:29:48.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4291

Merges

0

Original author: rlong

CID 1437650: Unchecked return value from library in rtems_shell_help().

472        strcpy(priv->prefix, "/dev/gr740_0");
473        priv->prefix[11] += dev->minor_drv;
CID 1437630 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
474        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
475        priv->prefix[12] = '/';
476        priv->prefix[13] = '\\0';

Author: Trac Migrate

2021-03-02T18:31:51.000Z

Original author: rlong

Accidentally put in the wrong reference to the error in the source.

121    if (lines && (line > lines)) {
CID 1437650 (#2 of 2): Unchecked return value from library (CHECKED_RETURN)7. check_return: Calling getchar() without checking return value. This library function may fail and return an error code.
122      printf("Press any key to continue...");getchar();
123      printf("\\n");

Author: Trac Migrate

2021-03-08T20:56:27.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”fbab8325a9e15add0efd70dbb2f3e5537f615bf5/rtems” fbab832/rtems]:

main_help.c: Unchecked return value from library (CID #1437650)

CID 1437650: Unchecked return value from library in rtems_shell_help().

Closes #4291

Author: Trac Migrate

2021-03-10T17:49:17.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2021-03-30T15:11:17.000Z

Original author: rlong

Another issue was found at line 150 after submitting the first patch

150        printf("Press any key to continue...");
CID 1437650 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)29. check_return: Calling getchar() without checking return value. This library function may fail and return an error code.
151        getchar();

Author: Trac Migrate

2021-05-28T17:29:48.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”2deba0240e82408da5a59c98afd0304fac192fcc/rtems” 2deba02/rtems]:

main_help.c: Do not care what char is returned by getchar()

CID 1437650: Unchecked return value from library in rtems_shell_help().

Closes #4291

4365 - main_cp.c: Ignore return value from stat()

Id

4365

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-30T14:44:30.000Z

Updated

2021-05-28T17:29:44.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4365

Merges

0

Original author: rlong

CID 26051: Unchecked return value from library in main_cp().

257                        if (Rflag && (Lflag || Hflag))
CID 26051 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)34. check_return: Calling stat(*argv, &tmp_stat) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
258                                stat(*argv, &tmp_stat);

Author: Trac Migrate

2021-05-28T17:29:44.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f29b312ea4bcfe063d5fa443138df4508103fd82/rtems” f29b312e/rtems]:

main_cp.c: Ignore return value from stat()

CID 26051: Unchecked return value from library in main_cp().

Closes #4365

4280 - gen_uuid.c: Unchecked return value from library errors spotted by Coverity

Id

4280

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T14:26:44.000Z

Updated

2021-05-28T17:29:41.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4280

Merges

0

Original author: rlong

CID 1049146: Unchecked return value from library in get_clock(). CID 1049147: Unchecked return value from library in get_random_fd().

CID 1049146

427                rewind(state_f);
428                fl.l_type = F_UNLCK;
CID 1049146 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)18. check_return: Calling fcntl(state_fd, 8, &fl) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
429                fcntl(state_fd, F_SETLK, &fl);
430        }
431
432        *clock_high = clock_reg >> 32;

CID 1049147

167                        if (i >= 0)
CID 1049147 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)5. check_return: Calling fcntl(fd, 2, i | 1) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
168                                fcntl(fd, F_SETFD, i | FD_CLOEXEC);
169                }

Author: Trac Migrate

2021-03-08T20:56:17.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”597e4f476568a225d14dfaff02074cf269ad62ac/rtems” 597e4f4/rtems]:

gen_uuid.c: Fix two Unchecked return value from library errors

CID 1049146: Unchecked return value from library in get_clock().
CID 1049147: Unchecked return value from library in get_random_fd().

Closes #4280

Author: Trac Migrate

2021-03-24T13:03:24.000Z

Original author: rlong

In [changeset:”62bbb0cc46f5015e757bae866e0b1aedd33d7d9d/rtems” 62bbb0c/rtems]:

gen_uuid.c: Revert previous patch (597e4f476568a225d14dfaff02074cf269ad62ac)

The patch was:
gen_uuid.c: Fix two Unchecked return value from library errors

CID 1049146: Unchecked return value from library in get_clock().
CID 1049147: Unchecked return value from library in get_random_fd().

Reopen #4280

Author: Joel Sherrill

2021-03-24T13:06:13.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

The fix was incorrect. It did not include the rtems assert.h header. Assuming the paths were testable, it would be checking return values on fcntl() commands that RTEMS does not support.

A more likely approach is to ifndef rtems the unsupported fcntl’s and see how that goes.

It is unclear if there was communication with the upstream project which would have been needed.

Author: Trac Migrate

2021-05-28T17:29:41.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”a187b092288efdb1c55f77c6f785486e64895084/rtems” a187b09/rtems]:

gen_uuid.c: Ignore return values from fcntl()

CID 1049146: Unchecked return value from library in get_clock().
CID 1049147: Unchecked return value from library in get_random_fd().

Closes #4280

4388 - Copy improved mailer.py from rtems-tools

Id

4388

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-19T17:37:41.000Z

Updated

2021-05-26T21:34:44.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4388

Merges

0

Original author: Alex

The mailer.py script from rtems-tools has had various improvements made to it that have been left out of the mailer.py script in rtems-source-builder.

The mailer.py in rtems-source-builder should be made to mirror the mailer.py script in rtems-tools so that it incorporates the same improvements.

Author: Trac Migrate

2021-04-19T17:37:51.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-05-26T21:34:44.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”4e6dc6431435821a534da6307e72ecbd7e42b82a/rtems-source-builder” 4e6dc64/rtems-source-builder]:

sb: Merge mailer changes from rtems-tools

This adds the improved mailer.py script from rtems-tools.

Closes #4388

4124 - rtems-bsp-builder needs to be switched to waf builds

Id

4124

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-06T18:06:59.000Z

Updated

2021-05-25T17:41:39.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4124

Merges

0

rtems-bsp-tester depends on autoconf. It must be fixed to depend on waf BSP configuration information before we can switch from autoconf.

Author: Chris Johns

2020-10-07T00:21:02.000Z

Do you mean rtems-bsp-builder?

Author: Joel Sherrill

2021-05-18T14:19:30.000Z

  • Summary changed from rtems-bsp-tester needs to be switched to waf builds to rtems-bsp-builder needs to be switched to waf builds

Author: Trac Migrate

2021-05-25T17:41:39.000Z

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”527848d5cc8b60c499e712153ac1f81a60e6a631/rtems-tools” 527848d/rtems-tools]:

rtems-bsp-builder: Change to waf build system

Closes #4124

4439 - Open of /dev/console should only be in SysInit List if Console Enabled

Id

4439

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-05-21T21:28:46.000Z

Updated

2021-05-25T13:33:57.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4439

Merges

0

The current code implicitly requires that the code to open /dev/console be included in the system initialization set anytime a dependency exists on the newlib reentrancy structure. This means that referencing errno pulls in at least open(), libio code, close(), atexit(), and unmount support.

This was shown to result in about 20K of text an 5K of data being included in powerpc/psim minimum.exe. A similar impact would happen on all BSPs.

Author: Trac Migrate

2021-05-25T13:33:57.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”76d5722b4a1adba2aa52043a83c7fa0fcff2a0d4/rtems” 76d5722b/rtems]:

sysinit: Do not open console when just referencing reentrancy structure.

This change eliminates a system initialization dependentcy which resulted
in an application without a file system or console referencing errno being
forced to include the code to open(/dev/console), close(), atexit(),
and the unmount infrastructure.

Closes #4439.

4438 - powerpc/shared/irq/ppc-irq-legacy.c: Use rtems_malloc() not malloc()

Id

4438

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-05-21T21:24:57.000Z

Updated

2021-05-25T13:33:50.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4438

Merges

0

malloc() is required to set errno which implicitly references the newlib reentrancy structure. Changing this eliminates one reason the reentrancy code may be pulled into minimum.exe.

Author: Trac Migrate

2021-05-25T13:33:50.000Z

  • Owner set to Joel Sherrill <joel@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f9d590753a844443e0981a520c9d672caf704244/rtems” f9d59075/rtems]:

ppc-irq-legacy.c: Use rtems_malloc() instead of malloc().

Closes #4438.

4410 - rtems_task_start() does not check that the entry point is not equal to NULL (cloned)

Id

4410

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-14T07:13:01.000Z

Updated

2021-05-14T07:23:40.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4410

Merges

0

Original author: sebastian.huber

Cloned from #4409:


Bug was introduced by commit 33829ce155069462ba410d396da431386369ed08 related to #2555.

Author: Trac Migrate

2021-05-14T07:23:40.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b87d2a6364ecc9f11572eac1bb557336b5f3736d/rtems” b87d2a6/rtems]:

rtems: Check entry point in rtems_task_start()

Close #4410.

4403 - rtems_timer_fire_when() returns wrong status code when wall_time argument is NULL

Id

4403

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-06T14:16:59.000Z

Updated

2021-05-12T04:41:26.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4403

Merges

0

Original author: frank_k

The _RTEMS Classic API Guide_ (https://docs.rtems.org/branches/master/c-user/timer/directives.html#rtems-timer-fire-when) elaborates for rtems_timer_fire_when():

RTEMS_INVALID_ADDRESS The wall_time parameter was NULL. RTEMS_INVALID_CLOCK The time of day was invalid.

Yet, calling rtems_timer_fire_when() with wall_time = NULL and all other parameters valid results in RTEMS_INVALID_CLOCK. Have a look into cpukit/rtems/src/timercreate.c function _Timer_Fire_when() to see the cause for this behavior.

I attach two patches:

  • sptimer_err01.patch – extends an existing test to reproduce this issue

  • timercreate.patch – fixes the issue

There are at least two ways to handle this bug and I do not want to decide which way to choose:

  1. Change the documentation

  2. Change the code

For the records:

RTEMS_VERSION    = 6.0.0
remote origin    = git://git.rtems.org/rtems.git
commit HEAD      = 2c5199bb049efe8e29cd12461dc57bd6e30388e8  (HEAD -> master, origin/master, origin/HEAD)
config.ini       =
[arm/realview_pbx_a9_qemu]
RTEMS_DEBUG = True
RTEMS_NETWORKING = True
RTEMS_POSIX_API = True
RTEMS_SMP = True
BUILD_TESTS = True
NEWLIB_VERSION   = 3.2.0
SOURCE_BUILDER   = Set Builder, 6 (5e449fb5c2cb)
GCC_VERSION      = arm-rtems6-gcc (GCC) 10.2.1 20210309 (RTEMS 6, RSB 5e449fb5c2cb6812a238f9f9764fd339cbbf05c2, Newlib d10d0d9)
BINUTILS_VERSION = GNU ld (GNU Binutils) 2.36.1.20210309

Author: Trac Migrate

2021-05-06T14:18:12.000Z

Original author: frank_k

Extends existing test to reproduce the issue.

Author: Trac Migrate

2021-05-06T14:19:12.000Z

Original author: frank_k

Patch which fixes the issue.

Author: Trac Migrate

2021-05-12T04:41:26.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3af2dc7802164d6c22dbef1f144c9bd945a35c30/rtems” 3af2dc7/rtems]:

_TOD_Validate(): Fix incorrect return code

This patch fixes bug #4403. Directives

* rtems_timer_fire_when()
* rtems_timer_server_fire_when()
* rtems_task_wake_when()

are documented to return RTEMS_INVALID_ADDRESS when their time-of-day
argument is NULL. But actually they return RTEMS_INVALID_CLOCK. To fix
the issue this patch changes _TOD_Validate() to return a
status code instead of just true/false.

Close #4403

4402 - rtemstoolkit/mailer.py option added twice

Id

4402

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-05-05T14:00:34.000Z

Updated

2021-05-10T16:47:35.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4402

Merges

0

Original author: Alex

In the add_arguments function, the intent is that the first two options are added to the arguments before the rest of them are iterated and added. The iteration of the remaining options, however, starts with the first option when it should start with the second.

Additionally, the order of keys in a dictionary cannot be relied on for all versions of Python we support. The dictionary should be changed to an OrderedDict to preserve key order to facilitate iteration.

Author: Trac Migrate

2021-05-05T14:00:46.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-05-10T16:47:35.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”f18e6d8e1573e9c924d43ed2e5966d5be41bfaa7/rtems-tools” f18e6d8/rtems-tools]:

rtemstoolkit/mailer.py: Fix option ordering for add_arguments

The ordering of keys cannot be guaranteed in a dictionary. This changes
the options iteration to no longer rely on key ordering.

Closes #4402

4329 - main_rtrace.c: Dereference after null check error spotted by Coverity

Id

4329

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-10T18:42:23.000Z

Updated

2021-04-29T15:27:12.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4329

Merges

0

Original author: rlong

CID 1399709: Dereference after null check in rtems_trace_buffering_shell_save().

6. var_compare_op: Comparing buf to null implies that buf might be null.
472  if (!buf)
473  {
474    close (out);
475    printf ("error: no memory\\n");
476  }
477
CID 1399709 (#1 of 1): Dereference after null check (FORWARD_NULL)7. var_deref_model: Passing null pointer buf to memset, which dereferences it.
478  memset (buf, 0, SAVE_BUF_SIZE);

Author: Trac Migrate

2021-04-29T15:27:12.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”8cf30c41d9336f61e37eeb29617e5a13532c7c3d/rtems” 8cf30c4/rtems]:

main_rtrace.c: Add error return when malloc fails

CID 1399709: Dereference after null check in
rtems_trace_buffering_shell_save().

Closes #4329

4326 - objectextendinformation.c: Dereference after null check error spotted by Coverity

Id

4326

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-10T13:56:34.000Z

Updated

2021-04-29T15:27:08.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::score, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4326

Merges

0

Original author: rlong

CID 26033: Dereference after null check in _Objects_Extend_information().

172    if ( old_maximum > extend_count ) {
173      /*
174       *  Copy each section of the table over. This has to be performed as
175       *  separate parts as size of each block has changed.
176       */
CID 26033 (#1 of 1): Dereference after null check (FORWARD_NULL)11. var_deref_model: Passing null pointer information->object_blocks to memcpy, which dereferences it.
177      memcpy(
178        object_blocks,
179        information->object_blocks,
180        block_count * sizeof( *object_blocks )
181      );

Author: Trac Migrate

2021-04-29T15:27:08.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”cdf66529fd2dcbedc27f0ac9ac2f3e4737ea4d0b/rtems” cdf66529/rtems]:

objectextendinformation.c: Ensure information->object_blocks is not NULL

CID 26033: Dereference after null check in _Objects_Extend_information().

Closes #4326

4395 - Workspace initialization is broken for arm/imx7 and arm/raspberrypi

Id

4395

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-29T11:38:47.000Z

Updated

2021-04-29T11:43:04.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4395

Merges

0

Original author: sebastian.huber

Cloned from #4394:


The ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX has a wrong value. The bug was introduced by the fix for #4185.

Author: Trac Migrate

2021-04-29T11:43:04.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”263e00b26abc5eb8b67f73be458245cc798e93e9/rtems” 263e00b/rtems]:

bsps/arm: ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX

Change the ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX value to be in line
with the workspace entry in ARMV7_CP15_START_DEFAULT_SECTIONS.

Close #4395.

4384 - Add SMTP login to rtems-tools mailer

Id

4384

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-04-12T18:34:08.000Z

Updated

2021-04-14T14:32:23.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4384

Merges

0

Original author: Alex

The ability to provide a username and password to perform an SMTP login should be added so that rtems-test results can be mailed via an external SMTP server that requires authentication.

The following additional command line options should be enough to make it work: –smtp-port –smtp-user –smtp-password

The mail-related command line options should be filtered from the mailed logs so that credentials do not get leaked.

Author: Trac Migrate

2021-04-12T18:34:20.000Z

Original author: Alex

  • Owner set to Alex

  • Status changed from new to accepted

Author: Trac Migrate

2021-04-12T18:36:29.000Z

Original author: Alex

Replying to Alex White:

The following additional command line options should be enough to make it work: –smtp-port –smtp-user –smtp-password

Additionally, a --smtp-use-gitconfig option to use the information found in ~/.gitconfig would be nice.

Author: Trac Migrate

2021-04-13T21:45:02.000Z

Original author: Alex

In [changeset:”1a575af81717a74b9c927b47b20abb814595391b/rtems-tools” 1a575af/rtems-tools]:

rtemstoolkit/mailer.py: Return full smtp-host arg value

This fixes mail.smtp_host() so that it returns the full argument value
rather than just the second character.

Updates #4384

Author: Trac Migrate

2021-04-13T21:45:04.000Z

Original author: Alex

In [changeset:”92f7f67297b9053e6846760e6c8059be0fa1c86c/rtems-tools” 92f7f67/rtems-tools]:

rtemstoolkit: Filter mail options from log output

This filters mail-related options out before logging the command line
options. This is needed to prevent leaking potentially sensitive
information via logs and emails.

Updates #4384

Author: Trac Migrate

2021-04-13T21:45:06.000Z

Original author: Alex

In [changeset:”3b1407fb20299143ada0f0983aa16ac336234ee8/rtems-tools” 3b1407f/rtems-tools]:

rtemstoolkit/mailer.py: Add SMTP login options

This adds more options so that the user can authenticate with the SMTP
server.

Updates #4384

Author: Trac Migrate

2021-04-14T14:32:23.000Z

Original author: Alex

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”82b752a43851a59d5029b470057464f1b83155d9/rtems-tools” 82b752a/rtems-tools]:

rtemstoolkit/mailer.py: Add --use-gitconfig option

This adds the option to pull mail-related configuration values from the
user's git configuration.

Closes #4384

4342 - disp_hcms29xx.c: Unused value error spotted by Coverity

Id

4342

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-12T16:50:51.000Z

Updated

2021-04-08T23:02:16.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4342

Merges

0

Original author: rlong

CID 1399752: Unused value in disp_hcms29xx_update_task().

598      if (rc == RTEMS_SUCCESSFUL) {
CID 1399752 (#1 of 1): Unused value (UNUSED_VALUE)returned_value: Assigning value from rtems_semaphore_release(softc_ptr->disp_param.trns_sema_id) to rc here, but that stored value is overwritten before it can be used.
599        rc = rtems_semaphore_release(softc_ptr->disp_param.trns_sema_id);
600      }

Author: Trac Migrate

2021-04-08T23:02:16.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”3cd58bdf2c2a125a5dfb23d09037d9b5a592f2fd/rtems” 3cd58bd/rtems]:

disp_hcms29xx.c: Unused value (CID #1399752)

CID 1399752: Unused value in disp_hcms29xx_update_task().

Closes #4342

4341 - fastlz.c: Unused value error spotted by Coverity

Id

4341

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-12T16:47:57.000Z

Updated

2021-04-08T23:02:13.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4341

Merges

0

Original author: rlong

CID 1399751: Unused value in fastlz2_compress().

219    if(ip[0] == ip[-1] && FASTLZ_READU16(ip-1)==FASTLZ_READU16(ip+1))
220    {
221      distance = 1;
CID 1399751 (#1 of 1): Unused value (UNUSED_VALUE)assigned_pointer: Assigning value from ip + 3 to ip here, but that stored value is overwritten before it can be used.
222      ip += 3;

Author: Trac Migrate

2021-04-08T23:02:13.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”09d811b8a587b44556a6fea240ac636815d0295a/rtems” 09d811b/rtems]:

fastlz.c: Unused value (CID #1399751)

CID 1399751: Unused value in fastlz2_compress().

Closes #4341

4339 - main_cp.c: Unused value error spotted by Coverity

Id

4339

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-12T16:29:10.000Z

Updated

2021-04-08T23:02:06.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4339

Merges

0

Original author: rlong

CID 1255344: Unused value in copy().

315                case FTS_DC:                    /* Warn, continue. */
316                        warnx("%s: directory causes a cycle", curr->fts_path);
CID 1255344 (#5 of 5): Unused value (UNUSED_VALUE)assigned_value: Assigning value from rval to badcp here, but that stored value is overwritten before it can be used.
317                        badcp = rval = 1;
318                        continue;

Author: Trac Migrate

2021-04-08T23:02:06.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”fbc764403f4436e1863a8a2a386a9a290dd14129/rtems” fbc76440/rtems]:

main_cp.c: Unused value (CID #1255344)

CID 1255344: Unused value in copy().

Closes #4339

4380 - Update RTEMS POSIX Compliance Spreadsheet

Id

4380

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2021-04-06T21:25:18.000Z

Updated

2021-04-07T18:58:39.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4380

Merges

0

There have been additions to RTEMS and the tracking spreadsheet now includes FACE Technical Standard, Edition 3.1

Author: Trac Migrate

2021-04-07T18:58:39.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b43fe709af0130dd720b61aa505da2c23d9c3c81/rtems-docs” b43fe70/rtems-docs]:

posix-compliance: Update tracking spreadsheet to v12

The new version of the API tracking spreadsheet includes FACE
Technical Standard, Edition 3.1 as well as a few additions to
what RTEMS supports. The generation script and discussion of
standards was updated to reflect the inclusion of a new Edition
of the FACE Technical Standard.

Closes #4380.

3689 - bdbuf: Replace automatic read-ahead with rtems_bdbuf_peek()

Id

3689

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2019-02-11T10:49:25.000Z

Updated

2021-04-07T05:04:32.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3689

Merges

0

Original author: sebastian.huber

The block device cache (bdbuf) tries to deduce a read ahead opportunity from the read access pattern. Using real world FAT file systems showed that this is not very reliable and the read ahead seldom happens. One way to fix this issue is let file systems give a hint to the block device cache that they will likely read a certain block in the future, e.g. the next block in a sequential file read. Remove the existing read ahead logic and add a new function rtems_bdbuf_peek() instead.

Author: Trac Migrate

2019-02-11T10:49:48.000Z

Original author: sebastian.huber

Prototoype implementation.

Author: Chris Johns

2019-02-11T11:03:03.000Z

Original author: sebastian.huber

Why is the status returned from the peek in fat_file_read not checked?

Author: Trac Migrate

2019-02-11T11:04:30.000Z

Original author: sebastian.huber

The data is not used yet. It is just a hint, maybe we should remove a return code from rtems_bdbuf_peek().

Author: Chris Johns

2019-02-11T11:09:51.000Z

Original author: sebastian.huber

I would not remove the return code, it may be used in another file system.

Author: Trac Migrate

2019-12-19T08:07:34.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.1” to %”6.1”

Author: Trac Migrate

2021-03-26T13:28:22.000Z

Original author: sebastian.huber

In [changeset:”6ae79e6df6fbc89ffbd6badb3f84d6a2b513fe83/rtems” 6ae79e6/rtems]:

libblock: Add rtems_bdbuf_peek()

Adds a peek function that allows (for example) a file system to suggest
the next blocks that should be used for read ahead. This can increase
the read speed of fragmented files.

Update #3689

Author: Trac Migrate

2021-03-26T13:28:26.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”fd639b8abf1b82a74d14fbfe0180d853bbb43855/rtems” fd639b8/rtems]:

dosfs: Use peek support

This speeds up reading fragmented files.

Fix #3689

Author: Trac Migrate

2021-04-07T05:04:32.000Z

Original author: sebastian.huber

In [changeset:”b3364fc6cb2d7566cf5771a96711cd37b99cd9a3/rtems” b3364fc6/rtems]:

libtests/block14: Fix warning

Fix warning:

testsuites/libtests/block14/init.c:198:8: warning: 'sc' may be used
uninitialized in this function [-Wmaybe-uninitialized]

Update #3689.

4368 - rtems–tools tool kit temp file constructor does nothing

Id

4368

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Joel Sherrill

Created

2021-03-31T03:26:34.000Z

Updated

2021-04-01T17:43:50.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4368

Merges

0

A change to add an overloaded constructor …

https://git.rtems.org/rtems-tools/commit/?id=420d7a13672991a1480d06ac02190f2976b9253b

does not do anything. The body of the constructor is empty.

Thinking about this I think the change is not right because the code depends on libiberty make temp call to find the temp directory and that is designed to crate safe temp files.

I am now wondering how the code was tested? The files registered are not known to the clean up handler that runs on exit.

Author: Trac Migrate

2021-04-01T17:43:50.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

This patch set up the interfaces used in the “covoar: Add option to create named objdumps” patch that I sent. We determined that patch was not needed given its hacked-togetherness along with future speedups that we had in mind which would make it obsolete anyway.

This patch should have been removed from the set to be committed, but I forgot to send out a notice to exclude it. Sorry for the confusion.

This commit should be reverted.

4321 - Add spi driver for AXI SPI ip core from Xilinx

Id

4321

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-09T10:43:23.000Z

Updated

2021-03-30T15:03:39.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4321

Merges

0

Original author: soja

Add a spidev compatible driver for the xilinx axi quad spi ip core for standard SPI mode

Author: Trac Migrate

2021-03-09T10:43:36.000Z

Original author: soja

  • Owner set to soja

  • Status changed from new to accepted

Author: Trac Migrate

2021-03-30T15:03:14.000Z

Original author: soja

In [changeset:”70667b5527fa1a7398636f03ecc614d28702c8fc/rtems” 70667b55/rtems]:

bsps/xilinx_zynq: Add SPI driver for xilinx-axi-spi

Updates #4321

Author: Trac Migrate

2021-03-30T15:03:27.000Z

Original author: soja

In [changeset:”7a1edf11a1d6fbcabe660b34d93a2ed005cf6096/rtems” 7a1edf11/rtems]:

bsps/shared: Add Xilinx-AXI SPI driver to waf

Updates #4321

Author: Trac Migrate

2021-03-30T15:03:39.000Z

Original author: soja

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”33fd9155a1cd25c26ba5acdca93b9e7bd0aa73e8/rtems” 33fd915/rtems]:

bsps/xilinx_zynq: Add Xilinx AXI SPI driver to autotools build

Closes #4321

4355 - Remove leon3 test configurations which assume sis is built into gdb from rtems-test

Id

4355

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-23T15:55:39.000Z

Updated

2021-03-23T20:05:29.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4355

Merges

0

Original author: rlong

When trying to run the tests with rtems-test on leon3, every test was invalid except for minimum. rtems-test is still using sis through gdb when it should be using the dedicated sis executable.

Author: Trac Migrate

2021-03-23T20:05:29.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”64ad86c10b4ec8ecfc861dad39f0a51a69db6ca5/rtems-tools” 64ad86c/rtems-tools]:

bsps/sparc: Remove INI files using SIS in GDB

Removed the INI files that use the "target sim" option
since the SIS sparc simulator in GDB is no longer used
with RTEMS. A newer version of SIS is built separately.

Closes #4355

4282 - pwdgrp.c: Unchecked return value from library error spotted by Coverity

Id

4282

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:01:37.000Z

Updated

2021-03-23T17:02:15.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4282

Merges

0

Original author: rlong

CID 1255518: Unchecked return value from library in pwdgrp_init().

65  /*
66   * Do the best to create this directory.
67   */
CID 1255518 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)1. check_return: Calling mkdir("/etc", 493U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
68  mkdir("/etc", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH);

Author: Trac Migrate

2021-03-08T20:56:24.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”55ba229d228d1b7372256978828c573dd0af56d4/rtems” 55ba229/rtems]:

pwdgrp.c: Fix Unchecked return value from library (CID #1255518)

CID 1255518: Unchecked return value from library in pwdgrp_init().

Closes #4282

Author: Joel Sherrill

2021-03-23T13:45:55.000Z

Original author: rlong

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

It turns out that at least /etc can be created in multiple places depending on the RTEMS application structure. It was discussed that a standard mechanism is needed to address additional base file system directories. Ticket #4354 has been created for that which allows this issue to be strictly about the Coverity issue.

Changing the _Assert which was used to (void) mkdir should be sufficient to close this ticket again. Improvements to the base file system directory create can occur under #4354

Author: Trac Migrate

2021-03-23T17:02:15.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”37fc6516d36e82e0a740b33cc2787b4d031411d9/rtems” 37fc651/rtems]:

pwdgrp.c: Remove _Assert. /etc may already exist

Removed the _Assert_unused_variable_equals macro due to /etc
having already been created by the network stack initialization
or an initial filesystem image.

Closes #4282

4336 - Improve the workaround for the LEON3FT store-store errata: TN-0009 on master

Id

4336

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-11T15:16:45.000Z

Updated

2021-03-11T16:52:53.000Z

Milestone

6.1

Labels

arch:sparc, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4336

Merges

0

Original author: daniel

See also:

https://www.gaisler.com/doc/antn/GRLIB-TN-0009.pdf

Some areas were already fixed by #3057. RTEMS-5 branch ticket #4154.

Author: Trac Migrate

2021-03-11T16:51:40.000Z

Original author: daniel

In [changeset:”0cae482a454e4e554b8f391f2752eb40b5068cef/rtems” 0cae482a/rtems]:

sparc: Remove sequences that the B2BST scan script warns about

Update #4336.

Author: Trac Migrate

2021-03-11T16:52:50.000Z

Original author: daniel

In [changeset:”acad761b9c721b1d063698c57a2f4555460030a3/rtems” acad761/rtems]:

sparc,leon: avoid triggering TN-0009 bad sequence

Update #4336.

Author: Trac Migrate

2021-03-11T16:52:53.000Z

Original author: daniel

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”89d90c00198a469a0c197e53f58d7e1cef5839f7/rtems” 89d90c0/rtems]:

sparc,leon: avoid triggering LEON3FT errata TN-0009

Close #4336.

4324 - grlib,grcanfd: extend the GRCAN driver with GRCANFD support

Id

4324

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-09T14:31:37.000Z

Updated

2021-03-11T16:52:21.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4324

Merges

0

Original author: daniel

The new GRCAN_FD IP supports CAN FD standard and is mostly backwards compatible with GRCAN SW interface. It introduces support for CAN-FD frames and a new bit-rate timing registers for new baud-rate.

The GRCAN driver have been extended to support the GRCANFD IP using the same API. Device IP-core specific functions are split into different files (grcanstd.c and grcanfd.c).

(this was fixed in 5 branch, see ticket #4307.

Author: Trac Migrate

2021-03-11T16:52:11.000Z

Original author: daniel

In [changeset:”b98d6b67f68b9c973c88f1452666477d19d6eafe/rtems” b98d6b67/rtems]:

grlib: added 64-bit read no-cache function

Update #4324.

Author: Trac Migrate

2021-03-11T16:52:14.000Z

Original author: daniel

In [changeset:”43c903a1dc0634d0df5db8c94c5b72ae338d3032/rtems” 43c903a1/rtems]:

leon,grcan: added support for GRCANFD

The new GRCAN_FD IP supports CAN FD standard and is mostly backwards
compatible with GRCAN SW interface. The GRCAN driver have been extended
to support the GRCANFD IP using the same driver.

Additional functions have been added that uses a new CAN FD frame
format and read/write/baud-rate functions that supports both GRCANFD
and GRCAN. To keep the SW API fully backwards compatible with GRCAN,
the old functions remain.

Update #4324.

Author: Trac Migrate

2021-03-11T16:52:18.000Z

Original author: daniel

In [changeset:”9c76ca0c0cbb68aabbf8bc9ba5557419f0989371/rtems” 9c76ca0/rtems]:

leon,grcanfd: split out GRCANFD specific support in separate file

Update #4324.

Author: Trac Migrate

2021-03-11T16:52:21.000Z

Original author: daniel

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”9bf8a9d14735511990213f004376f47d4c46ee44/rtems” 9bf8a9d/rtems]:

leon,grcan: split out GRCAN non-FD specific support in separate file

Close #4324.

4323 - grlib,can: introduce a new common CAN baud-rate timing calculating functions

Id

4323

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-09T14:30:14.000Z

Updated

2021-03-11T16:52:08.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4323

Merges

0

Original author: daniel

There is no point in having two different implementations specific per GRLIB CAN device driver (OCCAN and GRCAN). Instead we can use the common CAN timing definitions and translate that into the device specific parameters using a new common calculation function.

Author: Trac Migrate

2021-03-11T16:52:01.000Z

Original author: daniel

In [changeset:”cff99cf1fae2ff2b019c7f3b1827bb7fe8ee7d83/rtems” cff99cf/rtems]:

leon,can: introduce common CAN baud-rate calculation function

Reimplemented the baud-rate algorithm from scratch to cope with
GRCAN, GRCANFD and OC_CAN devices.

Update #4323.

Author: Trac Migrate

2021-03-11T16:52:05.000Z

Original author: daniel

In [changeset:”4d192207421d8f7918028fb069df0c6167b6b992/rtems” 4d192207/rtems]:

leon,grcan: use common CAN baud-rate calculation routine

Update #4323.

Author: Trac Migrate

2021-03-11T16:52:08.000Z

Original author: daniel

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”65237ba01d4fc49acd1781895a2a5ffc3591f524/rtems” 65237ba0/rtems]:

leon,occan: use common CAN baud-rate calculation routine

Close #4323.

4320 - Add driver for cadence-spi device for xilinx based BSPs

Id

4320

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-09T10:41:19.000Z

Updated

2021-03-10T19:14:17.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4320

Merges

0

Original author: soja

Implement a spidev compatible driver for using the cadence-spi device of the Zynq devices in standard SPI mode.

Author: Trac Migrate

2021-03-09T10:41:30.000Z

Original author: soja

  • Owner set to soja

  • Status changed from new to accepted

Author: Trac Migrate

2021-03-10T19:13:54.000Z

Original author: soja

In [changeset:”cc825d0322ecdf67d3254da97b37d69fe7b6519c/rtems” cc825d0/rtems]:

bsps/xilinx_zynq: Add SPI driver for cadence-spi

Updates #4320

Author: Trac Migrate

2021-03-10T19:14:06.000Z

Original author: soja

In [changeset:”06129897a9e616a3cfad0d9803d14da68b5cfe3e/rtems” 06129897/rtems]:

bsps/xilinx_zynq: Add SPI driver to waf

Updates #4320

Author: Trac Migrate

2021-03-10T19:14:17.000Z

Original author: soja

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”92239318b1524f10d68dc5f04b4b46dd714718a1/rtems” 9223931/rtems]:

bsps/xilinx_zynq: Add SPI driver to autotools build

Closes #4320

4264 - Activate ehci_pci in rtems-libbsd (cloned)

Id

4264

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-22T11:46:03.000Z

Updated

2021-03-09T10:36:41.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4264

Merges

0

Original author: GabrielMoyano

Cloned from #4263:


Import ehci_pci from freebsd-org using freebsd-to-rtems.py

Author: Trac Migrate

2021-03-09T10:35:11.000Z

Original author: GabrielMoyano

  • Owner set to soja

  • Status changed from new to accepted

Author: Trac Migrate

2021-03-09T10:36:41.000Z

Original author: GabrielMoyano

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

4281 - main_chmod.c: Unchecked return value from library error spotted by Coverity

Id

4281

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T14:30:30.000Z

Updated

2021-03-08T20:56:21.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4281

Merges

0

Original author: rlong

CID 1063856: Unchecked return value from library in rtems_shell_main_chmod().

55  for (n=2 ; n < argc ; n++)
CID 1063856 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)4. check_return: Calling chmod(argv[n++], mode) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
56    chmod(argv[n++], mode);
57
58  return 0;
59}

Author: Trac Migrate

2021-03-08T20:56:21.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”8e34aa3b7b6b536b0362bb31dfa30a17452a6bd0/rtems” 8e34aa3/rtems]:

main_chmod.c: Fix Unchecked return value from library (CID #1063856)

CID 1063856: Unchecked return value from library in
rtems_shell_main_chmod().

Closes #4281

4301 - grcan.c: Unused value error spotted by Coverity

Id

4301

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-04T18:43:12.000Z

Updated

2021-03-05T20:20:29.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4301

Merges

0

Original author: rlong

CID 1437613: Unused value in grcan_set_sfilter().

1788                /* disable TX/RX SYNC filtering */
CID 1437613 (#1 of 1): Unused value (UNUSED_VALUE)assigned_value: Assigning value 4294967295ULL to pDev->sfilter.mask here, but that stored value is overwritten before it can be used.
1789                pDev->sfilter.mask = 0xffffffff;
value_overwrite: Overwriting previous write to pDev->sfilter.mask with value 0ULL.
1790                pDev->sfilter.mask = 0;

Author: Trac Migrate

2021-03-05T20:20:29.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f762b7c2725374bee975f0c031e467fd92412566/rtems” f762b7c2/rtems]:

grcan.c: Fix Unused value (CID #1437613)

CID 1437613: Unused value in grcan_set_filter().
This fix was recommended by Daniel Hellstrom (daniel@gaisler.com).

Closes #4301

4295 - b1553brm.c: Unsigned compared against 0 error spotted by Coverity

Id

4295

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-04T15:08:42.000Z

Updated

2021-03-05T20:20:26.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4295

Merges

0

Original author: rlong

CID 1399773: Unsigned compared against 0 in brm_write().

983        rw_args->bytes_moved = count;
984
CID 1399773 (#1 of 1): Unsigned compared against 0 (NO_EFFECT)unsigned_compare: This greater-than-or-equal-to-zero comparison of an unsigned value is always true. count >= 0U.
985        if (count >= 0) {
986                return RTEMS_SUCCESSFUL;
987        }

Author: Trac Migrate

2021-03-05T20:20:26.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”c57079a8149d779d487febbf9aa34037faa35fd0/rtems” c57079a/rtems]:

b1553brm.c: Fix Unsigned compared against 0 (CID #1399773)

CID 1399773: Unsigned compared against 0 in brm_write().

Closes #4295

4294 - satcan.c: Unsigned compared against 0 error spotted by Coverity

Id

4294

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-04T15:03:12.000Z

Updated

2021-03-05T20:20:23.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4294

Merges

0

Original author: rlong

CID 1399768: Unsigned compared against 0 in satcan_ioctl().

303                DBG("SatCAN: ioctl: masking register %d, with value %x\\n\\r",
304                    regmod->reg, regmod->val);
unsigned_compare: This less-than-zero comparison of an unsigned value is never true. regmod->reg < 0U.
305                if (regmod->reg < 0)
306                        return RTEMS_INVALID_NAME;
307                else if (regmod->reg <= SATCAN_FILTER_STOP)

Author: Trac Migrate

2021-03-05T20:20:23.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1f29ee4528290cd516be551c0ff7e945d6567390/rtems” 1f29ee4/rtems]:

satcan.c: Fix Unsigned compared against 0 (CID #1399768)

CID 1399768: Unsigned compared against 0 in satcan_ioctl().

Closes #4294

4290 - gr_cpci_gr740.c: Unchecked return value from library error spotted by Coverity

Id

4290

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:41:07.000Z

Updated

2021-03-05T20:20:19.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4290

Merges

0

Original author: rlong

CID 1437630: Unchecked return value from library in gr_cpci_gr740_inti1().

472        strcpy(priv->prefix, "/dev/gr740_0");
473        priv->prefix[11] += dev->minor_drv;
CID 1437630 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
474        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
475        priv->prefix[12] = '/';
476        priv->prefix[13] = '\\0';

Author: Trac Migrate

2021-03-02T18:22:21.000Z

Original author: rlong

  • Summary changed from gr_cpi_gr740.c: Unchecked return value from library error spotted by Coverity to gr_cpci_gr740.c: Unchecked return value from library error spotted by Coverity

Author: Trac Migrate

2021-03-05T20:20:19.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f804778881334484724b42335cac5dedaa242ed7/rtems” f8047788/rtems]:

gr_cpci_gr740.c: Unchecked return value from library (CID #1437630)

CID 1437630: Unchecked return value from library in gr_cpci_gr740_init1().

Closes #4290

4289 - gr_tmtc_1553.c: Unchecked return value from library error spotted by Coverity

Id

4289

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:38:33.000Z

Updated

2021-03-05T20:20:16.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4289

Merges

0

Original author: rlong

CID 1399785: Unchecked return value from library in gr_tmtc_1553_init1().

315        strcpy(priv->prefix, "/dev/tmtc1553_0");
316        priv->prefix[14] += dev->minor_drv;
CID 1399785 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
317        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
318        priv->prefix[15] = '/';
319        priv->prefix[16] = '\\0';

Author: Trac Migrate

2021-03-05T20:20:16.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”5f0a7ceb8100ea04d33474a408f49ab83401b845/rtems” 5f0a7ceb/rtems]:

gr_tmtc_1553.c: Unchecked return value from library (CID #1399785)

CID 1399785: Unchecked return value from library in gr_tmtc_1553_init1().

Closes #4289

4288 - gr_701.c: Unchecked return value from library error spotted by Coverity

Id

4288

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:35:32.000Z

Updated

2021-03-05T20:20:13.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4288

Merges

0

Original author: rlong

CID 1399783: Unchecked return value from library in gr701_init1().

331        strcpy(priv->prefix, "/dev/gr701_0");
332        priv->prefix[11] += dev->minor_drv;
CID 1399783 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
333        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
334        priv->prefix[12] = '/';
335        priv->prefix[13] = '\\0';

Author: Trac Migrate

2021-03-05T20:20:13.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”4c0d9c5a57637ef2a97717dfb5b8acee9a210370/rtems” 4c0d9c5a/rtems]:

gr_701.c: Unchecked return value from library (CID #1399783)

CID 1399783: Unchecked return value from library in gr701_init1().

Closes #4288

4287 - gr_rasta_adcdac.c: Unchecked return value from library error spotted by Coverity

Id

4287

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:29:21.000Z

Updated

2021-03-05T20:20:10.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4287

Merges

0

Original author: rlong

CID 1399780: Unchecked return value from library in gr_rasta_adcdac_init1().

396        strcpy(priv->prefix, "/dev/rastaadcdac0");
397        priv->prefix[16] += dev->minor_drv;
CID 1399780 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
398        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
399        priv->prefix[17] = '/';
400        priv->prefix[18] = '\\0';

Author: Trac Migrate

2021-03-05T20:20:10.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”91e38f8a8fab1cce4437578118f899bb22c4d455/rtems” 91e38f8/rtems]:

gr_rasta_adcdac.c: Fix Unchecked return value from library (CID #1399780)

CID 1399780: Unchecked return value from library in gr_rasta_adcdac_init1().

Closes #4287

4286 - gr_rasta_tmtc.c: Unchecked return value from library error spotted by Coverity

Id

4286

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:23:14.000Z

Updated

2021-03-05T20:20:06.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4286

Merges

0

Original author: rlong

CID 1399771: Unchecked return value from library in gr_rasta_tmtc_init1().

588        strcpy(priv->prefix, "/dev/rastatmtc0");
589        priv->prefix[14] += dev->minor_drv;
CID 1399771 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
590        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
591        priv->prefix[15] = '/';
592        priv->prefix[16] = '\\0';

Author: Trac Migrate

2021-03-05T20:20:06.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”17d525b5840418ba134a37c39f230c849f4aec3d/rtems” 17d525b5/rtems]:

gr_rasta_tmtc.c: Fix Unchecked return value from library (CID #1399771)

CID 1399771: Unchecked return value from library in gr_rasta_tmtc_init1().

Closes #4286

4285 - gr_leon4_n2x.c: Unchecked return value error from library error spotted by Coverity

Id

4285

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:16:14.000Z

Updated

2021-03-05T20:20:03.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4285

Merges

0

Original author: rlong

CID 1399767: Unchecked return value error from library in gr_cpci_leon4_n2x_init1().

495        strcpy(priv->prefix, "/dev/leon4n2x0");
496        priv->prefix[13] += dev->minor_drv;
CID 1399767 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
497        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
498        priv->prefix[14] = '/';
499        priv->prefix[15] = '\\0';

Author: Trac Migrate

2021-03-05T20:20:03.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”570b558955690f8f78f89508faa5804ce8125dd7/rtems” 570b558/rtems]:

gr_leon4_n2x.c: Fix Unchecked return value from library (CID #1399767)

CID 1399767: Unchecked return value error from library in gr_cpci_leon4_n2x_init1().

Closes #4285

4279 - pci_cfg_read.c: Missing break in switch error spotted by Coverity

Id

4279

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-01T21:25:50.000Z

Updated

2021-03-05T20:20:00.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4279

Merges

0

Original author: rlong

CID 1399723: Missing break in switch in pci_read_addressable().

70        switch (type) {
71        case PCI_RES_IO:
72                range0 = &bus->dev.resources[BRIDGE_RES_IO];
73                break;
CID 1399723 (#1 of 1): Missing break in switch (MISSING_BREAK)unterminated_case: The case for value 3 is not terminated by a break statement.
74        case PCI_RES_MEM:
75                range1 = &bus->dev.resources[BRIDGE_RES_MEM];
fallthrough: The above case falls through to this one.
76        default:
77        case PCI_RES_MEMIO:

Author: Trac Migrate

2021-03-05T20:20:00.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”0d33d10613a1079f49414b0e2daa820cd59fe68a/rtems” 0d33d10/rtems]:

pci_cfg_read.c: Fix Missing break in switch (CID #1399723)

CID 1399723: Missing break in switch in pci_read_addressable().

Closes #4279

4284 - gr_rasta_io.c: Unchecked return value from library error spotted by Coverity

Id

4284

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:09:01.000Z

Updated

2021-03-05T20:19:56.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4284

Merges

0

Original author: rlong

CID 1399763: Unchecked return value from library in gr_rasta_io_init1().

575        strcpy(priv->prefix, "/dev/rastaio0");
576        priv->prefix[12] += dev->minor_drv;
CID 1399763 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
577        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
578        priv->prefix[13] = '/';
579        priv->prefix[14] = '\\0';

Author: Trac Migrate

2021-03-05T20:19:56.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”b84ce61aa38fb887b790d6ae162d181029cce629/rtems” b84ce61/rtems]:

gr_rasta_io.c: Fix Unchecked return value from library (CID #1399763)

CID 1399763: Unchecked return value from library in gr_rasta_io_init1().

Closes #4284

4283 - gr_rasta_spw_router.c: Unchecked return value from library error spotted by Coverity

Id

4283

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-02T15:06:11.000Z

Updated

2021-03-05T20:19:53.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4283

Merges

0

Original author: rlong

CID 1399760: Unchecked return value from library in gr_rasta_spw_router_init1().

412        priv->prefix[14] += dev->minor_drv;
CID 1399760 (#1 of 1): Unchecked return value from library (CHECKED_RETURN)2. check_return: Calling mkdir(priv->prefix, 511U) without checking return value. This library function may fail and return an error code. [Note: The source code implementation of the function has been overridden by a builtin model.]
413        mkdir(priv->prefix, S_IRWXU | S_IRWXG | S_IRWXO);
414        priv->prefix[15] = '/';
415        priv->prefix[16] = '\\0';
416

Author: Trac Migrate

2021-03-05T20:19:53.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”0443601356477666d2bef460cfd1173b6c3a2c51/rtems” 04436013/rtems]:

gr_rasta_spw_router.c: Fix Unchecked return value from library (CID #1399760)

CID 1399760: Unchecked return value from library in gr_rasta_spw_router_init1().

Closes #4283

4278 - cpuusagetop.c: Missing break in switch errors spotted by Coverity

Id

4278

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-01T21:01:48.000Z

Updated

2021-03-05T20:19:50.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4278

Merges

0

Original author: rlong

CID 1399726: Missing break in switch in task_usage(). CID 1399728: Missing break in switch in task_usage(). CID 1399742: Missing break in switch in task_usage().

CID 1399726

233            continue;
CID 1399726 (#1 of 1): Missing break in switch (MISSING_BREAK)unterminated_case: The case for value 2U is not terminated by a break statement.
234        case RTEMS_TOP_SORT_CURRENT_PRI:
235          if (
236            _Thread_Get_priority( thread )
237              > _Thread_Get_priority( data->tasks[j] )
238          ) {
239            continue;
240          }
fallthrough: The above case falls through to this one.

CID 1399728

230            continue;
CID 1399728 (#1 of 1): Missing break in switch (MISSING_BREAK)unterminated_case: The case for value 1U is not terminated by a break statement.
231        case RTEMS_TOP_SORT_REAL_PRI:
232          if (thread->Real_priority.priority > data->tasks[j]->Real_priority.priority)
233            continue;
fallthrough: The above case falls through to this one.
234        case RTEMS_TOP_SORT_CURRENT_PRI:

CID 1399742

226            continue;
CID 1399742 (#1 of 1): Missing break in switch (MISSING_BREAK)unterminated_case: The case for value 3U is not terminated by a break statement.
227        case RTEMS_TOP_SORT_TOTAL:
228          if (CPU_usage_Equal_to(&usage, &data->zero) ||
229              CPU_usage_Less_than(&usage, &data->usage[j]))
230            continue;
fallthrough: The above case falls through to this one.
231        case RTEMS_TOP_SORT_REAL_PRI:

Author: Trac Migrate

2021-03-01T21:19:34.000Z

Original author: rlong

  • Summary changed from cpuusagetop.c to cpuusagetop.c: Missing break in switch errors spotted by Coverity

Author: Trac Migrate

2021-03-05T20:19:50.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”c7eb89f82b4c0572917cc7bc31dfecb08a6685ee/rtems” c7eb89f8/rtems]:

cpuusagetop.c: Fix three Missing break in switch Coverity errors

CID 1399726: Missing break in switch in task_usage().
CID 1399728: Missing break in switch in task_usage().
CID 1399742: Missing break in switch in task_usage().

Closes #4278

4277 - grtc.c: Missing break in switch errors spotted by Coverity

Id

4277

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-03-01T20:22:13.000Z

Updated

2021-03-05T20:19:46.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4277

Merges

0

Original author: rlong

CID 1399761: Missing break in switch in process_dma(). CID 1399765: Missing break in switch in process_dma(). CID 1399766: Missing break in switch in process_dma(). CID 1399777: Missing break in switch in process_dma().

CID 1399761

1366                pDev->frm = NULL;
1367                pDev->frame_state = FRM_STATE_HDR;
1368
CID 1399761: Missing break in switch (MISSING_BREAK) [select issue]
fallthrough: The above case falls through to this one.
1369                case FRM_STATE_HDR:
1370                DBG2("FRAME_STATE_HDR\\n");

CID 1399765

1450                pDev->frame_state = FRM_STATE_PAYLOAD;
1451                pDev->frm = frm;
1452
1453                case FRM_STATE_PAYLOAD:
1454                DBG2("FRAME_STATE_PAYLOAD\\n");

CID 1399766

1450                pDev->frame_state = FRM_STATE_PAYLOAD;
1451                pDev->frm = frm;
1452
CID 1399766 (#1 of 1): Missing break in switch (MISSING_BREAK)unterminated_case: The case for value FRM_STATE_PAYLOAD is not terminated by a break statement.
1453                case FRM_STATE_PAYLOAD:
1454                DBG2("FRAME_STATE_PAYLOAD\\n");

CID 1399767

1354        switch( pDev->frame_state ) {
CID 1399777 (#1 of 1): Missing break in switch (MISSING_BREAK)unterminated_case: The case for value FRM_STATE_NONE is not terminated by a break statement.
1355                case FRM_STATE_NONE:
1356                DBG2("FRAME_STATE_NONE\\n");
1357
1358                /* Find Start of next frame by searching for 0x01 */
1359                ret = grtc_hw_find_frm(pDev);
1360                if ( ret != 0 ) {
1361                        /* Frame start not found */
1362                        return 0;
1363                }
1364
1365                /* Start of frame found, Try to copy header */
1366                pDev->frm = NULL;
1367                pDev->frame_state = FRM_STATE_HDR;

Author: Trac Migrate

2021-03-01T20:48:04.000Z

Original author: rlong

  • Summary changed from grtc.c: Missing break in switch error spotted by Coverity to grtc.c: Missing break in switch errors spotted by Coverity

Author: Trac Migrate

2021-03-05T20:19:46.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”13d6fae8dd495834d9d412b45da9c3deced7943a/rtems” 13d6fae/rtems]:

grtc.c: Fix four Missing break in switch Coverity errors

CID 1399761: Missing break in switch in process_dma().
CID 1399765: Missing break in switch in process_dma().
CID 1399766: Missing break in switch in process_dma().
CID 1399777: Missing break in switch in process_dma().

Closes #4277

4259 - grspw.c: Unchecked return value error spotted by Coverity

Id

4259

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-19T21:06:23.000Z

Updated

2021-03-05T20:19:43.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4259

Merges

0

Original author: rlong

CID 1399781: Unchecked return value in grspw_device_init().

551        if ( value )
552                pDev->bd_dma_area = value->i;
553
13. Condition grspw_buffer_alloc(pDev), taking false branch.
554        if (grspw_buffer_alloc(pDev))
555                return RTEMS_NO_MEMORY;
556
557        /* Create semaphores */
CID 1399781 (#2 of 2): Unchecked return value (CHECKED_RETURN)14. check_return: Calling rtems_semaphore_create without checking return value (as is done elsewhere 15 out of 17 times).
558        rtems_semaphore_create(

Author: Trac Migrate

2021-03-05T20:19:43.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1eaf4e461f3800491040c8d1a51d6bba1ed9eab8/rtems” 1eaf4e46/rtems]:

grspw.c: Fix Unchecked return value (CID #1399781)

CID 1399781: Unchecked return value in grspw_device_init().

Closes #4259

4206 - aarch64/xilinx_zynqmp_lp64 does not run with RTEMS_DEBUG enabled

Id

4206

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2020-12-22T12:45:04.000Z

Updated

2021-03-05T14:06:35.000Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4206

Merges

0

Original author: sebastian.huber

qemu-system-aarch64 -serial null -serial mon:stdio -machine xlnx-zcu102 -m 4096 -kernel build/aarch64/xilinx_zynqmp_lp64/testsuites/samples/ticker.exe -nographic

*** FATAL ***
fatal source: 7 (RTEMS_FATAL_SOURCE_ASSERT)
fatal code: 1074874896 (0x40114a10)
RTEMS version: 6.0.0.644cd68d8ce0044f78f095a648bfe4c1567f351b
RTEMS tools: 10.2.1 20201215 (RTEMS 6, RSB 6d0bff0eb6ed35d180491614b976277d5469a302, Newlib 6cc47c4)
executing thread ID: 0x08a010001
executing thread name: UI1
assertion "cpu_self->thread_dispatch_disable_level == 1" failed: file "/home/EB/sebastian_h/src/rtems/cpukit/score/src/threadhandler.c", line 120, function: _Thread_Handler

Author: Trac Migrate

2020-12-22T12:45:23.000Z

Original author: sebastian.huber

  • Owner set to @joel

Author: Trac Migrate

2021-03-05T14:06:35.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”61d688bfcf191347af9b6a23f16176e6667d0bf5/rtems” 61d688bf/rtems]:

aarch64: Fix context switch

The Per_CPU_Control::isr_dispatch_disable is a 32-bit integer.

Close #4206.

4197 - testsuite: ts-validation-0 broken on AArch64 due to SIZE_MAX issues in the test design

Id

4197

State

closed

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Trac Migrate

Created

2020-12-02T20:28:40.000Z

Updated

2021-03-04T08:12:53.000Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4197

Merges

0

The ts-validation-0 test is broken on AArch64 LP64 ABI due to issues with unexpected values of SIZE_MAX. I was not familiar enough with the test architecture in use to debug it properly. This test passes under the ILP32 ABI due to the 32bit pointers and differing value of SIZE_MAX.

Author: Chris Johns

2021-02-15T06:51:39.000Z

Which test architecture are you referring too?

Author: Trac Migrate

2021-02-15T09:36:48.000Z

This is a general 64-bit issue.

Author: Kinsey Moore

2021-02-15T14:39:48.000Z

We actually found some time to dive into this recently and, as expected, it’s just a one-line tweak to fix it. I’ll post a patch shortly.

Chris, The test architecture I’m referring to is how the validation test sets up a large battery of repetitive checks.

Author: Trac Migrate

2021-03-04T08:12:53.000Z

  • Milestone set to %”6.1”

  • Resolution set to ~”fixed”

  • Status changed from new to closed

  • Version set to ~”6”

Fixed by 8fe59be236e7f2047adb6e393639bbf56bbd996d.

4262 - rtems-debugger-threads.c: Unchecked return value error spotted by Coverity

Id

4262

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2021-02-19T21:36:14.000Z

Updated

2021-02-26T22:56:29.000Z

Milestone

6.1

Labels

cpukit::debugger, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4262

Merges

0

Original author: rlong

CID 1468688: Unchecked return value in snapshot_thread().

262    else {
263      rtems_status_code sc;
264      sc = rtems_task_suspend(id);
265      if (sc != RTEMS_SUCCESSFUL && sc != RTEMS_ALREADY_SUSPENDED) {
266        rtems_debugger_printf("error: rtems-db: thread: suspend: %08" PRIx32 ": %s\\n",
267                              id, rtems_status_text(sc));
268        r = -1;
269      }
270    }
271
272    /*
273     * Read the target registers into the thread register array.
274     */
CID 1468688 (#1 of 1): Unchecked return value (CHECKED_RETURN)17. check_return: Calling rtems_debugger_target_read_regs without checking return value (as is done elsewhere 4 out of 5 times).
275    rtems_debugger_target_read_regs(thread);

Author: Trac Migrate

2021-02-26T22:56:29.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”e200265936f6722f8c363bbdac968ee25c6c8ce1/rtems” e2002659/rtems]:

rtems-debugger-threads.c: Fix Unchecked return value error (CID #1468688)

CID 1468688: Unchecked return value in snapshot_thread().

Closes #4262

4261 - getgrent.c: Unchecked return value error spotted by Coverity

Id

4261

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-19T21:24:15.000Z

Updated

2021-02-26T22:56:25.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4261

Merges

0

Original author: rlong

CID 1459004: Unchecked return value in endgrent().

102  if (ctx->fp != NULL) {
103    fclose(ctx->fp);
104  }
105
106  free(ctx);
CID 1459004 (#1 of 1): Unchecked return value (CHECKED_RETURN)3. check_return: Calling pthread_setspecific without checking return value (as is done elsewhere 5 out of 6 times).
107  pthread_setspecific(grp_key, NULL);

Author: Trac Migrate

2021-02-26T22:56:25.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”e5e58da6dfbdfa78ad499c2f52ec53c88538aa1c/rtems” e5e58da/rtems]:

getgrent.c: Fix Unchecked return value error (CID #1459004)

CID 1459004: Unchecked return value in endgrent().

Closes #4261

4260 - record-client.c: Unchecked return value error spotted by Coverity

Id

4260

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-19T21:16:24.000Z

Updated

2021-02-26T22:56:22.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4260

Merges

0

Original author: rlong

CID 1456677: Unchecked return value in resolve_hold_back().

191    for ( index = begin_index; index < per_cpu->item_index; ++index ) {
192      const rtems_record_item_64 *item;
193
194      item = &per_cpu->items[ index ];
CID 1456677 (#1 of 1): Unchecked return value (CHECKED_RETURN)12. check_return: Calling visit without checking return value (as is done elsewhere 4 out of 5 times).
195      visit( ctx, item->event, item->data );

Author: Trac Migrate

2021-02-26T22:56:22.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”be3b87d47186097c23ee79a2dd17af67ab82b7d5/rtems” be3b87d/rtems]:

record-client.c: Fix Unchecked return value (CID #1456677)

CID 1456677: Unchecked return value in resolve_hold_back().

Closes #4260

4258 - printertask.c: Unchecked return value errors spotted by Coverity

Id

4258

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-19T20:55:06.000Z

Updated

2021-02-26T22:56:18.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4258

Merges

0

Original author: rlong

CID 1399710: Unchecked return value in printer_task().

138      switch ( buffer->action_kind ) {
139        case ACTION_WRITE:
140          write( fd, &buffer->data[ 0 ], buffer->action_data.size );
141          printer_task_append_buffer( ctx, &ctx->free_buffers, buffer );
4. Breaking from switch.
8. Breaking from switch.
15. Breaking from switch.
142          break;
143        case ACTION_DRAIN:
CID 1399710 (#1 of 1): Unchecked return value (CHECKED_RETURN)19. check_return: Calling fsync without checking return value (as is done elsewhere 4 out of 5 times).
144          fsync(fd);

Author: Trac Migrate

2021-02-19T21:47:12.000Z

Original author: rlong

  • Summary changed from printertask.c: Unchecked return value spotted by Coverity to printertask.c: Unchecked return value errors spotted by Coverity

CID 1472764: Unchecked return value in rtems_print_printer_task().

183  ctx->buffer_size -= sizeof( printer_task_buffer );
184
185  printer->context = ctx;
186  printer->printer = printer_task_printer;
187
CID 1472764 (#1 of 1): Unchecked return value (CHECKED_RETURN)3. check_return: Calling rtems_task_start without checking return value (as is done elsewhere 22 out of 25 times).
188  rtems_task_start( ctx->task, printer_task, (rtems_task_argument) ctx );

Author: Trac Migrate

2021-02-26T22:56:18.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1b322a6b83990b9c8fc5ba05d78edf8bba533ca1/rtems” 1b322a6/rtems]:

printertask.c: Fix Unchecked return value (CID #1399710)

CID 1399710: Unchecked return value in printer_task().
CID 1472764: Unchecked return value in rtems_print_printer_task().

Closes #4258

4253 - grspw_pkt.c: Dereference before null check error spotted by Coverity

Id

4253

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-16T20:54:52.000Z

Updated

2021-02-19T20:06:24.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4253

Merges

0

Original author: rlong

CID 1399846: Dereference before null check in grspw_addr_ctrl().

657        struct grspw_priv *priv = d;
deref_ptr: Directly dereferencing pointer priv.
658        struct grspw_regs *regs = priv->regs;
659        unsigned int ctrl, nodeaddr;
660        SPIN_IRQFLAGS(irqflags);
661        int i;
662
CID 1399846 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking priv suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
663        if (!priv || !cfg)

Author: Trac Migrate

2021-02-19T20:06:24.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”fac1ff18203b4fcb53610244b066a427f88faa3a/rtems” fac1ff1/rtems]:

grspw_pkt.c: Fix Dereference before null check (CID #1399846)

CID 1399846: Dereference before null check in grspw_addr_ctrl().

Closes #4253

4252 - grtc.c: Dereference before null check error spotted by Coverity

Id

4252

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-16T20:50:40.000Z

Updated

2021-02-19T20:06:20.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4252

Merges

0

Original author: rlong

CID 1399840: Dereference before null check in grtc_ioctl().

1534        rtems_libio_ioctl_args_t *ioarg = (rtems_libio_ioctl_args_t *)arg;
deref_ptr: Directly dereferencing pointer ioarg.
1535        unsigned int *data = ioarg->buffer;
1536        int status,frm_len,i,ret;
1537        struct grtc_ioc_buf_params *buf_arg;
1538        struct grtc_ioc_config *cfg;
1539        struct grtc_ioc_hw_status *hwregs;
1540        struct grtc_ioc_pools_setup *pocfg;
1541        struct grtc_ioc_assign_frm_pool *poassign;
1542        struct grtc_frame *frm, *frms;
1543        struct grtc_frame_pool *pool;
1544        struct grtc_list *frmlist;
1545        struct grtc_ioc_stats *stats;
1546        unsigned int mem;
1547        IRQ_LOCAL_DECLARE(oldLevel);
1548
1549        FUNCDBG();
1550
1551        if ( drvmgr_get_dev(&grtc_drv_info.general, minor, &dev) ) {
1552                return RTEMS_INVALID_NUMBER;
1553        }
1554        pDev = (struct grtc_priv *)dev->priv;
1555
CID 1399840 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking ioarg suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1556        if (!ioarg)

Author: Trac Migrate

2021-02-19T20:06:20.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1fd56a96fcfb90ceae5eff2598a5ca375ff85109/rtems” 1fd56a96/rtems]:

grtc.c: Fix Dereference before null check (CID #1399840)

CID 1399840: Dereference before null check in grtc_ioctl().

Closes #4252

4251 - b1553rt.c: Dereference before null check error spotted by Coverity

Id

4251

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-16T20:46:40.000Z

Updated

2021-02-19T20:06:16.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4251

Merges

0

Original author: rlong

CID 1399830: Dereference before null check in rt_control().

621    rtems_libio_ioctl_args_t *ioarg = (rtems_libio_ioctl_args_t *) arg;
deref_ptr: Directly dereferencing pointer ioarg.
622    unsigned int *data = ioarg->buffer;
623
624    rt_priv *rt;
625    struct drvmgr_dev *dev;
626
627    FUNCDBG("rt_control[%d]: [%i,%i]\\n", minor, major, minor);
628
629    if ( drvmgr_get_dev(&b1553rt_drv_info.general, minor, &dev) ) {
630        return RTEMS_UNSATISFIED;
631    }
632    rt = (rt_priv *)dev->priv;
633
CID 1399830 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking ioarg suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
634    if (!ioarg) {

Author: Trac Migrate

2021-02-19T20:06:16.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”4edcdf43c7c4d0ac2314ff3518643c2a80eb3e19/rtems” 4edcdf43/rtems]:

b1553rt.c: Fix Deference before null check (CID #1399830)

CID 1399830: Dereference before null check in rt_control().

Closes #4251

4250 - b1553brm.c: Dereference before null check error spotted by Coverity

Id

4250

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-16T20:43:31.000Z

Updated

2021-02-19T20:06:12.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4250

Merges

0

Original author: rlong

CID 1399829: Dereference before null check in brm_control().

rtems_libio_ioctl_args_t *ioarg = (rtems_libio_ioctl_args_t *) arg;
deref_ptr: Directly dereferencing pointer ioarg.
997        unsigned int *data = ioarg->buffer;
998        struct bc_msg *cmd_list = (struct bc_msg *) ioarg->buffer;
999        brm_priv *brm;
1000        struct drvmgr_dev *dev;
1001        rtems_device_driver ret;
1002        int len, msglen;
1003
1004        FUNCDBG("brm_control[%d]: [%i,%i]\\n", minor, major, minor);
1005
1006        if ( drvmgr_get_dev(&b1553brm_drv_info.general, minor, &dev) ) {
1007                return RTEMS_UNSATISFIED;
1008        }
1009        brm = (brm_priv *)dev->priv;
1010
CID 1399829 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking ioarg suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1011        if (!ioarg) {

Author: Trac Migrate

2021-02-19T20:06:12.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”eff3d7c05f71a60e93a67b08168f5f64b747c56d/rtems” eff3d7c/rtems]:

b1553brm.c: Fix Dereference before null check (CID #1399829)

CID 1399829: Dereference before null check in brm_control().

Closes #4250

4229 - conf.py files need updated for sphinxcontrib-bibtex ver. 2.0.0 and greater

Id

4229

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-02T15:18:51.000Z

Updated

2021-02-18T20:03:47.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4229

Merges

0

Original author: rlong

I followed the instructions in the README, but I still ran across this error. I was able to get around it by specifying the version ofsphinxcontrib-bibtex to be 1.0.0. This fix might probably needs to be applied to the 5 release branch as well.

Command line output

Checking for 'sphinxcontrib.bibtex'      : not found (see README.txt)
The configuration failed
(complete log in /home/rlong/nta-workspace/nta-docs/build/config.log)

Output in ${TOP}/build/config.log

err: WARNING: Since v2.0, Sphinx uses "index" as master_doc by default. Please add "master_doc = 'contents'" to your conf.py.

found
----------------------------------------
Checking for 'sphinxcontrib.bibtex'
[1/1] Processing ^[[01;34mbuild/.conf_check_70571fadfd25a3c4e29a4087f18cfa38/testbuild/contents.rst^[[0m

/home/rlong/nta-workspace/nta-docs/sphinx/bin/sphinx-build -b html -D extensions=sphinxcontrib.bibtex -C . out
out: Running Sphinx v3.4.3
making output directory... done

err:
Extension error:
You must configure the bibtex_bibfiles setting

from /home/rlong/nta-workspace/nta-docs/user: Test does not build: Traceback (most recent call last):
File "/home/rlong/nta-workspace/nta-docs/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Configure.py", line 333, in run_build
bld.compile()
File "/home/rlong/nta-workspace/nta-docs/.waf3-2.0.19-1f3c580272b15a03d2566843c5fe872a/waflib/Build.py", line 176, in compile
raise Errors.BuildError(self.producer.error)
waflib.Errors.BuildError: Build failed
-> task in '' failed with exit status 2 (run with -v to display more information)
not found (see README.txt)
from /home/rlong/nta-workspace/nta-docs/user: The configuration failed

Author: Trac Migrate

2021-02-18T20:03:47.000Z

Original author: rlong

  • Owner set to Gedare Bloom <gedare@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”4563bb6a8b5622b8502437929f6fde223d483c0c/rtems-docs” 4563bb6/rtems-docs]:

common: use bibtex_bibfiles for newer bibtex

Closes #4229.

4254 - shell.c: Dereference before null check error spotted by Coverity

Id

4254

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-16T21:00:54.000Z

Updated

2021-02-18T19:39:33.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4254

Merges

0

Original author: rlong

CID 1467420: Dereference before null check in rtems_shell_line_editor().

322  int          in_fileno = fileno(in);
deref_ptr_in_call: Dereferencing pointer out.
323  int          out_fileno = fileno(out);
324
325  /*
326   * Only this task can use this file descriptor because calling
327   * fileno will block if another thread call made a call on this
328   * descriptor.
329   */
CID 1467420 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking out suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
330  output = (out && isatty(in_fileno));

Author: Trac Migrate

2021-02-18T19:39:33.000Z

Original author: rlong

In [changeset:”fa25b73ac191fd9e4664da3197aef874488cee0e/rtems” fa25b73/rtems]:

shell.c: Fix Dereference before null check (CID #1467420)

CID 1467420: Dereference before null check in rtems_shell_line_editor().

Closes #4254

4239 - PowerPC shared ISA IRQ support is broken

Id

4239

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-02-12T19:35:08.000Z

Updated

2021-02-15T21:14:33.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4239

Merges

0

The PowerPC shared ISA IRQ management in i8259s.c is broken. It fails to handle:

  • Interrupt acknowledgements for the slave controller when the master has a lower priority pending interrupt acknowledge the slave and the master controllers

  • The nesting support to suspend and resume an interrupt does not correctly handle the enable/disable

  • The initialise of an interrupt does not handle any pending request

  • Locks up when using with the IRQ server which is executing the handler in a task context

All these issues have been fixed in the i386 BSP however the code between is not shared as the i386 BSP has BSP specific IRQ management code as well.

Author: Chris Johns

2021-02-12T19:35:28.000Z

  • Owner set to @chrisj

  • Status changed from new to accepted

Author: Trac Migrate

2021-02-15T21:14:33.000Z

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”e1676c1a0ddcdecd45914485813d7518a40cab17/rtems” e1676c1/rtems]:

Update motorola_power to irq-generic interrupt management

- Add support to the BSP to enable irq-generic management

- Update the powerpc shared irq code to support irq-generic. This
is an opt in option for existing powerpc bsps. This change
should be simpler now

- Fix a number of issues in ISA IRQ controller handling by porting
fixes from the i386 (PC) BSP

Closes #4238
Closes #4239

4238 - Change motorola_powerpc bsp to support irq-generic

Id

4238

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-02-12T19:27:53.000Z

Updated

2021-02-15T21:14:33.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4238

Merges

0

Update the motorola_powerpc to support irq-generic moving the IRQ management to the IRQ server. This enables libbsd support for interrupts.

Author: Trac Migrate

2021-02-15T21:14:33.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e1676c1a0ddcdecd45914485813d7518a40cab17/rtems” e1676c1/rtems]:

Update motorola_power to irq-generic interrupt management

- Add support to the BSP to enable irq-generic management

- Update the powerpc shared irq code to support irq-generic. This
is an opt in option for existing powerpc bsps. This change
should be simpler now

- Fix a number of issues in ISA IRQ controller handling by porting
fixes from the i386 (PC) BSP

Closes #4238
Closes #4239

4241 - rtems-debugger-threads.c: Three Dereference before null check errors spotted by Coverity

Id

4241

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2021-02-12T21:29:34.000Z

Updated

2021-02-12T23:13:56.000Z

Milestone

6.1

Labels

cpukit::debugger, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4241

Merges

0

Original author: rlong

CID 1468681: Dereference before null check in rtems_debugger_thread_continue(). CID 1468690: Dereference before null check in rtems_debugger_thread_system_resume(). CID 1468694: Dereference before null check in rtems_debugger_thread_find_index().

430  rtems_debugger_threads* threads = rtems_debugger->threads;
431  rtems_debugger_thread*  current;
432  int                     r = 0;
deref_ptr_in_call: Dereferencing pointer threads. [show details]
433  current = rtems_debugger_thread_current(threads);
CID 1468681 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking threads suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
434  if (threads != NULL && current != NULL) {
347  rtems_debugger_threads* threads = rtems_debugger->threads;
348  rtems_debugger_thread*  current;
349  int                     r = 0;
deref_ptr_in_call: Dereferencing pointer threads. [show details]
350  current = rtems_debugger_thread_current(threads);
CID 1468690 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking threads suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
351  if (threads != NULL && current != NULL) {
150  rtems_debugger_threads* threads = rtems_debugger->threads;
deref_ptr_in_call: Dereferencing pointer threads. [show details]
151  rtems_debugger_thread*  current = rtems_debugger_thread_current(threads);
152  int                     r = -1;
CID 1468694 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking threads suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
153  if (threads != NULL) {

Author: Trac Migrate

2021-02-12T23:13:56.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”f65d3384dd923c9ead9bcf264592bd879054f6dc/rtems” f65d3384/rtems]:

rtems-debugger-threads.c: Fix three Dereference before null check errors

CID 1468681: Dereference before null check in rtems_debugger_thread_continue().
CID 1468690: Dereference before null check in rtems_debugger_thread_system_resume().
CID 1468694: Dereference before null check in rtems_debugger_thread_find_index().

Closes #4241.

4240 - rtems-debugger-target.c: Dereference before null check spotted by Coverity

Id

4240

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2021-02-12T20:55:29.000Z

Updated

2021-02-12T23:13:53.000Z

Milestone

6.1

Labels

cpukit::debugger, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4240

Merges

0

Original author: rlong

CID 1468682: swbreaks is assigned a value dereferenced from target before it has been verified that target is not null.

173  rtems_debugger_target*         target = rtems_debugger->target;
deref_ptr: Directly dereferencing pointer target.
174  rtems_debugger_target_swbreak* swbreaks = target->swbreaks.block;
175  size_t                         swbreak_size;
176  uint8_t*                       loc = (void*) addr;
177  size_t                         i;
178  int                            r;
179
CID 1468682 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking target suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
180  if (target == NULL || swbreaks == NULL || kind != target->breakpoint_size) {
181    errno = EIO;
182    return -1;
183  }

Author: Trac Migrate

2021-02-12T23:13:53.000Z

Original author: rlong

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”3f4cdd858923fc999ac7d815149af4c62b8e9c6e/rtems” 3f4cdd8/rtems]:

rtems-debugger-target.c: Fix Dereference before null check (CID #1468682)

CID 1468682: swbreaks is assigned a value dereferenced from target before
it has been verified that target is not null.

Closes #4240.

4237 - consolesimpletask.c: Two Unchecked Return Values Spotted by Coverity

Id

4237

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2021-02-12T18:19:32.000Z

Updated

2021-02-12T23:13:50.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4237

Merges

0

Original author: rlong

CID 1437625: Unchecked return value from call to rtems_task_create(). CID 1472765: Unchecked return value from call to rtems_task_start().

Snippet from Coverity output.

234  IMFS_add_node( "/dev", &cons->Node, NULL );
235

CID 1437625 (#1 of 1): Unchecked return value (CHECKED_RETURN)
1. check_return: Calling rtems_task_create without checking return value (as is done elsewhere 22 out of 25 times).
236  rtems_task_create(
237    rtems_build_name('C', 'O', 'N', 'S'),
238    RTEMS_MAXIMUM_PRIORITY - 1,
239    RTEMS_MINIMUM_STACK_SIZE,
240    RTEMS_DEFAULT_ATTRIBUTES,
241    RTEMS_DEFAULT_MODES,
242    &cons->task
243  );
244
CID 1472765: Unchecked return value (CHECKED_RETURN) [select issue]
245  rtems_task_start(
246    cons->task,
247    _Console_simple_task_Task,
248    (rtems_task_argument) cons
249  );
250}

Author: Joel Sherrill

2021-02-12T20:16:29.000Z

Original author: rlong

  • Description changed

+ CID 1437625 (#1 of 1): Unchecked return value from call to rtems_task_create().
+
+ Snippet from Coverity output.
+
+ {{{
+ 234  IMFS_add_node( "/dev", &cons->Node, NULL );
+ 235
+
+ CID 1437625 (#1 of 1): Unchecked return value (CHECKED_RETURN)
- CID 1437625 (#1 of 1): Unchecked return value (CHECKED_RETURN)1. check_return: Calling rtems_task_create without checking return value (as is done elsewhere 22 out of 25 times).
? --------------------------------------------------------------

+ 1. check_return: Calling rtems_task_create without checking return value (as is done elsewhere 22 out of 25 times).
+ 236  rtems_task_create(
+ 237    rtems_build_name('C', 'O', 'N', 'S'),
+ 238    RTEMS_MAXIMUM_PRIORITY - 1,
+ 239    RTEMS_MINIMUM_STACK_SIZE,
+ 240    RTEMS_DEFAULT_ATTRIBUTES,
+ 241    RTEMS_DEFAULT_MODES,
+ 242    &cons->task
+ 243  );
+ 244
+ }}}
  • Summary changed from Fix CID `#1437625 <https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1437625) to consolesimpletask.c: Unchecked Return Value (CID #1437625>`_

Author: Joel Sherrill

2021-02-12T20:20:26.000Z

Original author: rlong

  • Description changed

- CID 1437625 (#1 of 1): Unchecked return value from call to rtems_task_create().
?            ----------

+ CID 1437625: Unchecked return value from call to rtems_task_create().
+ CID 1472765: Unchecked return value from call to rtems_task_start().

Snippet from Coverity output.

{{{
234  IMFS_add_node( "/dev", &cons->Node, NULL );
235

CID 1437625 (#1 of 1): Unchecked return value (CHECKED_RETURN)
1. check_return: Calling rtems_task_create without checking return value (as is done elsewhere 22 out of 25 times).
236  rtems_task_create(
237    rtems_build_name('C', 'O', 'N', 'S'),
238    RTEMS_MAXIMUM_PRIORITY - 1,
239    RTEMS_MINIMUM_STACK_SIZE,
240    RTEMS_DEFAULT_ATTRIBUTES,
241    RTEMS_DEFAULT_MODES,
242    &cons->task
243  );
244
+       CID 1472765: Unchecked return value (CHECKED_RETURN) [select issue]
+ 245  rtems_task_start(
+ 246    cons->task,
+ 247    _Console_simple_task_Task,
+ 248    (rtems_task_argument) cons
+ 249  );
+ 250}
}}}
  • Summary changed from consolesimpletask.c: Unchecked Return Value (CID `#1437625 <https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1437625)) to consolesimpletask.c: Two Unchecked Return Values (CID #1437625 and #1472765>`_

Author: Joel Sherrill

2021-02-12T20:31:47.000Z

Original author: rlong

  • Summary changed from consolesimpletask.c: Two Unchecked Return Values (CID `#1437625 <https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1437625) and #1472765>`_ to consolesimpletask.c: Two Unchecked Return Values Spotted by Coverity

Author: Trac Migrate

2021-02-12T23:13:50.000Z

Original author: rlong

  • Owner set to Ryan Long <ryan.long@oarcorp.com>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”14f5a0597a2030570fe05a7de3b5bd8254c31d75/rtems” 14f5a05/rtems]:

consolesimpletask.c: Fix Two Unchecked Return Values (CID #1437625 and #1472765)

CID 1437625: Unchecked return value from call to rtems_task_create().
CID 1472765: Unchecked return value from call to rtems_task_start().

Closes #4237.

4242 - rtems-debugger-threads.c: Three Dereference before null check errors spotted by Coverity

Id

4242

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2021-02-12T21:30:58.000Z

Updated

2021-02-12T21:32:49.000Z

Milestone

6.1

Labels

cpukit::debugger, priority::normal, resolution::duplicate, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4242

Merges

0

Original author: rlong

CID 1468681: Dereference before null check in rtems_debugger_thread_continue(). CID 1468690: Dereference before null check in rtems_debugger_thread_system_resume(). CID 1468694: Dereference before null check in rtems_debugger_thread_find_index().

430  rtems_debugger_threads* threads = rtems_debugger->threads;
431  rtems_debugger_thread*  current;
432  int                     r = 0;
deref_ptr_in_call: Dereferencing pointer threads. [show details]
433  current = rtems_debugger_thread_current(threads);
CID 1468681 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking threads suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
434  if (threads != NULL && current != NULL) {
347  rtems_debugger_threads* threads = rtems_debugger->threads;
348  rtems_debugger_thread*  current;
349  int                     r = 0;
deref_ptr_in_call: Dereferencing pointer threads. [show details]
350  current = rtems_debugger_thread_current(threads);
CID 1468690 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking threads suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
351  if (threads != NULL && current != NULL) {
150  rtems_debugger_threads* threads = rtems_debugger->threads;
deref_ptr_in_call: Dereferencing pointer threads. [show details]
151  rtems_debugger_thread*  current = rtems_debugger_thread_current(threads);
152  int                     r = -1;
CID 1468694 (#1 of 1): Dereference before null check (REVERSE_INULL)check_after_deref: Null-checking threads suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
153  if (threads != NULL) {

Author: Joel Sherrill

2021-02-12T21:32:49.000Z

Original author: rlong

  • Resolution set to ~”duplicate”

  • Status changed from new to closed

3982 - Test failures on BSPs with sbrk() support

Id

3982

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-05-12T06:57:23.000Z

Updated

2021-02-10T06:30:29.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3982

Merges

0

Original author: sebastian.huber

There are some test failures on BSPs with sbrk() support such as psim, for example psxpipe01:

#0  rtems_heap_extend_via_sbrk (heap=0x30468 <_Malloc_Heap>, alloc_size=5) at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/libcsupport/src/rtems_heap_extend_via_sbrk.c:41
#1  0x00005b48 in rtems_heap_allocate_aligned_with_boundary (size=size@entry=5, alignment=alignment@entry=0, boundary=boundary@entry=0) at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/libcsupport/src/malloc_deferred.c:116
#2  0x00005930 in malloc (size=size@entry=5) at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/libcsupport/src/malloc.c:39
#3  0x0001b720 in _malloc_r (ignored=ignored@entry=0x2fa68 <_RTEMS_tasks_Objects+736>, size=size@entry=5) at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/libcsupport/src/_malloc_r.c:26
#4  0x00015ff4 in _strdup_r (reent_ptr=0x2fa68 <_RTEMS_tasks_Objects+736>, str=str@entry=0x1ce94 "/tmp") at ../../../../../../gcc-7.5.0/newlib/libc/string/strdup_r.c:10
#5  0x00015fbc in strdup (str=str@entry=0x1ce94 "/tmp") at ../../../../../../gcc-7.5.0/newlib/libc/string/strdup.c:10
#6  0x00011470 in rtems_mkdir (path=path@entry=0x1ce94 "/tmp", mode=mode@entry=511) at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/libcsupport/src/rtems_mkdir.c:133
#7  0x0000a7c8 in pipe (filsdes=filsdes@entry=0x36ce8) at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/libfs/src/pipe/pipe.c:42
#8  0x000004a0 in Init (ignored=<optimized out>) at /home/EB/sebastian_h/src/rtems/c/src/../../testsuites/psxtests/psxpipe01/init.c:65
#9  0x0000c828 in _Thread_Handler () at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/src/threadhandler.c:139
#10 0x0000c77c in _Thread_Get (id=<optimized out>, lock_context=<optimized out>) at /home/EB/sebastian_h/src/rtems/c/src/../../cpukit/score/src/threadget.c:43

The problem is that an rtems_heap_greedy_allocate() is ineffective due to the automatic heap extension.

Author: Trac Migrate

2021-02-08T06:47:43.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”7ca3b283bac78e69f09f6e0e992abf088e7dd16c/rtems” 7ca3b28/rtems]:

libcsupport: Have greedy allocations use consume extended memory

- Call the heap extend handler until all memory has been
requested.

Closes #3982

Author: Chris Johns

2021-02-08T22:33:47.000Z

Original author: sebastian.huber

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

This ticket is being reopened and extended to cover other greedy implementation. There is also rtems_workspace_greedy_allocate() and friends.

Author: Trac Migrate

2021-02-10T06:30:29.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”03dff2019f6972f9b202b15d57ab295d706d86cd/rtems” 03dff201/rtems]:

libcsupport: Add sbrk greedy support to consume all sbrk memory

- Move the heap sbrk code into a separate routnine.

- Update heap and workspace greedy allocators to use the common
sbrk greedy support.

Closes #3982

4222 - Add a per mount flag to not create a node on O_CREAT in open

Id

4222

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-01-23T23:41:29.000Z

Updated

2021-02-08T02:12:49.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4222

Merges

0

The libio rtems_filesystem_eval_path_context_t context uses a token left after a path evaluation to indicate the path to the leaf node is valid and the path leaf does not exist. System calls such as mknod, mkdir and open uses this to return EEXIST or in the case of open to create a S_IFREG node for a file. Some file systems do not support creating an S_IFREG node and the open handler is required to do this.

[ An aside, libio should leave the EEXIST detection to the file system and its evaluation handlers. The EEXIST error is one of many that could be returned yet it is specifically singled out using a fragile interface of a path token remaining. Anyway back to the change … ]

The open call has:

if ( rtems_filesystem_eval_path_has_token( &ctx ) ) {
create_regular_file( &ctx, mode );
}

and create_regular_file makes a node:

rv = rtems_filesystem_mknod(
currentloc,
token,
tokenlen,
S_IFREG | mode,
0
);

then wipes the evaluation context of any real and valid flags and settings:

rtems_filesystem_eval_path_set_flags( ctx, 0 );
rtems_filesystem_eval_path_set_path( ctx, token, tokenlen );
rtems_filesystem_eval_path_continue( ctx );

then continues the path evaluation. The continues path evaluation is suppose to find the new node. If a file system does not support making a regular file node and the mknod call is stubbed out to lie about making the node continuing the path evaluation fails with a not found error. I cannot see a way to code around this with the current libio code.

I propose adding a bool flag called no_reg_make_node to the rtems_filesystem_mount_table_entry_t struct that defaults to false. If true open does not call create_regular_file.

Author: Chris Johns

2021-01-25T02:06:21.000Z

  • Owner set to @chrisj

  • Status changed from new to accepted

Author: Trac Migrate

2021-02-08T02:12:49.000Z

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”822cad8967e130b3769f719502cbd6db81e3efea/rtems” 822cad89/rtems]:

libcsupport: Add no_regular_file_mknod as a mount option to the mount table

- Add the bool flag no_regular_file_mknod to the mount table so a file
system can indicate creating regular files is not done by
use the mknod handler. The file system will handle creating a
file node in the open handler.

- Note, the mount option is an enum which means there is only one
exclusive option supported. As a result no encapsulation is
provided and file systems need to set no_regular_file_mknod directly.

Closes #4222

4231 - MVME 2600/2700 has no console output

Id

4231

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2021-02-06T19:33:47.000Z

Updated

2021-02-07T23:26:16.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4231

Merges

0

A single character is output then nothing further. Tests output using the printk but spconsole01 fails.

It seems there is a problem with the UART driver interrupts.

Author: Chris Johns

2021-02-06T23:07:27.000Z

The issue is the wrong BSP_PCI_ISA_BRIDGE_IRQ value was being passed to the openpic_enable_irq() call in bsps/powerpc/shared/irq/openpic_i8259_irq.c. The define is offset by the max ISA bus IRQ value and the openpic call expects IRQ values relative to its signals, ie 0.

Author: Trac Migrate

2021-02-07T23:26:16.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”450e238bc6dde7caa221fad1a8339b3cf0dbd0c2/rtems” 450e238/rtems]:

powerpc/shared: ISA bus bridge fails to enable the openpic irq

- The call to enable the openpic irq for the ISA bridge fails
because the IRQ used is offset by the ISA bus signals and
the openpic call expects an IRQ relative to its signals.

- Add the MVME 2600/2700 to the list of boards with an ISA bridge.

Closes #4231

4219 - gdb master does not compile on CentOS 7

Id

4219

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2021-01-20T18:12:41.000Z

Updated

2021-01-22T15:22:22.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::gdb, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4219

Merges

0

There is a enumerated type and method with the same name. The CentOS 7 gdb does not like this. This ticket is to track the upstream ticket https://sourceware.org/bugzilla/show_bug.cgi?id=27219

Author: Joel Sherrill

2021-01-22T15:22:13.000Z

Fixed and RSB bumped.

Author: Joel Sherrill

2021-01-22T15:22:22.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4207 - PZERO define in RTEMS is wrong

Id

4207

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2020-12-23T19:07:30.000Z

Updated

2021-01-07T22:54:34.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4207

Merges

0

Our libbsd support in RTEMS defines PZERO to be zero. FreeBSD defines PZERO to be (PRI_MIN_KERN + 20) and PRI_MIN_KERN is 80.

The __sleep() call uses bits allocated above the bits used to hold the highest priority to signal things to do. The PDROP (0x200) bit causes a lock to be dropped before sleeping and not reclaimed after.

Setting PZERO to 0 breaks FreeBSD code in libbsd because calls that end up in __sleep() can incorrectly have the PDROP bit set. A grep of FreeBSD shows how this happens:

(void) nfsmsleep(&lp->nfslock_lock, mutex,
PZERO - 1, "nfsv4gr", NULL);
error = msleep(msqkptr, &msq_mtx, (PZERO - 4) | PCATCH,
msgsnd", hz);

This examples shows how either side is used…

selwakeuppri(&tp->tun_rsel, PZERO + 1);

Author: Chris Johns

2020-12-23T19:23:03.000Z

  • Description changed

- Our newlib support defines `PZERO` to be zero. FreeBSD defines `PZERO` to be `(PRI_MIN_KERN + 20)` and `PRI_MIN_KERN` is `80`.
?     ---

+ Our libbsd support in RTEMS defines `PZERO` to be zero. FreeBSD defines `PZERO` to be `(PRI_MIN_KERN + 20)` and `PRI_MIN_KERN` is `80`.
?        +++         +++++++++


The `__sleep()` call uses bits allocated above the bits used to hold the highest priority to signal things to do. The `PDROP` (`0x200`) bit causes a lock to be dropped before sleeping and not reclaimed after.

Setting `PZERO` to `0` breaks FreeBSD code in libbsd because calls that end up in `__sleep()` can incorrectly have the `PDROP` bit set. A grep of FreeBSD shows how this happens:

{{{
(void) nfsmsleep(&lp->nfslock_lock, mutex,
PZERO - 1, "nfsv4gr", NULL);
}}}
{{{
error = msleep(msqkptr, &msq_mtx, (PZERO - 4) | PCATCH,
msgsnd", hz);

}}}
This examples shows how either side is used...
{{{
selwakeuppri(&tp->tun_rsel, PZERO + 1);
}}}
  • Summary changed from PZERO define in newlib is wrong to PZERO define in RTEMS is wrong

Author: Trac Migrate

2021-01-07T22:54:34.000Z

  • Owner set to Chris Johns <chrisj@rtems.org>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”7696533b97a2d162978b22f371e0c8fab2b65fb9/rtems” 7696533/rtems]:

cpukit: Merge FreeBSD values for the priorities

It seems we need valid values or assumptions in the FreeBSD about
these values breaks some of the code.

Closes #4207

4184 - arm/bsps: Small MMU pages are rounded to 1 MiB

Id

4184

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-11-24T08:33:45.000Z

Updated

2020-12-15T10:26:14.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4184

Merges

0

Original author: soja

The function arm_cp15_start_set_translation_table_entries rounds the end address of a section up to 1 MiB even if small 4kiB pages are used (i.e. ARM_MMU_USE_SMALL_PAGES enabled).

Will submit a patch which only rounds the end address to 4kiB boundary.

Author: Trac Migrate

2020-12-02T12:38:22.000Z

Original author: soja

To keep track of it during the Christmas break: The patch is here:

https://lists.rtems.org/pipermail/devel/2020-November/063461.html

Author: Trac Migrate

2020-12-11T05:54:46.000Z

Original author: soja

  • Owner set to Jan Sommer <jan.sommer@dlr.de>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1a7afb55a33f9f87ba508fc45f19761ad2427e16/rtems” 1a7afb5/rtems]:

bsps/arm: Fix MMU small pages support

- For small tables only round to the next 4kiB instead of 1MiB

Close #4184.

Author: Trac Migrate

2020-12-15T10:26:14.000Z

Original author: soja

In [changeset:”0deeb02527f2a31c3c11657a1962373e07ec69e3/rtems” 0deeb02/rtems]:

bsps/arm: Fix MMU configuration

Update #4184.

4193 - devctl.h does not compile from C++ (cloned)

Id

4193

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-12-01T13:48:43.000Z

Updated

2020-12-01T13:49:24.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::newlib, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4193

Merges

0

Cloned from #4174:


The closing boilerplate of the C++ extern C wrapper is out of order with another #endif and the resulting code does not compile.

The attached patch addresses this but it needs to be merged to newlib and the RSB updated before this ticket closed.

Author: Trac Migrate

2020-12-01T13:49:24.000Z

In [changeset:”c576ec2f6b461994901f19ace54001da0440359a/rtems-source-builder” c576ec2/rtems-source-builder]:

6/7: Update unstable RTEMS 6/7 tool chain

Close #4193.

4175 - Resolve warning during AArch64 build

Id

4175

State

closed

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Trac Migrate

Created

2020-11-10T15:40:39.000Z

Updated

2020-11-16T16:17:43.000Z

Milestone

6.1

Labels

arch:aarch64, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4175

Merges

0

When compiling under the ILP32 mulitilib variant, the build generates a warning related to the saved stack pointer. This resolves the warning by sizing the saved stack pointer appropriately instead of it always being 64bits long.

Author: Kinsey Moore

2020-11-10T15:46:16.000Z

Patch to correct warning during ILP32 build.

Author: Kinsey Moore

2020-11-16T16:17:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4123 - rtems-bsps needs to be switched to look at waf info for BSPs

Id

4123

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-06T18:06:02.000Z

Updated

2020-11-05T20:16:18.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4123

Merges

0

rtems-bsps depends on autoconf. It must be fixed to depend on waf BSP configuration information before we can switch from autoconf.

Author: Chris Johns

2020-10-07T00:19:24.000Z

The rtems-bsps command needs to have some python code to read the spec YAML files. This is currently in the wscript along with the generated pickle data optimisation. I would like to have a common piece of python code in the spec directory rtems-bsps and wscript can share so the generated data can be shared.

The rtems-bsps code needs to use the same pickled data waf uses. Without this rtems-bsps would suffer the same performance issues waf had early in it’s development that lead to the generation solution. Invoking rtems-bsps may result in the same regeneration message waf produces but that is OK.

A common python module for wscript and rtems-bsps follows the model used in the spec data where something is defined once and reused. I believe there is code in rtems-central that could be exported (copied into rtems.git) and used but I have not looked into this. The exporting could be handled in a similar way to the generation procedures in place for documentation and headers.

Author: Trac Migrate

2020-11-05T20:16:18.000Z

In [changeset:”4cd885c3059005a0d63b7f07ac8fa09f61f1d9cf/rtems” 4cd885c/rtems]:

rtems-bsps: Use build specification items

Close #4123.

4164 - Fix NVMe disk synchronization and media block handling

Id

4164

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-27T05:24:03.000Z

Updated

2020-10-27T05:28:05.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4164

Merges

0

Original author: sebastian.huber

Author: Trac Migrate

2020-10-27T05:28:05.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4158 - rtems_interrupt_server_delete() does not destroy the ISR lock of the server control

Id

4158

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-19T15:44:02.000Z

Updated

2020-10-19T15:45:03.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4158

Merges

0

Original author: sebastian.huber

This leads to memory corruption if RTEMS_PROFILING and RTEMS_SMP is enabled.

Author: Trac Migrate

2020-10-19T15:45:03.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”bb4e534014c589fd748ac8a9c1b2488b5bfa650c/rtems” bb4e534/rtems]:

bsps: Fix rtems_interrupt_server_delete()

The ISR lock must be destroyed to prevent memory corruption if RTEMS_PROFILING
and RTEMS_SMP is enabled.

Close #4158.

4148 - RFS bit map search buffer overflow

Id

4148

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-10-15T06:12:13.000Z

Updated

2020-10-16T23:54:50.000Z

Milestone

6.1

Labels

filesystem::rfs, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4148

Merges

0

The bit search create writes past the end of its buffer. See:

https://lists.rtems.org/pipermail/devel/2020-October/062701.html

Author: Trac Migrate

2020-10-16T23:54:50.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”f514092f957ae50f73bff227afdd8d9e08c3ec05/rtems” f514092/rtems]:

libfs/rfs: Check search bit map end on last bit

- Do not write past the last location of the search bit map
whe nit is being created.

Closes #4148

4115 - Cortex-A9 MPCore based BSPs should include the workaround for Errata 794072 and 845369

Id

4115

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-02T09:37:01.000Z

Updated

2020-10-16T04:39:17.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4115

Merges

0

Original author: sebastian.huber

Cloned from #4114:


The workaround may be already set up by the bootloader. Not having the workaround applied may lead to system crashes, so make sure the BSP does it during system startup.

Author: Trac Migrate

2020-10-02T09:37:11.000Z

Original author: sebastian.huber

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2020-10-05T06:47:22.000Z

Original author: sebastian.huber

Original author: sebastian.huber

  • Description changed

Cloned from #4114:
----
- The workaround may be already set up by the bootloader. Not having the workaround applied may lead to system crashes, so make sure the BSP sets it also during system startup.
?                                                                                                                                             ---   -----

+ The workaround may be already set up by the bootloader. Not having the workaround applied may lead to system crashes, so make sure the BSP does it during system startup.
?                                                                                                                                            +++
  • Summary changed from Cortex-A9 MPCore based BSPs should include the workaround for Errata 845369 (cloned) to Cortex-A9 MPCore based BSPs should include the workaround for Errata 794072 and 845369

Author: Trac Migrate

2020-10-16T04:39:13.000Z

Original author: sebastian.huber

In [changeset:”e7b878e42f0c358379206c025059feccd711804e/rtems” e7b878e/rtems]:

bsps/arm: Workaround for Errata 845369

Add a workaround for Cortex-A9 Errata 845369: Under Very Rare Timing
Circumstances Transition into Streaming Mode Might Create Data Corruption.

Update #4115.

Author: Trac Migrate

2020-10-16T04:39:17.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”cf1682130c096a52fff7b54b30720c6ee2732789/rtems” cf16821/rtems]:

bsps/arm: Add workaround for Errata 794072

Add a workaround for Cortex-A9 Errata 845369: A short loop including a DMB
instruction might cause a denial of service on another which executes a CP15
broadcast operation.

Close #4115.

4143 - fileio - Stack too small for login with password

Id

4143

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-12T13:17:05.000Z

Updated

2020-10-12T13:49:36.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4143

Merges

0

Original author: frank_k

When I use the ‘shell’ from the fileio sample with the command below:

env QEMU_AUDIO_DRV="none" \\
qemu-system-arm -no-reboot -net none -nographic -M realview-pbx-a9 -m 256M \\
-kernel build/arm/realview_pbx_a9_qemu/testsuites/samples/fileio.exe

The executable crashes with an “BLOWN STACK!!!” as soon as I try to login as ‘root’ with password. (The logins without password work fine.) Increasing the stack size of the affected thread a bit (to 5 times RTEMS_MINIMUM_STACK_SIZE) solves the issue.

How to reproduce:

  1. Start the fileio sample in QEMU with the above command.

  2. Type a key to stop the timer.

  3. Type “s” <return> to enter the shell.

  4. Login as “root” with the password printed to the terminal.

  5. In the line with the first shell prompt, the text “BLOWN STACK!!!” appears unexpectedly followed by further crash information.

[...]
/dev/foobar login: root
Password:

RTEMS Shell on /dev/foobar. Use 'help' to list commands.
SHLL [/] # BLOWN STACK!!!
task control block: 0x00205278
[...]

My config.ini was

[arm/realview_pbx_a9_qemu] RTEMS_DEBUG = True RTEMS_NETWORKING = True RTEMS_POSIX_API = True RTEMS_SMP = True BUILD_TESTS = True

RTEMS origin.master at 558a19d3adff6a3ecf678f94408b48beccbbc9fb

Author: Trac Migrate

2020-10-12T13:49:36.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”ec13365d770f41a3d7ecda661a8844a47b4e1fb9/rtems” ec13365/rtems]:

testsuites/samples/fileio - Increase of stack size

When I use the 'shell' from the fileio sample with the command below:

env QEMU_AUDIO_DRV="none" \\
qemu-system-arm -no-reboot -net none -nographic -M realview-pbx-a9 \\
-m 256M \\
-kernel build/arm/realview_pbx_a9_qemu/testsuites/samples/fileio.exe

The executable crashes with an "BLOWN STACK!!!" as soon as I try to login
as 'root' with password. (The logins without password work fine.)
Increasing the stack size of the affected thread a bit solves the issue.
Hence, I suggest this patch.

My config.ini was

[arm/realview_pbx_a9_qemu]
RTEMS_DEBUG = True
RTEMS_NETWORKING = True
RTEMS_POSIX_API = True
RTEMS_SMP = True
BUILD_TESTS = True

RTEMS origin.master at a479686c112144119866391ceb21c48be6a3eca9

Close #4143

4142 - Sparse disk destroys data when it grows

Id

4142

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-12T06:08:50.000Z

Updated

2020-10-12T06:23:10.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4142

Merges

0

Original author: sebastian.huber

The qsort() in sparse_disk_get_new_block() may move the appended key which invalidates the pointer.

Author: Trac Migrate

2020-10-12T06:23:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”b434dc1874b928eb879f77ac0fb2541659cd4d0b/rtems” b434dc1/rtems]:

libblock: Fix sparse disk

The qsort() in sparse_disk_get_new_block() may move the appended key
which invalidates the pointer.

Close #4142.

4134 - rtemsspec: Support user-defined ordering of directives in header files (Doxygen)

Id

4134

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-10-08T06:17:56.000Z

Updated

2020-10-11T14:21:50.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4134

Merges

0

Original author: sebastian.huber

Currently, the generated interfaces in header files are defined by their dependencies and a topological sorting (alphabetical order is applied to unrelated interfaces). In order to be in line with the Sphinx documentation it would be nice to apply also the user-defined ordering specified in groups.

Author: Trac Migrate

2020-10-11T13:21:13.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”3f3e088740abc2d00cf9986452bef81eae83260e/rtems-central” 3f3e088/rtems-central]:

interface: Improve ordering

Close #4134.

Author: Trac Migrate

2020-10-11T14:21:50.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

4127 - x86_64/amd64 fails to build

Id

4127

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-07T13:36:06.000Z

Updated

2020-10-10T12:02:52.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4127

Merges

0

This is with waf and autoconf on master.

Short versions of failing configurations:

FAILED (2)  autoconf build of x86_64 amd64 (NOSMP/NOMP/DEBUG/PROFILE)
FAILED (1)  waf build of x86_64 amd64 (NOSMP/NOMP/DEBUG/PROFILE)
FAILED (2)  autoconf build of x86_64 amd64 (NOSMP/NOMP/DEBUG/NOPROFILE)
FAILED (1)  waf build of x86_64 amd64 (NOSMP/NOMP/DEBUG/NOPROFILE)

This is the error:

In file included from ../../../testsuites/libtests/termios11/init.c:2:
../../../testsuites/libtests/termios11/../termios10/termios10impl.h: In function 'POSIX_Init':
../../../testsuites/libtests/termios11/../termios10/termios10impl.h:171:1: error: no return statement in function returning non-void [-Werror=return-type]
171 | }
| ^
cc1: some warnings being treated as errors

In file included from ../../../testsuites/libtests/termios10/init.c:1:
../../../testsuites/libtests/termios10/termios10impl.h: In function 'POSIX_Init':
../../../testsuites/libtests/termios10/termios10impl.h:171:1: error: no return statement in function returning non-void [-Werror=return-type]
171 | }
| ^

This is the waf ini file for this specific build:

[x86_64/amd64]
# Selects the compiler used to build the BSP (allowed values are "gcc" and
# "clang").  Please note that the values of some options depend on the compiler
# selection and changing the compiler may lead to unpredictable behaviour if
# these options are not adjusted as well.  Use the --rtems-compiler command line
# option to get the default values for a particular compiler via
# ./waf bsp_defaults.
COMPILER = gcc
# Flags passed to the library archiver
ARFLAGS = crD
# Warning flags passed to the C and C++ compiler
WARNING_FLAGS = -Wall
# Warning flags passed to the C compiler
CC_WARNING_FLAGS = -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs
# Warning flags passed to the C++ compiler
CXX_WARNING_FLAGS =
# Enable the Ada support
__RTEMS_ADA__ = False
# Enable the RTEMS internal debug support
RTEMS_DEBUG = True
# Enable the Driver Manager startup
RTEMS_DRVMGR_STARTUP = False
# Enable the legacy TCP/IP network support
RTEMS_NETWORKING = False
# Enable the Newlib C library support
RTEMS_NEWLIB = True
# Enable the para-virtualization support
RTEMS_PARAVIRT = False
# Enable support for POSIX signals
RTEMS_POSIX_API = True
# Enable the SMP lock profiling support
RTEMS_PROFILING = False
# Build the Ada test programs (may be also enabled by BUILD_TESTS)
BUILD_ADATESTS = False
# Build the test programs
BUILD_TESTS = True
# Build the benchmark programs (may be also enabled by BUILD_TESTS)
BUILD_BENCHMARKS = False
# Build the file system test programs (may be also enabled by
# BUILD_TESTS)
BUILD_FSTESTS = False
# Build the library test programs (may be also enabled by BUILD_TESTS)
BUILD_LIBTESTS = False
# Build the MPCI test programs (may be also enabled by BUILD_TESTS)
BUILD_MPTESTS = False
# Build the POSIX test programs (may be also enabled by BUILD_TESTS)
BUILD_PSXTESTS = False
# Build the POSIX timing test programs (may be also enabled by
# BUILD_TESTS)
BUILD_PSXTMTESTS = False
# Build the Rhealstone benchmark programs (may be also enabled by
# BUILD_TESTS)
BUILD_RHEALSTONE = False
# Build the sample programs (may be also enabled by BUILD_TESTS)
BUILD_SAMPLES = True
# Build the SMP test programs (may be also enabled by BUILD_TESTS)
BUILD_SMPTESTS = False
# Build the single-processor test programs (may be also enabled by
# BUILD_TESTS)
BUILD_SPTESTS = False
# Build the timing test programs (may be also enabled by BUILD_TESTS)
BUILD_TMTESTS = False
# Build the validation test programs (may be also enabled by
# BUILD_TESTS)
BUILD_VALIDATIONTESTS = False
# Sets the test verbosity of the RTEMS Test Framework.  Valid values
# are "Verbose", "Normal", and "Quiet".  For normal test runs you can
# use a verbosity of "Normal".  If you need a more detailed output,
# then you can set it to "Verbose".  For example, in case a regression
# ocurred.  Reducing the verbosity level can significantly reduce the
# test duration especially on targets with a slow serial output
# device.  All verbosity levels produce enough output to notice failed
# test cases.  In particular, the begin and end of test information is
# not affected by the verbosity level.
RTEMS_TEST_VERBOSITY = Normal
# Optimization flags passed to the C and C++ compiler
OPTIMIZATION_FLAGS = -O2 -g -fdata-sections -ffunction-sections
# ABI flags
ABI_FLAGS = -mno-red-zone -mcmodel=large -Werror=return-type
# If defined to a non-zero value, prints the some information in case
# of a fatal error.
BSP_VERBOSE_FATAL_EXTENSION = 1
# Flags passed to the linker (GNU ld)
LDFLAGS = -Wl,--gc-sections
# Install the legacy application Makefile framework.
INSTALL_LEGACY_MAKEFILES = True
# If defined to a non-zero value, prints the exception context when an
# unexpected exception occurs.
BSP_PRINT_EXCEPTION_CONTEXT = 1
# If defined to a non-zero value, reset the board when the application
# exits.
BSP_RESET_BOARD_AT_EXIT = 1
# If defined to a non-zero value, print a message and wait until
# pressed before resetting board when application exits.
BSP_PRESS_KEY_FOR_RESET = 0

Author: Trac Migrate

2020-10-07T13:37:24.000Z

This would be fixed by:

https://lists.rtems.org/pipermail/devel/2020-October/062577.html

Author: Trac Migrate

2020-10-10T12:02:52.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Fixed by #4122.

4128 - all griscv variants fail to build on master

Id

4128

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-07T13:52:16.000Z

Updated

2020-10-10T12:01:36.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4128

Merges

0

Looks to be independent of waf or autoconf or configuration settings since a code issue in the BSP:

./../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c: In function 'grlib_clock_initialize':
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:174:10: warning: implicit declaration of function 'grlib_irqmp_has_timestamp' [-Wimplicit-function-declaration]
174 |     if (!grlib_irqmp_has_timestamp(irqmp_ts)) {
|          ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:174:10: warning: nested extern declaration of 'grlib_irqmp_has_timestamp' [-Wnested-externs]
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:175:17: error: 'GRLIB_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT' undeclared (first use in this function); did you mean 'LEON3_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT'?
175 |       bsp_fatal(GRLIB_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT);
|                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|                 LEON3_FATAL_CLOCK_NO_IRQMP_TIMESTAMP_SUPPORT
../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:175:17: note: each undeclared identifier is reported only once for each function it appears in
gmake[6]: *** [clockdrv.o] Error 1

Author: Joel Sherrill

2020-10-07T15:36:19.000Z

Add GRLIB fatal error

Author: Joel Sherrill

2020-10-07T15:38:09.000Z

With the attached patch, it builds further but fails with this which appears to be triggered because SMP is enabled (configure command below):

riscv-rtems6-gcc  -march=rv32imafd -mabi=ilp32d -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B./../../lib/libbsp/riscv/griscv -B/home/joel/rtems-cron-6/rtems/bsps/riscv/griscv/start -specs bsp_specs -qrtems -L./../../cpukit -L/home/joel/rtems-cron-6/rtems/bsps/riscv/shared/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections -o base_sp.exe base_sp/base_sp-init.o base_sp/base_sp-apptask.o ./../../lib/libbsp/riscv/griscv/librtemsbsp.a ./../../cpukit/librtemscpu.a ./../../cpukit/librtemstest.a
/home/joel/rtems-cron-6/tools/6/lib/gcc/riscv-rtems6/10.2.1/../../../../riscv-rtems6/bin/ld: ./../../lib/libbsp/riscv/griscv/librtemsbsp.a(clockdrv.o): in function `grlib_clock_initialize':
/home/joel/rtems-cron-6/b-griscv/riscv-rtems6/c/griscv/lib/libbsp/riscv/griscv/../../../../../../../../rtems/c/src/lib/libbsp/riscv/griscv/../../../../../../bsps/riscv/griscv/clock/clockdrv.c:167: undefined reference to `grlib_irqmp_has_timestamp'
collect2: error: ld returned 1 exit status
gmake[5]: *** [base_sp.exe] Error 1

The configuration is:

../rtems/configure --target=riscv-rtems6 --enable-rtemsbsp=griscv --prefix=/home/joel/rtems-cron-6/tools/6/bsp-install --disable-networking --enable-posix --enable-smp --disable-multiprocessing --enable-rtems-debug --enable-profiling --enable-tests --enable-cxx --enable-maintainer-mode

Author: Joel Sherrill

2020-10-07T15:38:22.000Z

  • Owner set to jiri

  • Status changed from new to assigned

Author: Trac Migrate

2020-10-08T07:44:57.000Z

Replying to Joel Sherrill:

I don’t get this far, my compilation fails on:

riscv-rtems6-gcc -march=rv32imafd -mabi=ilp32d -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B./../../lib/libbsp/riscv/griscv -B/home/jiri/ibm/src/rtems/rtems/bsps/riscv/griscv/start -specs bsp_specs -qrtems -L./../../cpukit -L/home/jiri/ibm/src/rtems/rtems/bsps/riscv/shared/start -Wl,–wrap=printf -Wl,–wrap=puts -Wl,–wrap=putchar -Wl,–gc-sections -o base_sp.exe base_sp/base_sp-init.o base_sp/base_sp-apptask.o ./../../lib/libbsp/riscv/griscv/librtemsbsp.a ./../../cpukit/librtemscpu.a ./../../cpukit/librtemstest.a /home/jiri/src/rtems/6/bin/../lib/gcc/riscv-rtems6/10.2.1/../../../../riscv-rtems6/bin/ld: ./../../cpukit/librtemscpu.a(free.o): in function `free’: /home/jiri/ibm/src/rtems/rtems/c/src/../../cpukit/libcsupport/src/free.c:79: undefined reference to `RTEMS_Malloc_Heap’

I updated rsb and rtems from git head and re-built the tool-chain today …

Author: Trac Migrate

2020-10-10T12:01:36.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e1a0e0c30829a0da4174085ee5109fba337dba11/rtems” e1a0e0c3/rtems]:

grlib: Add and use irqmp_has_timestamp()

Replace leon3_irqmp_has_timestamp() with irqmp_has_timestamp() and move
it to grlib.h.

Close #4128.

4140 - waf install of RTEMS breaks Makefile system in rtems-examples

Id

4140

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-09T22:19:19.000Z

Updated

2020-10-10T11:50:54.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4140

Merges

0

This boils down to bsp_specs being referenced in Makefile.inc and it no longer being at the install point. This can be worked around by copying an empty file to the install location for bsp_specs enough to compile the programs but I assume that the -B… list of arguments needs to be replaced

Properly the BSP compile flags need to be processed into the installed target.cfg and the line with -B.. modified as needed in gcc-target-default.cfg.

i386-rtems6-gcc --pipe -B/home/joel/rtems-work/tools/6/bsp-install/i386-rtems6/pc686/lib/ -specs bsp_specs -qrtems   -Wall      -mtune=pentiumpro -march=pentium       -c   -o o-optimize/test.o test.c
i386-rtems6-gcc: fatal error: cannot read spec file 'bsp_specs': No such file or directory
compilation terminated.
make: *** [o-optimize/test.o] Error 1
[joel@localhost hello_world_c]$ cp /dev/null /home/joel/rtems-work/tools/6/bsp-install/i386-rtems6/pc686/lib/bsp_specs
[joel@localhost hello_world_c]$ RTEMS_MAKEFILE_PATH=/home/joel/rtems-work/tools/6/bsp-install/i386-rtems6/pc686/ make clean all
rm -f a.out core mon.out gmon.out
rm -f -r
rm -f -r  a.out *.o *.BAK Depends-o-optimize.tmp
rm -f -r o-optimize o-debug
test -d o-optimize || mkdir o-optimize
i386-rtems6-gcc --pipe -B/home/joel/rtems-work/tools/6/bsp-install/i386-rtems6/pc686/lib/ -specs bsp_specs -qrtems   -Wall      -mtune=pentiumpro -march=pentium       -c   -o o-optimize/test.o test.c
i386-rtems6-gcc --pipe -B/home/joel/rtems-work/tools/6/bsp-install/i386-rtems6/pc686/lib/ -specs bsp_specs -qrtems   -Wall      -mtune=pentiumpro -march=pentium      -qrtems -Wl,-Ttext,0x00100000 -mtune=pentiumpro -march=pentium -Wl,--gc-sections -L/home/joel/rtems-work/rtems/bsps/i386/shared/start -L/home/joel/rtems-work/rtems/bsps/i386/pc386/start   -mtune=pentiumpro -march=pentium   -o o-optimize/hello.exe  o-optimize/test.o
i386-rtems6-nm -g -n o-optimize/hello.exe > o-optimize/hello.num
i386-rtems6-size o-optimize/hello.exe
text    data     bss     dec     hex filename
151790    9628   33056  194474   2f7aa o-optimize/hello.exe

Author: Trac Migrate

2020-10-10T11:50:54.000Z

In [changeset:”6ca00e61dc8ba9f3c0510aa88209ef8ca31e3b6d/rtems” 6ca00e61/rtems]:

build: Fix legacy Makefile support

Close #4140.

4116 - raspberrypi fails to build on waf and autoconf

Id

4116

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-02T14:15:32.000Z

Updated

2020-10-07T05:45:58.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4116

Merges

0

This may apply to 5 as well but I didn’t check.

The following configurations for pi didn’t build:

FAILED (2)  autoconf build of arm raspberrypi (SMP/NOMP/DEBUG/PROFILE)
FAILED (1)  waf build of arm raspberrypi (SMP/NOMP/DEBUG/PROFILE)
FAILED (2)  autoconf build of arm raspberrypi (SMP/NOMP/DEBUG/NOPROFILE)
FAILED (1)  waf build of arm raspberrypi (SMP/NOMP/DEBUG/NOPROFILE)
FAILED (2)  autoconf build of arm raspberrypi (SMP/NOMP/NODEBUG/PROFILE)
FAILED (1)  waf build of arm raspberrypi (SMP/NOMP/NODEBUG/PROFILE)
FAILED (2)  autoconf build of arm raspberrypi (SMP/NOMP/NODEBUG/NOPROFILE)
FAILED (1)  waf build of arm raspberrypi (SMP/NOMP/NODEBUG/NOPROFILE)

This one of the configure commands:

../rtems/configure --target=arm-rtems6 --enable-rtemsbsp=raspberrypi --prefix=/home/joel/rtems-cron-6/tools/6/bsp-install --disable-networking --enable-posix --enable-smp --disable-multiprocessing --enable-rtems-debug --enable-profiling --enable-tests --enable-cxx --enable-maintainer-mode

And this is the failure:

gmake[4]: Entering directory `/home/joel/rtems-cron-6/b-raspberrypi/arm-rtems6/c/raspberrypi/cpukit'
depbase=`echo score/cpu/arm/cpu_asm.o | sed 's|[^/]*$|.deps/&|;s|\\.o$||'`;\\
arm-rtems6-gcc --pipe -DHAVE_CONFIG_H   -I. -I/home/joel/rtems-cron-6/b-raspberrypi/arm-rtems6/c/raspberrypi/include -I/home/joel/rtems-cron-6/rtems/cpukit/include -I/home/joel/rtems-cron-6/rtems/cpukit/score/cpu/arm/include  -DASM -mcpu=arm1176jzf-s -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -mcpu=arm1176jzf-s -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT score/cpu/arm/cpu_asm.o -MD -MP -MF $depbase.Tpo -c -o score/cpu/arm/cpu_asm.o ../../../../../rtems/c/src/../../cpukit/score/cpu/arm/cpu_asm.S &&\\
mv -f $depbase.Tpo $depbase.Po
../../../../../rtems/c/src/../../cpukit/score/cpu/arm/cpu_asm.S: Assembler messages:
../../../../../rtems/c/src/../../cpukit/score/cpu/arm/cpu_asm.S:75: Error: selected processor does not support `dmb' in ARM mode
../../../../../rtems/c/src/../../cpukit/score/cpu/arm/cpu_asm.S:93: Error: selected processor does not support `dmb' in ARM mode
gmake[4]: *** [score/cpu/arm/cpu_asm.o] Error 1

Author: Joel Sherrill

2020-10-06T22:22:02.000Z

Confirming this still fails in all autoconf and waf builds with SMP enabled.

Author: Joel Sherrill

2020-10-06T22:22:13.000Z

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2020-10-07T05:45:58.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”ca9b2e34be41b8fca66964d866626de2606a1441/rtems” ca9b2e3/rtems]:

build: Remove raspberrypi from RTEMS_SMP

Close #4116.

4121 - lm3s3749 fails to build all tests on master

Id

4121

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-04T01:24:57.000Z

Updated

2020-10-05T17:34:51.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4121

Merges

0

FAILED (2) autoconf build of arm lm3s3749 (NOSMP/NOMP/DEBUG/PROFILE) FAILED (1) waf build of arm lm3s3749 (NOSMP/NOMP/DEBUG/PROFILE) FAILED (2) autoconf build of arm lm3s3749 (NOSMP/NOMP/DEBUG/NOPROFILE) FAILED (1) waf build of arm lm3s3749 (NOSMP/NOMP/DEBUG/NOPROFILE)

../rtems/configure --target=arm-rtems6 --enable-rtemsbsp=lm3s3749 OPERATION_COUNT=10 --prefix=/home/joel/rtems-cron-6/tools/6/bsp-install --disable-networking --enable-posix --disable-smp --disable-multiprocessing --enable-rtems-debug --enable-profiling --enable-tests --enable-cxx --enable-maintainer-mode
arm-rtems6-gcc  -mthumb -mcpu=cortex-m3 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B./../../lib/libbsp/arm/lm3s69xx -B/home/joel/rtems-cron-6/rtems/bsps/arm/lm3s69xx/start -specs bsp_specs -qrtems -L./../../cpukit -L/home/joel/rtems-cron-6/rtems/bsps/arm/shared/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections -o math.exe math/math-init.o math/math-domath.o -lm ./../../lib/libbsp/arm/lm3s69xx/librtemsbsp.a ./../../cpukit/librtemscpu.a ./../../cpukit/librtemstest.a
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: math.exe section `.rodata' will not fit in region `ROM_INT'
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: region `ROM_INT' overflowed by 2872 bytes

Author: Trac Migrate

2020-10-05T17:34:51.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”83278070ba17f5d4a0c5df863c3a0d2733dff483/rtems” 83278070/rtems]:

build: Add test excludes for RTEMS_DEBUG

Close #4121.

4120 - altcycv_devkit and imx7 fail to build all tests on master

Id

4120

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-03T21:40:21.000Z

Updated

2020-10-05T10:01:00.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4120

Merges

0

This appears to not happen with waf but it needs to be resolved or we don’t have parity to achieve a switchover.

Happens to at least two BSPs. Not sure if more until all arm BSP configurations finish.

Configuration:

../rtems/configure --target=arm-rtems6 --enable-rtemsbsp=altcycv_devkit --prefix=/home/joel/rtems-cron-6/tools/6/bsp-install --disable-networking --enable-posix --enable-smp --disable-multiprocessing --enable-rtems-debug --enable-profiling --enable-tests --enable-cxx --enable-maintainer-mode

Results in:

arm-rtems6-gcc -DHAVE_CONFIG_H -I. -I../../../../../../rtems/c/src/../../testsuites/smptests   -I. -I/home/joel/rtems-cron-6/b-altcycv_devkit/arm-rtems6/c/altcycv_devkit/include -I/home/joel/rtems-cron-6/rtems/cpukit/include -I/home/joel/rtems-cron-6/rtems/cpukit/score/cpu/arm/include -I/home/joel/rtems-cron-6/b-altcycv_devkit/arm-rtems6/c/altcycv_devkit/lib/libbsp/arm/altera-cyclone-v/include -I/home/joel/rtems-cron-6/rtems/bsps/include -I/home/joel/rtems-cron-6/rtems/bsps/arm/include -I/home/joel/rtems-cron-6/rtems/bsps/arm/altera-cyclone-v/include -DT_FILE_NAME='"init.c"'  -I../../../../../../rtems/c/src/../../testsuites/smptests/../support/include   -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT smpmulticast01/smpmulticast01-init.o -MD -MP -MF smpmulticast01/.deps/smpmulticast01-init.Tpo -c -o smpmulticast01/smpmulticast01-init.o `test -f 'smpmulticast01/init.c' || echo '../../../../../../rtems/c/src/../../testsuites/smptests/'`smpmulticast01/init.c
../../../../../../rtems/c/src/../../testsuites/smptests/smpmulticast01/init.c:37:10: fatal error: rtems/testopts.h: No such file or directory
37 | #include <rtems/testopts.h>
|          ^~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[5]: *** [smpmulticast01/smpmulticast01-init.o] Error 1

Author: Joel Sherrill

2020-10-03T21:46:42.000Z

  • Description changed

This appears to not happen with waf but it needs to be resolved or we don't have parity to achieve a switchover.
+
+ Happens to at least two BSPs. Not sure if more until all arm BSP configurations finish.

Configuration:

{{{
../rtems/configure --target=arm-rtems6 --enable-rtemsbsp=altcycv_devkit --prefix=/home/joel/rtems-cron-6/tools/6/bsp-install --disable-networking --enable-posix --enable-smp --disable-multiprocessing --enable-rtems-debug --enable-profiling --enable-tests --enable-cxx --enable-maintainer-mode

}}}

Results in:

{{{
arm-rtems6-gcc -DHAVE_CONFIG_H -I. -I../../../../../../rtems/c/src/../../testsuites/smptests   -I. -I/home/joel/rtems-cron-6/b-altcycv_devkit/arm-rtems6/c/altcycv_devkit/include -I/home/joel/rtems-cron-6/rtems/cpukit/include -I/home/joel/rtems-cron-6/rtems/cpukit/score/cpu/arm/include -I/home/joel/rtems-cron-6/b-altcycv_devkit/arm-rtems6/c/altcycv_devkit/lib/libbsp/arm/altera-cyclone-v/include -I/home/joel/rtems-cron-6/rtems/bsps/include -I/home/joel/rtems-cron-6/rtems/bsps/arm/include -I/home/joel/rtems-cron-6/rtems/bsps/arm/altera-cyclone-v/include -DT_FILE_NAME='"init.c"'  -I../../../../../../rtems/c/src/../../testsuites/smptests/../support/include   -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT smpmulticast01/smpmulticast01-init.o -MD -MP -MF smpmulticast01/.deps/smpmulticast01-init.Tpo -c -o smpmulticast01/smpmulticast01-init.o `test -f 'smpmulticast01/init.c' || echo '../../../../../../rtems/c/src/../../testsuites/smptests/'`smpmulticast01/init.c
../../../../../../rtems/c/src/../../testsuites/smptests/smpmulticast01/init.c:37:10: fatal error: rtems/testopts.h: No such file or directory
37 | #include <rtems/testopts.h>
|          ^~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[5]: *** [smpmulticast01/smpmulticast01-init.o] Error 1

}}}
  • Summary changed from altcycv_devkit famils to build all tests on master to altcycv_devkit and imx7 fail to build all tests on master

Author: Trac Migrate

2020-10-05T10:01:00.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”2c367617688edd17d41fc8d837d53d27838d9ef6/rtems” 2c367617/rtems]:

build: Add testopts.h to configure script

Close #4120.

4118 - Add clang variants for sparc BSPs

Id

4118

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-10-02T15:53:11.000Z

Updated

2020-10-02T15:55:17.000Z

Milestone

6.1

Labels

arch:sparc, priority::normal, resolution::wontfix, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4118

Merges

0

There are clang variants for RISV-V BSPs but not SPARC BSPs even though clang is supported on them.

If there are other architectures with clang support, I don’t know.

Author: Trac Migrate

2020-10-02T15:55:17.000Z

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

There is no need to add clang BSPs. The new build system has an option to select the compiler.

4101 - atsamv fails to build on master

Id

4101

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-29T19:45:27.000Z

Updated

2020-10-01T20:10:15.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4101

Merges

0

This may also fail on 5.

$ ../rtems/configure –target=arm-rtems6 –enable-rtemsbsp=atsamv –prefix=/home/joel/rtems-cron-6/tools/6/bsp-install –disable-networking –enable-posix –enable-smp –disable-multiprocessing –disable-rtems-debug –disable-profiling –enable-tests –enable-cxx –enable-maintainer-mode

rm-rtems6-gcc --pipe -DHAVE_CONFIG_H   -I. -I/home/joel/rtems-cron-6/b-atsamv/arm-rtems6/c/atsamv/include -I/home/joel/rtems-cron-6/rtems/cpukit/include -I/home/joel/rtems-cron-6/rtems/cpukit/score/cpu/arm/include   -mthumb -mcpu=cortex-m7 -mfpu=fpv5-d16 -mfloat-abi=hard -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT libcsupport/src/error.o -MD -MP -MF $depbase.Tpo -c -o libcsupport/src/error.o ../../../../../rtems/c/src/../../cpukit/libcsupport/src/error.c &&\\
mv -f $depbase.Tpo $depbase.Po
In file included from /home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/threaddispatch.h:21,
from /home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/objectimpl.h:29,
from /home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/threadimpl.h:31,
from ../../../../../rtems/c/src/../../cpukit/libcsupport/src/error.c:16:
/home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/percpu.h:439:3: error: unknown type name 'CPU_Interrupt_frame'
439 |   CPU_Interrupt_frame Interrupt_frame;
|   ^~~~~~~~~~~~~~~~~~~

Author: Joel Sherrill

2020-09-29T21:53:17.000Z

I am not going through every failing ARM BSP but spot checking shows that this impacts the lpc176x family also.

Author: Joel Sherrill

2020-09-29T22:03:41.000Z

  • Description changed

+ This may also fail on 5.
+
$ ../rtems/configure --target=arm-rtems6 --enable-rtemsbsp=atsamv --prefix=/home/joel/rtems-cron-6/tools/6/bsp-install --disable-networking --enable-posix --enable-smp --disable-multiprocessing --disable-rtems-debug --disable-profiling --enable-tests --enable-cxx --enable-maintainer-mode


{{{
rm-rtems6-gcc --pipe -DHAVE_CONFIG_H   -I. -I/home/joel/rtems-cron-6/b-atsamv/arm-rtems6/c/atsamv/include -I/home/joel/rtems-cron-6/rtems/cpukit/include -I/home/joel/rtems-cron-6/rtems/cpukit/score/cpu/arm/include   -mthumb -mcpu=cortex-m7 -mfpu=fpv5-d16 -mfloat-abi=hard -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT libcsupport/src/error.o -MD -MP -MF $depbase.Tpo -c -o libcsupport/src/error.o ../../../../../rtems/c/src/../../cpukit/libcsupport/src/error.c &&\\
mv -f $depbase.Tpo $depbase.Po
In file included from /home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/threaddispatch.h:21,
from /home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/objectimpl.h:29,
from /home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/threadimpl.h:31,
from ../../../../../rtems/c/src/../../cpukit/libcsupport/src/error.c:16:
/home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/percpu.h:439:3: error: unknown type name 'CPU_Interrupt_frame'
439 |   CPU_Interrupt_frame Interrupt_frame;
|   ^~~~~~~~~~~~~~~~~~~

}}}

Author: Trac Migrate

2020-09-30T05:51:40.000Z

These BSPs don’t support SMP.

Author: Joel Sherrill

2020-09-30T12:59:08.000Z

And why is this not a more obvious configure time problem in waf?

I would report the failures against waf but since it uses the same build directory all the time, I can’t rebuild those until all the builds fail and it is just now getting to mips.

Author: Trac Migrate

2020-10-01T20:08:10.000Z

Fixed by recent commit.

Author: Trac Migrate

2020-10-01T20:10:15.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

4103 - BeagleBoard BSPs Fail to Build

Id

4103

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-29T22:03:16.000Z

Updated

2020-10-01T20:09:48.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4103

Merges

0

This may also fail on 5.

../rtems/configure –target=arm-rtems6 –enable-rtemsbsp=beagleboardorig –prefix=/home/joel/rtems-cron-6/tools/6/bsp-install –disable-networking –enable-posix –enable-smp –disable-multiprocessing –disable-rtems-debug –disable-profiling –enable-tests –enable-cxx –enable-maintainer-mode

arm-rtems6-gcc  -mcpu=cortex-a8 -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -B./../../lib/libbsp/arm/beagle -B/home/joel/rtems-cron-6/rtems/bsps/arm/beagle/start -specs bsp_specs -qrtems -L./../../cpukit -L/home/joel/rtems-cron-6/rtems/bsps/arm/shared/start -Wl,--wrap=printf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--gc-sections -o base_sp.exe base_sp/base_sp-init.o base_sp/base_sp-apptask.o ./../../lib/libbsp/arm/beagle/librtemsbsp.a ./../../cpukit/librtemscpu.a ./../../cpukit/librtemstest.a
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: ./../../cpukit/librtemscpu.a(threadrestart.o): in function `_Thread_Dispatch_request':
/home/joel/rtems-cron-6/rtems/cpukit/include/rtems/score/threaddispatch.h:245: undefined reference to `_CPU_SMP_Send_interrupt'
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: ./../../cpukit/librtemscpu.a(smp.o): in function `_SMP_Handler_initialize':
/home/joel/rtems-cron-6/b-beagleboardorig/arm-rtems6/c/beagleboardorig/cpukit/../../../../../rtems/c/src/../../cpukit/score/src/smp.c:135: undefined reference to `_CPU_SMP_Initialize'
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: ./../../cpukit/librtemscpu.a(smp.o): in function `_SMP_Start_processors':
/home/joel/rtems-cron-6/b-beagleboardorig/arm-rtems6/c/beagleboardorig/cpukit/../../../../../rtems/c/src/../../cpukit/score/src/smp.c:78: undefined reference to `_CPU_SMP_Start_processor'
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: ./../../cpukit/librtemscpu.a(smp.o): in function `_SMP_Handler_initialize':
/home/joel/rtems-cron-6/b-beagleboardorig/arm-rtems6/c/beagleboardorig/cpukit/../../../../../rtems/c/src/../../cpukit/score/src/smp.c:151: undefined reference to `_CPU_SMP_Finalize_initialization'
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: /home/joel/rtems-cron-6/b-beagleboardorig/arm-rtems6/c/beagleboardorig/cpukit/../../../../../rtems/c/src/../../cpukit/score/src/smp.c:135: undefined reference to `_CPU_SMP_Initialize'
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: ./../../cpukit/librtemscpu.a(smp.o): in function `_SMP_Send_message':
/home/joel/rtems-cron-6/b-beagleboardorig/arm-rtems6/c/beagleboardorig/cpukit/../../../../../rtems/c/src/../../cpukit/score/src/smp.c:221: undefined reference to `_CPU_SMP_Send_interrupt'
/home/joel/rtems-cron-6/tools/6/lib/gcc/arm-rtems6/10.2.1/../../../../arm-rtems6/bin/ld: ./../../cpukit/librtemscpu.a(threadstartmultitasking.o): in function `_Thread_Start_multitasking':
/home/joel/rtems-cron-6/b-beagleboardorig/arm-rtems6/c/beagleboardorig/cpukit/../../../../../rtems/c/src/../../cpukit/score/src/threadstartmultitasking.c:44: undefined reference to `_CPU_SMP_Prepare_start_multitasking'
collect2: error: ld returned 1 exit status
gmake[5]: *** [base_sp.exe] Error 1

Author: Chris Johns

2020-09-30T03:13:48.000Z

The BBB is a single core SoC and so the SMP option has no meaning.

Author: Trac Migrate

2020-10-01T20:09:48.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Fixed by recent commit.

4100 - arm/edb7312 Build Failure When SMP is Enabled

Id

4100

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-29T17:14:49.000Z

Updated

2020-10-01T20:05:57.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4100

Merges

0

This is from the edb7312 but may apply to others. Build is still underway and this is a common file.

__gmake[4]: Entering directory `/home/joel/rtems-cron-6/b-edb7312/arm-rtems6/c/edb7312/cpukit'
depbase=`echo score/src/percpu.o | sed 's|[^/]*$|.deps/&|;s|\\.o$||'`;\\
arm-rtems6-gcc --pipe -DHAVE_CONFIG_H   -I. -I/home/joel/rtems-cron-6/b-edb7312/arm-rtems6/c/edb7312/include -I/home/joel/rtems-cron-6/rtems/cpukit/include -I/home/joel/rtems-cron-6/rtems/cpukit/score/cpu/arm/include   -mcpu=arm7tdmi -O2 -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT score/src/percpu.o -MD -MP -MF $depbase.Tpo -c -o score/src/percpu.o ../../../../../rtems/c/src/../../cpukit/score/src/percpu.c &&\\
mv -f $depbase.Tpo $depbase.Po
{standard input}: Assembler messages:
{standard input}:157: Error: selected processor does not support `sev' in ARM mode
{standard input}:347: Error: selected processor does not support `wfe' in ARM mode
{standard input}:525: Error: selected processor does not support `wfe' in ARM mode
gmake[4]: *** [score/src/percpu.o] Error 1

Author: Joel Sherrill

2020-09-29T21:51:16.000Z

I am not going through every failing ARM BSP but the csb337 family also fails similarly.

Author: Trac Migrate

2020-09-30T05:51:04.000Z

This BSP doesn’t support SMP.

Author: Joel Sherrill

2020-09-30T12:59:39.000Z

Why are these not configure time failures in waf and not build time failures?

Author: Trac Migrate

2020-09-30T13:05:06.000Z

This was also not a configure time error in the old build system I guess. The information if a BSP supports SMP is not explicitly available in the build specification. This information is currently present in the RTEMS Tools: config/rtems-bsps-arm.ini. This can be changed of course.

Author: Trac Migrate

2020-10-01T20:05:57.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

Fixed by recent commit.

4084 - throwing std::runtime on PC BSP fails

Id

4084

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-21T19:46:08.000Z

Updated

2020-10-01T15:23:45.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::gcc, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4084

Merges

0

Copied from #2830 for new release milestone. The solution is to update gcc/config/i386/t-rtems. Whether for gcc 10 or gcc master is the difference on this CR versus #2830 which had to be to gcc 7 as a patch via the RSB.

Throwing a std::runtime() exception locks up.

The lock up is in the exception clean up handler where the exception object is destructed. The destructor loops distructing the std::string object. The path ends up in libstdc++-v3/include/ext/atomicity.h line 48 or exchange_and_add.

At a guess it would seem like the C++ atomics on i386 is broken or fragile.

UPDATE: This was broken when gcc i386 eliminated -mcpu in favor of -march/-mtune. The multilibs were built with -mtune and not -march.

Author: Joel Sherrill

2020-09-21T20:17:06.000Z

Patch for GCC 10 to fix multilib compiler arguments on i386

Author: Trac Migrate

2020-09-21T21:14:32.000Z

In [changeset:”1ea1c9cdc56313e33abf39fce23a2ddf308ff5b3/rtems-source-builder” 1ea1c9c/rtems-source-builder]:

patch gcc i386 multiarch

Add patch to change from mtune to march when building multilibs.
The mtune argument tunes or optimizes for a specific CPU model but
does not ensure the generated code is appropriate for the
CPU model. Prior to this patch, i386 compatible code was always
generated but tuned for later models.

This is the same fix as #2830 but applying to gcc 10.

Updates #4084.

Author: Joel Sherrill

2020-09-21T21:17:08.000Z

Post for GCC 10 and master posted https://gcc.gnu.org/pipermail/gcc-patches/2020-September/554430.html

Author: Joel Sherrill

2020-09-21T21:17:50.000Z

  • Cc added @@chrisj, @mdavidsaver

Author: Joel Sherrill

2020-10-01T15:23:45.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

I applied the GCC patch to the master and 10 release branch.

https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=63a32847b0e8d14ae1eafe047ea43441f6e3a11c

4107 - waf -j24 fails on powerpc/psim – probable dependency issue

Id

4107

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-30T19:08:05.000Z

Updated

2020-10-01T05:47:05.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4107

Merges

0

While experimenting with -j options since waf defaults to fewer jobs than I have been using with make, I tripped across this failure on powerpc/psim which I assume is a missing dependency somewhere:

1561/4127] Linking build/powerpc/psim/testsuites/fstests/fsjffs2gc01.exe
[1562/4127] Linking build/powerpc/psim/testsuites/fstests/fsclose01.exe
[1563/4127] Linking build/powerpc/psim/libdebugger.a
[1564/4127] Linking build/powerpc/psim/libz.a
[1565/4127] Compiling testsuites/fstests/fslink/test.c
/home/joel/rtems-work/tools/6/lib/gcc/powerpc-rtems6/10.2.1/../../../../powerpc-rtems6/bin/ld: cannot find -ljffs2
collect2: error: ld returned 1 exit status

../../../testsuites/fstests/fsdosfsname01/init.c: In function 'test_creating_invalid_directories':
../../../testsuites/fstests/fsdosfsname01/init.c:430:19: warning: '%s' directive output may be truncated writing up to 6424 bytes into a region of size 257 [-Wformat-truncation=]
430 |               "%s/%s",
|                   ^~
../../../testsuites/fstests/fsdosfsname01/init.c:428:5: note: 'snprintf' output between 6 and 6430 bytes into a destination of size 262
428 |     snprintf( dirname,
|     ^~~~~~~~~~~~~~~~~~
429 |               sizeof( dirname ),
|               ~~~~~~~~~~~~~~~~~~
430 |               "%s/%s",
|               ~~~~~~~~
431 |               MOUNT_DIR,
|               ~~~~~~~~~~
432 |               DIRECTORY_NAMES_INVALID[index] );
|               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../../cpukit/mghttpd/mongoose.c: In function 'handle_request':
../../../cpukit/mghttpd/mongoose.c:1919:45: warning: '.gz' directive output may be truncated writing 3 bytes into a region of size between 1 and 255 [-Wformat-truncation=]
1919 |       snprintf(gz_path, sizeof(gz_path), "%s.gz", buf);
|                                             ^~~
../../../cpukit/mghttpd/mongoose.c:1919:7: note: 'snprintf' output between 4 and 258 bytes into a destination of size 255
1919 |       snprintf(gz_path, sizeof(gz_path), "%s.gz", buf);
|       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Waf: Leaving directory `/home/joel/rtems-work/rtems/build/powerpc/psim'
Build failed
-> task in 'testsuites/fstests/fsjffs2gc01.exe' failed with exit status 1 (run with -v to display more information)

INI file was:

[powerpc/psim]
# Selects the compiler used to build the BSP (allowed values are "gcc" and
# "clang").  Please note that the values of some options depend on the compiler
# selection and changing the compiler may lead to unpredictable behaviour if
# these options are not adjusted as well.  Use the --rtems-compiler command line
# option to get the default values for a particular compiler via
# ./waf bsp_defaults.
COMPILER = gcc
# Flags passed to the library archiver
ARFLAGS = crD
# Warning flags passed to the C and C++ compiler
WARNING_FLAGS = -Wall
# Warning flags passed to the C compiler
CC_WARNING_FLAGS = -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs
# Warning flags passed to the C++ compiler
CXX_WARNING_FLAGS =
# Enable the Ada support
__RTEMS_ADA__ = False
# Enable the RTEMS internal debug support
RTEMS_DEBUG = False
# Enable the Driver Manager startup
RTEMS_DRVMGR_STARTUP = False
# Enable the message passing based multiprocessing support (MPCI); do
# not confuse this with the SMP support
RTEMS_MULTIPROCESSING = False
# Enable the legacy TCP/IP network support
RTEMS_NETWORKING = False
# Enable the Newlib C library support
RTEMS_NEWLIB = True
# Enable the para-virtualization support
RTEMS_PARAVIRT = False
# Enable support for POSIX signals
RTEMS_POSIX_API = True
# Enable the SMP lock profiling support
RTEMS_PROFILING = False
# Enable the Symmetric Multiprocessing (SMP) support
RTEMS_SMP = False
# Build the Ada test programs (may be also enabled by BUILD_TESTS)
BUILD_ADATESTS = False
# Build the test programs
BUILD_TESTS = True
# Build the benchmark programs (may be also enabled by BUILD_TESTS)
BUILD_BENCHMARKS = False
# Build the file system test programs (may be also enabled by
# BUILD_TESTS)
BUILD_FSTESTS = False
# Build the library test programs (may be also enabled by BUILD_TESTS)
BUILD_LIBTESTS = False
# Build the MPCI test programs (may be also enabled by BUILD_TESTS)
BUILD_MPTESTS = False
# Build the POSIX test programs (may be also enabled by BUILD_TESTS)
BUILD_PSXTESTS = False
# Build the POSIX timing test programs (may be also enabled by
# BUILD_TESTS)
BUILD_PSXTMTESTS = False
# Build the Rhealstone benchmark programs (may be also enabled by
# BUILD_TESTS)
BUILD_RHEALSTONE = False
# Build the sample programs (may be also enabled by BUILD_TESTS)
BUILD_SAMPLES = True
# Build the SMP test programs (may be also enabled by BUILD_TESTS)
BUILD_SMPTESTS = False
# Build the single-processor test programs (may be also enabled by
# BUILD_TESTS)
BUILD_SPTESTS = False
# Build the timing test programs (may be also enabled by BUILD_TESTS)
BUILD_TMTESTS = False
# Build the validation test programs (may be also enabled by
# BUILD_TESTS)
BUILD_VALIDATIONTESTS = False
# Optimization flags passed to the C and C++ compiler
OPTIMIZATION_FLAGS = -O2 -g -fdata-sections -ffunction-sections
# ABI flags
ABI_FLAGS = -Dppc603e -meabi -mcpu=603e -msdata=sysv
# This sets a mode where the time runs as fast as possible when a
# clock ISR occurs while the IDLE thread is executing.  This can
# significantly reduce simulation times.
CLOCK_DRIVER_USE_FAST_IDLE = True
# If defined then the BSP may reduce the available memory size
# initially. This can be useful for debugging (reduce the core size)
# or dynamic loading (std gcc text offsets/jumps are < +/-32M).  Note
# that the policy can still be defined by the application (see sbrk.c,
# BSP_sbrk_policy). By undefining CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
# this feature is removed and a little memory is saved.
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = True
# If defined, then the PowerPC specific code in RTEMS will use some of
# the special purpose registers to slightly optimize interrupt
# response time.  The use of these registers can conflict with other
# tools like debuggers.
PPC_USE_SPRG = False
# This defines the base address of the exception table.  NOTE: Vectors
# are actually at 0xFFF00000 but file starts at offset.
PPC_VECTOR_FILE_BASE = 0xfff00100
# If defined to a non-zero value, prints the some information in case
# of a fatal error.
BSP_VERBOSE_FATAL_EXTENSION = 1
# Flags passed to the linker (GNU ld)
LDFLAGS = -Wl,--gc-sections
# Install the legacy application Makefile framework.
INSTALL_LEGACY_MAKEFILES = True
# If defined to a non-zero value, prints the exception context when an
# unexpected exception occurs.
BSP_PRINT_EXCEPTION_CONTEXT = 1
# If defined to a non-zero value, reset the board when the application
# exits.
BSP_RESET_BOARD_AT_EXIT = 1
# If defined to a non-zero value, print a message and wait until
# pressed before resetting board when application exits.
BSP_PRESS_KEY_FOR_RESET = 0

Author: Joel Sherrill

2020-09-30T19:08:19.000Z

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2020-10-01T05:39:30.000Z

In [changeset:”9628dfde43b7347f2698be0af9d9db6ba283ddb5/rtems-docs” 9628dfd/rtems-docs]:

eng: Clarify stlib build attribute

Update #4107.

Author: Trac Migrate

2020-10-01T05:47:05.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”16b29af2c5424ccd44a15172fb71b107663a39e1/rtems” 16b29af2/rtems]:

build: Fix build dependencies of JFFS2 tests

Close #4107.

4097 - shell: CRTL-U sets the cursor to the wrong position (cloned)

Id

4097

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-09-28T12:13:46.000Z

Updated

2020-09-28T12:17:27.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::shell, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4097

Merges

0

Original author: frank_k

Cloned from #4096:


This patch fixes a tiny bug in the command line editing of the RTEMS shell. Typing CTRL-U in the shell should remove all characters left of the cursor. After pressing CTRL-U, the current implementation does wrongly place the cursor at the end of the line instead at its beginning.

To reproduce the bug, start the shell and type ‘abc123’ (no <RETURN>):

{{{ ~/src/rtems $ qemu-system-arm -net none -nographic -M realview-pbx-a9 -m 256M -kernel build/arm/realview_pbx_a9_qemu/testsuites/libtests/dl10.exe * BEGIN OF TEST libdl (RTL) 10 * * TEST VERSION: 6.0.0.d9bdf166644f612dd628fe4951c12c6f8e94ba5f * TEST STATE: USER_INPUT * TEST BUILD: RTEMS_DEBUG RTEMS_NETWORKING RTEMS_POSIX_API RTEMS_SMP * TEST TOOLS: 10.2.1 20200904 (RTEMS 6, RSB 31f936a7b74d60bda609a9960c6e1a705ba54974, Newlib a0d7982) RTL (libdl) commands: dl, rtl

RTEMS Shell on /dev/foobar. Use ‘help’ to list commands. SHLL [/] # abc123 }}}

Then move the cursor onto the ‘1’ by hitting three times the <ARROW-LEFT> key. Next type <CTRL>-U:

{{{ SHLL [/] # 123 }}}

Note that the cursor is at the end of the line (after ‘3’) instead of correctly at the beginning (on the ‘1’), now.

Continuing typing ‘echo ‘ incorrectly results in the output:

{{{ SHLL [/] # 123echo 123 }}}

The patch changes this behavior so that the cursor in the second last step will be on the ‘1’ and typing ‘echo ‘ will then correctly reflected as:

{{{ SHLL [/] # echo 123 }}}

Author: Trac Migrate

2020-09-28T12:17:27.000Z

Original author: frank_k

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”ffc928b9a2a5e36e1aeb2872c3bef251e3b154da/rtems” ffc928b/rtems]:

Fixing bug in line editing of the shell with CTRL-U.

This patch fixes a tiny bug in the command line editing of the RTEMS shell.
Typing CTRL-U in the shell should remove all characters left of the cursor.
After pressing CTRL-U, the current implementation does wrongly place the cursor
at the end of the line instead at its beginning.

To reproduce the bug, start the shell and type 'abc123' (no <RETURN>):



  ~/src/rtems $ qemu-system-arm -net none -nographic -M realview-pbx-a9 \\
  -m 256M -kernel build/arm/realview_pbx_a9_qemu/testsuites/libtests/dl10.exe


    *** BEGIN OF TEST libdl (RTL) 10 ***
    *** TEST VERSION: 6.0.0.d9bdf166644f612dd628fe4951c12c6f8e94ba5f
    *** TEST STATE: USER_INPUT
    *** TEST BUILD: RTEMS_DEBUG RTEMS_NETWORKING RTEMS_POSIX_API RTEMS_SMP
    *** TEST TOOLS: 10.2.1 20200904 \\
    (RTEMS 6, RSB 31f936a7b74d60bda609a9960c6e1a705ba54974, Newlib a0d7982)


      RTL (libdl) commands: dl, rtl
      RTEMS Shell on /dev/foobar. Use 'help' to list commands.
      SHLL [/] # abc123

      Then move the cursor onto the '1' by hitting three times the <ARROW-LEFT> key.
      Next type <CTRL>-U:



        SHLL [/] # 123

        Note that the cursor is at the end of the line (after '3') instead of correctly
        at the beginning (on the '1'), now.

        Continuing typing 'echo ' incorrectly results in the output:



          SHLL [/] # 123echo 123

          The patch changes this behavior so that the cursor in the second last step will
          be on the '1' and typing 'echo ' will then correctly reflected as:



            SHLL [/] # echo 123

            Close #4097.

4077 - Implement LibBSD module dependencies in the build system

Id

4077

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-09-14T05:39:34.000Z

Updated

2020-09-25T01:17:15.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4077

Merges

0

The build system has a partially implemented module dependency system. Complete the implementation. Control tests being built. If a test depends on a module and the module is disabled do not build the test.

Add dependency checking to the freebsd-to-rtems.py command. If the module definition is not consistent generate an error.

Author: Chris Johns

2020-09-25T01:17:15.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4066 - test running for too long

Id

4066

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-28T23:10:21.000Z

Updated

2020-09-25T01:16:43.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4066

Merges

0

The spcache01 test on my PC test hardware is not finishing. It is looping generating output. Add a _Test too long_ error count and end the test after 5 minutes.

Author: Trac Migrate

2020-08-30T14:51:51.000Z

Which test case runs too long and why?

Author: Chris Johns

2020-08-31T03:27:33.000Z

Replying to Sebastian Huber:

Which test case runs too long and why? The test is spcache01. I do not know the reason but I am using it to add support to handle a stuck test that loops for ever generating output.

Author: Trac Migrate

2020-08-31T06:34:43.000Z

The spcache01 test program contains several test cases. If one of them loops forever, then there is a bug in the test or the cache support.

For the test runner wouldn’t this be a timed out test?

Author: Chris Johns

2020-08-31T07:52:45.000Z

This ticket is about the tester being able to handle that case. The failure has highlighted a need for the tester to detect this, end the test and report the failure.

Author: Chris Johns

2020-09-25T01:16:43.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4067 - Libbsd build system does not separate kernel and user land include paths

Id

4067

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-09-02T07:43:45.000Z

Updated

2020-09-25T01:16:16.000Z

Milestone

6.1

Labels

network::libbsd, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4067

Merges

0

FreeBSD has duplicates kernel and user land header files. LibBSD build system currently supports only one set of header include and the kernel and user land include paths.

Author: Chris Johns

2020-09-25T01:16:16.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

4093 - bsps/pc386: Add missing license header

Id

4093

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-09-23T13:24:57.000Z

Updated

2020-09-23T13:25:51.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4093

Merges

0

bspsmp.c is missing a licence header.

Author: Trac Migrate

2020-09-23T13:25:51.000Z

  • Owner set to Jan Sommer <jan.sommer@dlr.de>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”1f77518fcab14b14868849c0f166b43136ff974b/rtems” 1f77518/rtems]:

bsps/pc386: Add missing license header

Closes #4093.

3883 - Trace linker is broken on small-data area targets

Id

3883

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-02-25T08:17:11.000Z

Updated

2020-09-20T15:32:28.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3883

Merges

0

Original author: sebastian.huber

The trace linker generates some data, e.g. __rtld_trace_names. The arrays are not declared in a header file as arrays of unspecified size. So, in rtems-trace-buffer-vars.c the compiler assumes that the size one weakly defined defaults reside in the small-data area. This leads to linker errors with the strong definitions:

Waf: Entering directory `/scratch/git-rtems-examples/build/powerpc-rtems5-qoriq_e6500_32'
[22/29] Processing rtrace: build/powerpc-rtems5-qoriq_e6500_32/filesystem/fat_ramdisk/init.c.6.o build/powerpc-rtems5-qoriq_e6500_32/filesystem/fat_ramdisk/fs-root-tar.c.6.o -> build/powerpc-rtems5-qoriq_e6500_32/filesystem/fat_ramdisk/fat_ramdisk.texe
/opt/rtems/5/bin/powerpc-rtems5-gcc: /opt/rtems/5/lib64/gcc/powerpc-rtems5/7.5.0/../../../../powerpc-rtems5/bin/ld: /opt/rtems/5/powerpc-rtems5/qoriq_e6500_32/lib/librtemscpu.a(rtems-trace-buffer-vars.o): the target (__rtld_trace_names) of a R_PPC_SDAREL16 relocation is in the wrong output section (.data)
/opt/rtems/5/bin/powerpc-rtems5-gcc: /opt/rtems/5/powerpc-rtems5/qoriq_e6500_32/lib/librtemscpu.a(rtems-trace-buffer-vars.o): in function `rtems_trace_names':
/opt/rtems/5/bin/powerpc-rtems5-gcc: /home/EB/sebastian_h/git-rtems-5/c/src/../../cpukit/libmisc/capture/rtems-trace-buffer-vars.c:51:(.text.rtems_trace_names+0x2): relocation truncated to fit: R_PPC_SDAREL16 against symbol `__rtld_trace_names' defined in .data.__rtld_trace_names section in /tmp/ccu6uaaa.o
/opt/rtems/5/bin/powerpc-rtems5-gcc: /opt/rtems/5/lib64/gcc/powerpc-rtems5/7.5.0/../../../../powerpc-rtems5/bin/ld: /opt/rtems/5/powerpc-rtems5/qoriq_e6500_32/lib/librtemscpu.a(rtems-trace-buffer-vars.o): the target (__rtld_trace_signatures) of a R_PPC_SDAREL16 relocation is in the wrong output section (.rodata)
/opt/rtems/5/bin/powerpc-rtems5-gcc: /opt/rtems/5/powerpc-rtems5/qoriq_e6500_32/lib/librtemscpu.a(rtems-trace-buffer-vars.o): in function `rtems_trace_signatures':
/opt/rtems/5/bin/powerpc-rtems5-gcc: /home/EB/sebastian_h/git-rtems-5/c/src/../../cpukit/libmisc/capture/rtems-trace-buffer-vars.c:81:(.text.rtems_trace_signatures+0x2): relocation truncated to fit: R_PPC_SDAREL16 against symbol `__rtld_trace_signatures' defined in .rodata.__rtld_trace_signatures section in /tmp/ccu6uaaa.o

Author: Trac Migrate

2020-09-20T15:16:15.000Z

Original author: sebastian.huber

  • Milestone changed from %”Indefinite” to %”6.1”

  • Owner set to sebastian.huber

  • Status changed from assigned to accepted

Author: Trac Migrate

2020-09-20T15:32:28.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”9f2a2075fca6493cf9232e11a2b9b72cc4ade5a6/rtems” 9f2a207/rtems]:

capture: Move default trace data

Provide the default trace data in a separate file to avoid issues on targets
with a small-data area.

Close #3883.

4079 - build: i386/pc686/appstart.o is created more than once

Id

4079

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-09-15T13:20:08.000Z

Updated

2020-09-15T18:08:01.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::build, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4079

Merges

0

Original author: sebastian.huber

In this build specification item

https://git.rtems.org/rtems/tree/spec/build/bsps/i386/pc386/objsmpstart.yml

is an error:

* Node /home/EB/sebastian_h/git-rtems-6/build/i386/pc686/appstart.o is created more than once. The task generators are:
1. bld(target=['appstart.o'], idx=14, tg_idx_count=14, meths=['check_err_features', 'check_err_order', 'process_rule', 'process_source'], rule='${OBJCOPY} -I binary -O elf32-i386 -B i386 ${SRC} ${TGT}', _name='appstart.o', source=[], path=/home/EB/sebastian_h/git-rtems-6, posted=True, features=[]) in /home/EB/sebastian_h/git-rtems-6
2. bld(target='/bsps/i386/pc386/objsmpstart', idx=15, tmp_use_objects=False, tg_idx_count=15, meths=['check_err_features', 'check_err_order', 'process_rule', 'process_source'], tmp_use_stlib=True, _name='/bsps/i386/pc386/objsmpstart', source=[/home/EB/sebastian_h/git-rtems-6/build/i386/pc686/appstart.o], tmp_use_var='', path=/home/EB/sebastian_h/git-rtems-6, posted=True, typ='objects', features=[]) in /home/EB/sebastian_h/git-rtems-6
If you think that this is an error, set no_errcheck_out on the task instance

All what we have to do is to add a specially produced appstart.o to librtemsbsp.a.

Author: Trac Migrate

2020-09-15T18:08:01.000Z

Original author: sebastian.huber

In [changeset:”9979042a3a40ab5e59ff06dae0fc229cd8bb0cc9/rtems” 9979042/rtems]:

build: Fix multiple defintion error for i386/pc386

Make the objcopy an bld.objects() task generator.

Close #4079.

4034 - Add rtems_interrupt_server_create() and rtems_interrupt_server_destroy() (cloned)

Id

4034

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-07-31T06:54:01.000Z

Updated

2020-09-14T07:00:08.000Z

Milestone

6.1

Labels

library, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4034

Merges

0

Original author: sebastian.huber

Cloned from #4033. In addition to the implementation add also unit tests.

Author: Trac Migrate

2020-08-01T09:56:10.000Z

Original author: sebastian.huber

  • Summary changed from Add rtems_interrupt_server_build() and rtems_interrupt_server_destroy() (cloned) to Add rtems_interrupt_server_create() and rtems_interrupt_server_destroy() (cloned)

Author: Trac Migrate

2020-08-03T06:52:57.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”c60942ea5bd6c8973e1f81dd2674f753b2862839/rtems” c60942ea/rtems]:

rtems: Add rtems_interrupt_server_create()

Add rtems_interrupt_server_destroy().

Before this patch, the only way to create interrupt servers was
rtems_interrupt_server_initialize(). This function creates the default
interrupt server and in SMP configurations additional interrupt servers
for the additional processors. The interrupt server is heavily used by
libbsd. This includes the epoch based reclamation which performs time
consuming resource and memory deallocation work. This does not work well
with time critical services, for example an UART over SPI or I2C. One
approach to address this problem is to allow the application to create
custom interrupt servers with the right priority and task properties.
The interrupt server API accounted for this, however, it was not
implemented before this patch.

Close #4034.

Author: Trac Migrate

2020-08-03T06:55:28.000Z

Original author: sebastian.huber

  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Tests are pending.

Author: Trac Migrate

2020-09-14T07:00:08.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”46477898205f1907734263a95e7dc61ad63a0f43/rtems” 46477898/rtems]:

irqs01/smpirqs01: New tests

Close #4034.

4076 - i386: bad asm in smp mode

Id

4076

State

closed

Type

ISSUE

Author

Gedare Bloom

Assignee(s)

Gedare Bloom

Created

2020-09-12T04:58:58.000Z

Updated

2020-09-12T15:13:14.000Z

Milestone

6.1

Labels

arch:i386, priority::normal, resolution::fixed, tickettype::defect, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4076

Merges

0

A note for me (or someone) to make the fix outlined on the mailing list.

cpukit/score/cpu/i386/include/rtems/asm.h:157   movb imps_apic_cpu_map(REG),REG        /* CPU ID in REG */ The assembler is right to complain. movb has to target one of the 1-byte mnemonics, so this should be %al for the LSB of %eax. One needs to check through this logic carefully, but I think the right thing to do here is: movzbl     imps_apic_cpu_map(REG),REG That should do the trick. Can you test it locally?

Sure! Builds fine and testsuite testing reveals:

Author: Gedare Bloom

2020-09-12T14:26:07.000Z

  • Description changed

  - A note for me (or someone) to make the fix outlined on the mailing list, and apply to the 5 branch.
  ?                                                                        ---------------------------

  + A note for me (or someone) to make the fix outlined on the mailing list.



      cpukit/score/cpu/i386/include/rtems/asm.h:157 \ |md_0_160|\  movb
      imps_apic_cpu_map(\\REG),\\REG \ |md_0_160|\  \ |md_0_160|\  \ |md_0_160|\  \ |md_0_160|\ /* CPU ID in REG */
      The assembler is right to complain. movb has to target one of the
      1-byte mnemonics, so this should be %al for the LSB of %eax. One needs
      to check through this logic carefully, but I think the right thing to
      do here is:
      movzbl \ |md_0_160|\  \ |md_0_160|\  imps_apic_cpu_map(\\REG),\\REG
      That should do the trick. Can you test it locally?


    Sure! Builds fine and testsuite testing reveals:

* **Milestone** changed from %"5.1" to %"6.1"
* **Version** changed from ~"5" to ~"6"

Author: Joel Sherrill

2020-09-12T14:55:37.000Z

This should be fixed on the 5 branch as well for safety.

Author: Trac Migrate

2020-09-12T15:13:14.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”9f096f47243ab19db617ec990188dbef71166e41/rtems” 9f096f4/rtems]:

i386/score: fix assembly mnemonic

Closes #4076.

4040 - coverhd.h remnants left to remove

Id

4040

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2020-08-03T19:00:38.000Z

Updated

2020-09-11T13:54:33.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::test, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4040

Merges

0

coverhd.h has been removed but there are as least two remnants to address:

  • tmoverhd is not needed and still is present.

  • (done) m68k/mcf52235/README references coverhd.h

$ grep -r coverhd ..
../rtems/bsps/m68k/mcf52235/README:*) Update the coverhd.h (calling overheads) page 21 of the BSP guide
../rtems/bsps/m68k/mcf5225x/README:*) Update the coverhd.h (calling overheads) page 21 of the BSP guide

Author: Trac Migrate

2020-09-10T16:42:28.000Z

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”e563e61c7aa22e87d5d0631011b80622be5b4557/rtems” e563e61/rtems]:

Remove remaining references to coverhd.h

Closes #4040.

Author: Joel Sherrill

2020-09-10T16:43:24.000Z

  • Description changed

coverhd.h has been removed but there are as least two remnants to address:

* tmoverhd is not needed and still is present.
- * m68k/mcf52235/README references coverhd.h
+ * (done) m68k/mcf52235/README references coverhd.h
?  +++++++




{{{
$ grep -r coverhd ..
../rtems/bsps/m68k/mcf52235/README:*) Update the coverhd.h (calling overheads) page 21 of the BSP guide
../rtems/bsps/m68k/mcf5225x/README:*) Update the coverhd.h (calling overheads) page 21 of the BSP guide
}}}
  • Resolution ~”fixed” deleted

  • Status changed from closed to reopened

Author: Trac Migrate

2020-09-11T13:54:33.000Z

  • Resolution set to ~”fixed”

  • Status changed from reopened to closed

In [changeset:”5959b1e34c6ebd47cc75f4589091a39cdf7a6a57/rtems” 5959b1e/rtems]:

Remove tmoverhd which existed to produce the obsolete coverhd.h

Closes #4040.

4063 - Change to a simpler TFTP server for rtems-test

Id

4063

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-27T04:54:24.000Z

Updated

2020-08-31T23:18:16.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4063

Merges

0

Add a simpler TFTP server that can have multiple instances on different ports running at once. Allowing more than one TFTP server to run at once is the first step to letting rtems-test run parallel hardware test jobs if the user has more one piece of hardware available for testing. Parallel hardware testing will speed up the time it takes to run the tests on target hardware.

This feature combined with the rtems-tftp-proxy lets a standard bootloader configuration be integrated into a parallel hardware test set up.

Author: Trac Migrate

2020-08-31T23:18:16.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”eb3608133b41b9cb7b4dd55cb15d77691d2300c6/rtems-tools” eb36081/rtems-tools]:

tester: Change to a simpler TFTP server

- Add a simpler TFTP to allow parallel test hardware

- Remove the imported tftpy server

Closes #4063

4055 - bsps/xilinx-zynq: Flush TX-Buffer before initializing the zynq-uart

Id

4055

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-08-20T07:11:39.000Z

Updated

2020-08-22T07:30:22.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4055

Merges

1

Original author: soja

We experienced that u-boot (at least from Xilinx repositories) does not wait until all its output has left the TX Buffer of the stdout uart, before handing over to the RTEMS application

This causes some garbage output at the begin of the RTEMS application in some cases and corrupts the test begin marker prohibiting rtems-test to recognize the test correctly.

Proposed fix is to let RTEMS wait until the TX Buffer of the uart is empty before configuring and using it.

Author: Trac Migrate

2020-08-22T07:29:38.000Z

Original author: soja

  • Owner set to Jan Sommer <jan.sommer@dlr.de>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”b87efa7599f33f56608da20567d77dbb06db98e1/rtems” b87efa7/rtems]:

bsp/xilinx-zynq: Flush TX-Buffer before initializing uart

Closes #4055
Closes #4056

Author: Trac Migrate

2020-08-22T07:30:22.000Z

Original author: soja

In [changeset:”61ccb9c05dcd695114541960aa6bfc1315f30514/rtems” 61ccb9c0/rtems]:

bsp/xilinx-zynq: Flush TX-Buffer before initializing uart

Closes #4055
Closes #4056

4061 - The reworked <rtems/confdefs.h> has a cyclic dependency with RTEMS_MULTIPROCESSING enabled (cloned)

Id

4061

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-08-21T06:47:39.000Z

Updated

2020-08-21T06:57:49.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, rtems::config, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4061

Merges

0

Original author: sebastian.huber

Cloned from #4060:


The changes for #3875 introduced a cyclic dependency between <rtems/confdefs/mpci.h> and <rtems/confdefs/threads.h>.

Author: Trac Migrate

2020-08-21T06:57:49.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”81efe37c35896362f2493d1fc81e26ca32444d81/rtems” 81efe37c/rtems]:

confdefs: Fix cyclic dependency

Close #4061.

3886 - Fail an RSB build with –mail option if a repo is not clean

Id

3886

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-02-27T22:40:21.000Z

Updated

2020-08-12T06:56:09.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::5, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3886

Merges

0

Fail a build if a user has the –mail option to post the build results and repo is not clean. Public postings of results with local changes has no public value. Users cannot replicate the results if changes are not publicaly available.

What about a repo that is clean but has changes that are not pushed?

Author: Gedare Bloom

2020-04-05T04:53:01.000Z

What about for users that want to mail their builds to a non-public destination?

Author: Gedare Bloom

2020-04-05T04:53:43.000Z

  • Milestone changed from %”5.1” to %”6.1”

  • Version changed from ~”5” to ~”6”

Author: Chris Johns

2020-08-12T06:56:09.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

Replying to Gedare Bloom:

What about for users that want to mail their builds to a non-public destination?

The user could make a local commit? If this does not matter then this ticket can be closed with wontfix.

4036 - Track dependency command for the RSB

Id

4036

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-01T00:01:59.000Z

Updated

2020-08-12T01:11:35.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::enhancement, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4036

Merges

0

Add a command to track dependencies in the RSB. Scan all the bset files and see what they include. Build a list of dependencies and also a list of those configs that are not referenced. The configs not references can be removed.

Errors in build sets can result in an invalid list so the scan needs to be clean. This is difficult when some build sets like rtems-defaults.bset are designed to be included and not used from the command line. As a result it generates an error. A list of these could be maintained or a tag added to the bset file to indicate it is not a top level build set file.

Removal of unreferenced configs can occur in the RBS because we use a branch model for releases.

Author: Joel Sherrill

2020-08-01T00:19:53.000Z

Is this going to result in a report that shows bsets and which source/patches they need?

Is it going to be something like this?

  • bset

  • another bset

  • source package

  • diff1

Or is the goal to look at a set of bsets and see what isn’t needed?

Author: Chris Johns

2020-08-01T02:51:05.000Z

It could and yes the goal was to remove the config files not referenced. Up to now I was only looking at the list but the tree could be captured. This is nice addition.

A bset that is top level is difficult to remove because we do not know if it is being used.

Author: Chris Johns

2020-08-06T02:51:46.000Z

  • Owner set to @chrisj

  • Status changed from new to assigned

Joel, is this what you wanted?

Include Tree(s):
rtems/config/5/rtems-arm.bset
rtems/config/5/rtems-default.bset
bare/config/devel/expat-2.1.0-1.cfg
source-builder/config/base.cfg
source-builder/config/expat-2-1.cfg
rtems/config/5/rtems-autotools.bset
rtems/config/5/rtems-autotools-base.bset
rtems/config/rtems-base.bset
rtems/config/rtems-urls.bset
rtems/config/rtems-version.bset
rtems/config/tools/rtems-autoconf-2.69-1.cfg
bare/config/devel/autoconf-2.69-1.cfg
source-builder/config/autoconf-2-1.cfg
source-builder/config/base.cfg
source-builder/config/base.cfg
source-builder/config/checks.cfg
source-builder/config/versions.cfg
rtems/config/tools/rtems-automake-1.12.6-1.cfg
bare/config/devel/automake-1.12.6-1.cfg
source-builder/config/automake-1-1.cfg
source-builder/config/base.cfg
source-builder/config/base.cfg
source-builder/config/checks.cfg
source-builder/config/versions.cfg
rtems/config/5/rtems-autotools-internal.bset
rtems/config/5/rtems-autotools-base.bset
rtems/config/rtems-base.bset
rtems/config/rtems-urls.bset
rtems/config/rtems-version.bset
rtems/config/tools/rtems-autoconf-2.69-1.cfg
bare/config/devel/autoconf-2.69-1.cfg
source-builder/config/autoconf-2-1.cfg
source-builder/config/base.cfg
source-builder/config/base.cfg
source-builder/config/checks.cfg
source-builder/config/versions.cfg
rtems/config/tools/rtems-automake-1.12.6-1.cfg
bare/config/devel/automake-1.12.6-1.cfg
source-builder/config/automake-1-1.cfg
source-builder/config/base.cfg
source-builder/config/base.cfg
source-builder/config/checks.cfg
source-builder/config/versions.cfg
rtems/config/rtems-base.bset
rtems/config/rtems-urls.bset
rtems/config/rtems-version.bset
rtems/config/tools/rtems-binutils-2.34.cfg
source-builder/config/base.cfg
source-builder/config/binutils-2-1.cfg
source-builder/config/checks.cfg
source-builder/config/checks.cfg
rtems/config/tools/rtems-gcc-7.5.0-newlib-7947581.cfg
source-builder/config/base.cfg
source-builder/config/checks.cfg
source-builder/config/gcc-7.2-1.cfg
source-builder/config/gcc-common-1.cfg
source-builder/config/checks.cfg
rtems/config/tools/rtems-gdb-9.1-1.cfg
source-builder/config/base.cfg
source-builder/config/checks.cfg
source-builder/config/gdb-common-1.cfg
source-builder/config/checks.cfg
rtems/config/tools/rtems-tools-5-1.cfg
rtems/config/tools/rtems-tools-common-1.cfg

Author: Trac Migrate

2020-08-10T23:03:11.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”12418190b984f3f94da08588276ef3d6440bd454/rtems-source-builder” 1241819/rtems-source-builder]:

sb/track: Add a command to track build sets.

- Process a build set for a range of hosts and output a dependency
tree, the used build set and configuration files.
- Output the configuration files that are no referenced

Closes #4036

Author: Trac Migrate

2020-08-12T01:11:35.000Z

In [changeset:”967999b99660dcb40f943da0e0da7791e764edbe/rtems-docs” 967999b/rtems-docs]:

user: Add the RSB sb-track command

Updates #4036

4046 - Remove RSB sb-bootstrap command

Id

4046

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-10T05:52:21.000Z

Updated

2020-08-12T01:11:29.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4046

Merges

0

Bootstrapping is going away with the new build system and until then the command in rtems.git should be used.

Author: Trac Migrate

2020-08-10T23:03:16.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”a863b15fdbbfc8af577d92ae6ed6d0b3c151e6cb/rtems-source-builder” a863b15/rtems-source-builder]:

sb/bootstrap: Remove the sb-bootstrap command

Closes #4046

Author: Trac Migrate

2020-08-12T01:11:29.000Z

In [changeset:”441d2e15f3566919eac29b0e1a22cb59a31051f9/rtems-docs” 441d2e1/rtems-docs]:

user, eclipse: Remove RSB sb-bootstrap command

Update #4046

4045 - Remove RSB sb-builder command

Id

4045

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-10T05:50:46.000Z

Updated

2020-08-12T01:11:27.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4045

Merges

0

This command is now always wrapped bu the set builder. There is no need to use the command line with configuration files.

Author: Trac Migrate

2020-08-10T23:03:14.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”481bbd11093b238afb6225f3f08a1ef513d0d042/rtems-source-builder” 481bbd1/rtems-source-builder]:

sb/builder: Remove sb-builder command

Closes #4045

Author: Trac Migrate

2020-08-12T01:11:27.000Z

In [changeset:”089f6197c7b666d4682282ef73dc8936668e5a4e/rtems-docs” 089f619/rtems-docs]:

user: Remove RSB sb-builder command

Updates #4045

4044 - Add RSB Track command

Id

4044

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-08-10T05:45:40.000Z

Updated

2020-08-10T06:16:48.000Z

Milestone

6.1

Labels

priority::normal, resolution::duplicate, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4044

Merges

0

Add a comment to track the RSB build set and configuration files.

Author: Chris Johns

2020-08-10T06:16:48.000Z

  • Resolution set to ~”duplicate”

  • Status changed from assigned to closed

Duplicate of #4036.

4043 - Update software eng manual to rtems-central

Id

4043

State

closed

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2020-08-05T00:25:24.000Z

Updated

2020-08-07T04:43:48.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4043

Merges

0

https://docs.rtems.org/branches/master/eng/req/howto.html

Update to rtems-central

Author: Trac Migrate

2020-08-05T04:38:33.000Z

  • Owner set to sebastian.huber

  • Status changed from new to assigned

Author: Trac Migrate

2020-08-07T04:43:48.000Z

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”e2abac7f30aea2da423e745ec6be14f236f3eb03/rtems-docs” e2abac7/rtems-docs]:

eng: Refer to the rtems-central repository

Close #4043.

4039 - arm/atsam/SC16IS752: Make interrupt server configurable (cloned)

Id

4039

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-08-03T07:45:54.000Z

Updated

2020-08-05T05:01:10.000Z

Milestone

6.1

Labels

arch:arm, priority::normal, resolution::fixed, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4039

Merges

0

Original author: sebastian.huber

Cloned from #4038.

Author: Trac Migrate

2020-08-05T05:01:10.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

In [changeset:”1b42158588a90de815666f5924744d260cec70d7/rtems” 1b421585/rtems]:

arm/atsam: Make interrupt server configurable

The external UART over SPI device SC16IS752 uses the interrupt server
for interrupt processing. The interrupt server is also heavily used by
libbsd. The interrupt processing for the SC16IS752 is time critical and
doesn't work if network traffic is processed at the same priority.
With #4033 custom interrupt servers are available. Change
atsam_sc16is752_spi_create() to support user-defined interrupt servers.
Introduced atsam_sc16is752_spi_config to cut down the argument count of
this function.

Close #4039.

4031 - i386: ISR can overwrite its own stack during system initialization (cloned)

Id

4031

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-07-22T12:38:21.000Z

Updated

2020-07-29T09:39:17.000Z

Milestone

6.1

Labels

arch:i386, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4031

Merges

0

Original author: soja

Cloned from #4030:


During testing the rtems-libbsd examples, we experienced GP exceptions from within the ISR from time to time during initalization.

When the init task is restored for the first time and the a pending interrupt is available, an ISR could overwrite its own return address if it is spawned between restoring the eflags register and restoring the esp register.

Author: Trac Migrate

2020-07-29T09:39:17.000Z

Original author: soja

  • Owner set to Jan Sommer <jan.sommer@dlr.de>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”21c7e3a41f1590b18c2c3f883e2b63e36cc409aa/rtems” 21c7e3a/rtems]:

i386: Fix possible race condition on first context restore

Make sure that the esp is restored before the eflags register.

When the init task is initially restored, system interrupts are activated when the
eflags register is loaded.
If the esp register still points to an address in the interrupt stack
area (from early system initlization) the ISR might overwrite its own
stack.

Closes #4031

4029 - i386: SMP-System hangs with non-consecutive APIC IDs

Id

4029

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-07-15T15:48:17.000Z

Updated

2020-07-16T13:01:33.000Z

Milestone

6.1

Labels

arch:i386, priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4029

Merges

0

Original author: soja

If a processor enumerates its cores non-consecutively (e.g. 0,2,4,8 for a tested Intel Atom) the target cpu for IPIs is mapped wrongly.

Author: Trac Migrate

2020-07-16T13:01:33.000Z

Original author: soja

  • Owner set to Jan Sommer <jan.sommer@dlr.de>

  • Resolution set to ~”fixed”

  • Status changed from new to closed

In [changeset:”9cb107c97002f9ad5944740e1bf645ab136099e1/rtems” 9cb107c9/rtems]:

bsps/pc386: Fix IPI for non-consecutive APICIDs

- properly use the cpu <-> apic maps for IPIs

Closes #4029.

3941 - Remove epiphany architecture support

Id

3941

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2020-04-08T10:09:05.000Z

Updated

2020-07-07T13:01:53.000Z

Milestone

6.1

Labels

arch:epiphany, priority::normal, resolution::fixed, tickettype::task, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3941

Merges

0

Original author: sebastian.huber

I tried to build the epiphany BSP with GCC 10 recently and a lot internal compiler errors appeared. If it is not possible to build the BSP with a released GCC 10.1, then I suggest to remove this architecture. The GDB was never supported by the FSF upstream. To me this looks like an unmaintained architecture.

Author: Trac Migrate

2020-04-08T10:19:55.000Z

Original author: sebastian.huber

I think the development of the Ephipany architecture and its toolchain is already seized. In this case, yes I agree it should be deleted.

Author: Trac Migrate

2020-04-08T10:21:31.000Z

Original author: sebastian.huber

Ok, good. You can still use RTEMS 5 for it. If necessary, the port can be resurrected from this release.

Author: Joel Sherrill

2020-04-08T12:07:31.000Z

Original author: sebastian.huber

You can’t build rtems5 for epiphany. Mongoose.c has long caused an ICE. GCC has just gotten worse. Removing it after the release is ok by me.

Author: Trac Migrate

2020-07-05T16:05:54.000Z

Original author: sebastian.huber

In [changeset:”401b237f9349362b40e3c08f7fd8db38fc51c5d4/rtems” 401b237/rtems]:

epiphany: Remove support for this target

Due to an unmaintained toolchain (internal errors in GCC, no FSF GDB
integration) the Epiphany architecture was obsoleted in RTEMS 5.1.

Update #3941.

Author: Trac Migrate

2020-07-05T16:06:19.000Z

Original author: sebastian.huber

In [changeset:”2df6f90d4b3a8d626ffe82c0b13a81f8bc1d4e1f/rtems-docs” 2df6f90/rtems-docs]:

Reflect removal of the epiphany target

Update #3941.

Author: Trac Migrate

2020-07-05T16:06:39.000Z

Original author: sebastian.huber

In [changeset:”dcceeade33a86c103cc7a8ee9ba6a9fc91d9f103/rtems-tools” dcceead/rtems-tools]:

Remove support for epiphany target

Update #3941.

Author: Trac Migrate

2020-07-05T16:07:55.000Z

Original author: sebastian.huber

In [changeset:”7f79fe90262aff88f1c3ef22e1d4cc586490a59b/rtems-source-builder” 7f79fe9/rtems-source-builder]:

6/7: Remove support for epiphany target

Update #3941.

Author: Trac Migrate

2020-07-05T18:46:17.000Z

Original author: sebastian.huber

In [changeset:”d76e7c19750688dddb9a68e30ec0be7a128907e8/rtems” d76e7c1/rtems]:

build: Fix RTEMS_CHECK_NETWORKING

Update #3941.

Author: Trac Migrate

2020-07-07T13:01:53.000Z

Original author: sebastian.huber

  • Resolution set to ~”fixed”

  • Status changed from assigned to closed

I updated also the release notes.

4018 - libcpusupport: Architecture defines are present outside CPU port

Id

4018

State

closed

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Trac Migrate

Created

2020-06-29T15:29:40.000Z

Updated

2020-06-30T15:39:32.000Z

Milestone

6.1

Labels

priority::normal, resolution::fixed, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4018

Merges

0

The handler code for global constructors (threadhandler.c) and destructors (newlibc_exit.c) uses compiler-provided architecture defines which should be limited to the CPU port as they are in other locations.

Author: Trac Migrate

2020-06-30T07:46:41.000Z

In [changeset:”48dd7b8c2ef7056ff4730c378ccd7e9445b5e40f/rtems” 48dd7b8c/rtems]:

score: Add CPU_USE_LIBC_INIT_FINI_ARRAY

This introduces the CPU_USE_LIBC_INIT_FINI_ARRAY define for use by CPU
ports to determine which global constructor and destructor methods are
used instead of placing architecture defines where they shouldn't be.

Close #4018

Author: Joel Sherrill

2020-06-30T13:43:29.000Z

Should this go on 5.x as well as 6?

Author: Kinsey Moore

2020-06-30T14:32:47.000Z

It could, but it doesn’t actually cause a bug. It’s just a style deficiency making new ports harder.

Author: Trac Migrate

2020-06-30T15:39:32.000Z

In [changeset:”3c78e93c959e3cc9d0fe47ce3eaccc2814367356/rtems” 3c78e93/rtems]:

score: Clarify CPU_USE_LIBC_INIT_FINI_ARRAY option

Update #4018.

3962 - Licensing Requirements for Submissions Poorly Documented

Id

3962

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Gedare Bloom

Created

2020-04-20T18:32:47.000Z

Updated

2020-05-01T16:12:46.000Z

Milestone

6.1

Labels

priority::high, resolution::fixed, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/3962

Merges

0

The discussion of licensing for code/docs in RTEMS is a bit of a mess right now. After posting this issue to the mailing list (https://lists.rtems.org/pipermail/devel/2020-April/059489.html), Sebastian pointed out where the actual recommended text for code/docs was located.

SW Engineering Guide sections 6.3.1.2 (Licenses) and 11 (Licensing Requirements) are somewhat overlapping and duplicative. In addition, Gedare’s old blog http://gedare-csphd.blogspot.com/2013/05/software-licenses-with-rtems.html is still a decent discussion of the underlying issues and goals even though we have moved to BSD-2 and Creative Commons for documentation since he wrote that in 2013.

The above references just describe the rationale and cite the licenses. For an example of what to put in the code, you have to visit https://docs.rtems.org/branches/master/eng/coding-file-hdr.html#copyright-and-license-block

I THINK a good solution would be to reference the Chapter 11 Licensing Requirements from the Coding Conventions chapter. And incorporate an updated version of Gedare’s blog text.

Author: Chris Johns

2020-04-26T23:30:12.000Z

Is this being worked on for the RTEMS 5 release?

Author: Trac Migrate

2020-04-27T12:14:01.000Z

Yes, this needs to be fixed, however, it is not release critical from my point of view. This stuff is important for new contributors and they should focus on the master. I would move the milestone to 6.1.

Author: Gedare Bloom

2020-04-30T03:36:35.000Z

  • Milestone changed from %”5.1” to %”6.1”

  • Owner set to @gedare

  • Status changed from new to accepted

Author: Trac Migrate

2020-05-01T16:12:46.000Z

  • Resolution set to ~”fixed”

  • Status changed from accepted to closed

In [changeset:”2d22d7453d56e9558a11a8f80a3f139018df2da8/rtems-docs” 2d22d74/rtems-docs]:

Rework RTEMS licensing discussions.

This now captures historical rationale along with cross-linking
code templates with license guidelines.

Closes #3962.

2269 - x86 Context Switch Synchronization and SMP

Id

2269

State

closed

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2015-02-13T21:02:35.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

priority::normal, resolution::duplicate, rtems::score, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2269

Merges

0

The x86 context switch code does not implement the “is executing” hand-off protocol used on the other ports. It should.

Author: Trac Migrate

2015-02-13T21:05:44.000Z

  • Resolution set to ~”duplicate”

  • Status changed from new to closed

https://devel.rtems.org/ticket/2183

How can we set the duplicate like on Bugzilla?

Author: Trac Migrate

2017-11-09T06:26:42.000Z

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

2215 - Duplicate code for TAR support

Id

2215

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2014-12-11T07:21:49.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

filesystem, priority::normal, resolution::duplicate, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2215

Merges

0

Original author: sebastian.huber

We have similar code in rtems_tarfs_load(), Untar_FromMemory() and Untar_FromFile(). These functions should instead use a common TAR archive iterator with specific visitor functions.

Author: Chris Johns

2016-05-15T23:09:35.000Z

Original author: sebastian.huber

  • Resolution set to ~”duplicate”

  • Status changed from new to closed

Duplicate of #2415.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: sebastian.huber

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

2114 - statvfs for MS-DOS filesystem and ‘df’ coomand for shell

Id

2114

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2013-04-08T19:17:41.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

filesystem, priority::low, priority::normal, resolution::invalid, tickettype::defect, version::4.11, version::HEAD

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2114

Merges

0

Original author: nopscmn

I need statvfs for MS-DOS filesystem in my project. Share implementation and example shell command ‘df’ - like in GNU coreutils, but very simplified.

Author: Trac Migrate

2013-04-08T19:17:41.000Z

Original author: nopscmn

statvfs for MS-DOS

Author: Trac Migrate

2013-04-10T14:22:45.000Z

Original author: nopscmn

  • Cc added @sebastian.huber

Can you please add a proper license header to all new files. Please send patches to <rtems-devel@rtems.org>. It would be good to have a test case for the new feature. Please have a look at

http://git.rtems.org/rtems/tree/testsuites/fstests/fsdosfssync01/init.c

for an example test.

Author: Gedare Bloom

2014-11-24T18:58:28.000Z

Original author: nopscmn

  • Version changed from ~”HEAD” to ~”4.11”

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Author: Trac Migrate

2014-12-18T12:26:56.000Z

Original author: nopscmn

  • Milestone changed from %”4.11” to %”5.0”

  • Priority changed from ~”normal” to ~”low”

Author: Chris Johns

2017-08-14T00:40:48.000Z

Original author: nopscmn

  • Resolution set to ~”invalid”

  • Status changed from new to closed

No activity.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: nopscmn

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

2111 - AVR needs avr-libc to compile RTEMS.

Id

2111

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2013-04-03T03:46:56.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

cpukit, priority::normal, resolution::invalid, rtems::config, tickettype::defect, version::4.11

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2111

Merges

0

Original author: cynt6007

The avr io.h header gives a warning that if not doing avr-libc, that if not heeded leads to many errors.

Need an avr-libc configuration file… should be a place-holding stub that states this is a problematic build.

Anyway, these are just some cans of worms… FYI

AVR has issues so deep it requires ~50 patches for binutils, ~60 patches for gcc, and has ~14 patches for avr-libc.

I suspect getting ONE functional AVR-RTEMS a major undertaking… I wonder if it might be worth exploring using ATMEL’s prepatched toolchain for non-Ada builds… For Ada-builds, that’s going to be another major undertaking…

Eric Weddington (at ATMEL) is recommending the use of their source for C, C++ builds… http://distribute.atmel.no/tools/opensource/Atmel-AVR-Toolchain-3.4.1/avr/

Although the Rolf Ebert (at AVR-Ada) have their own patch-set (using different tool versions) etc, which is making updating the AVR port so challenging… http://sourceforge.net/projects/avr-ada/files/avr-ada/Source%20Dist/

Their source-builder is located at: avr-ada/tools/build/build-avr-ada.sh

Author: Joel Sherrill

2013-04-12T23:16:03.000Z

Original author: cynt6007

  • Cc added @ralf.corsepius

  • Cc added @@gedare

  • Cc added @@joel

Replying to comment:14:

… gcc won’t build without a libc… (complains about ‘limits.h’) gcc-4.8.0 has an internal compiler error with avr-libc, and newlib is too big for AVR, so going back to gcc-4.7.2 with avr-libc… avr community maintains non-rtems targets, so using an avr target (as opposed to avr-rtems4.11)

This is OK. The avr GCC community needs to know this so they can decide what to do. Unfortunately as much as we would like all targets to upgrade in lockstep, it doesn’t happen. We would need a more aggressive testing program to know this as early as possible and attempt to fix an issue. And we could still end up in this situation.

Author: Gedare Bloom

2014-11-22T13:14:06.000Z

Original author: cynt6007

  • Description changed

The avr io.h header gives a warning that if not doing avr-libc, that if not heeded leads to many errors.
-
Need an avr-libc configuration file... should be a place-holding stub that states this is a problematic build.
-
Anyway, these are just some cans of worms... FYI
-
AVR has issues so deep it requires ~50 patches for binutils, ~60 patches for gcc, and has ~14 patches for avr-libc.
-
I suspect getting ONE functional AVR-RTEMS a major undertaking... I wonder if it might be worth exploring using ATMEL's prepatched toolchain for non-Ada builds... For Ada-builds, that's going to be another major undertaking...
-
Eric Weddington (at ATMEL) is recommending the use of their source for C, C++ builds...
http://distribute.atmel.no/tools/opensource/Atmel-AVR-Toolchain-3.4.1/avr/
-
Although the Rolf Ebert (at AVR-Ada) have their own patch-set (using different tool versions) etc, which is making updating the AVR port so challenging...
http://sourceforge.net/projects/avr-ada/files/avr-ada/Source%20Dist/
-
- Their source-builder is located at:
?                                    -

+ Their source-builder is located at:
avr-ada/tools/build/build-avr-ada.sh
  • Milestone set to %”5.0”

Author: Gedare Bloom

2014-11-22T13:14:56.000Z

Original author: cynt6007

  • Owner set to @joel

  • Status changed from new to assigned

Author: Joel Sherrill

2014-11-22T16:12:07.000Z

Original author: cynt6007

  • Resolution set to ~”invalid”

  • Status changed from assigned to closed

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: cynt6007

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

2071 - The object-file suffixes for default-bsp-post-link in leaf.cfg don’t work with make-exe…

Id

2071

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2012-06-21T16:26:35.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, rtems::build, tickettype::defect, version::4.11, version::HEAD

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2071

Merges

0

Original author: cynt6007

Would it be proper to change the suffix of the input in default-bsp-post-link in rtems/make/leaf.cfg ?

Namely changing:

define default-bsp-post-link * $(NM) -g -n $@ > $(basename $@).num * $(SIZE) $@ endef

define default-bsp-post-link + $(NM) -g -n $@.o > $(basename $@).num + $(SIZE) $@.o endef

I’m working on the application side of RTEMS (as opposed to the source), but here are the errors I encountered, what I did to find the problem, and the results.

I kept getting errors when I ran the BuildTests.sh…

~/rtems-addon-packages/examples/openldap$ … i386-rtems4.11-nm o-optimize/slapd-addel i386-rtems4.11-nm: ‘o-optimize/slapd-addel’: No such file … ~/rtems-addon-packages/examples/openldap$ … i386-rtems4.11-size o-optimize/slapd-addel i386-rtems4.11-size: ‘o-optimize/slapd-addel’: No such file …

After looking at the Makefile it looks like they were called by: �make-exe�.

Doing grep -r �make-exe� /opt revealed �make-exe� is defined in /opt/rtems-4.11/make/leaf.cfg, which calls bsp-post-link, (which is exactly the stage of the build process giving errors).

According to man, nm and size work on object files. So, I changed the suffixes in /opt/rtems-4.11/make/leaf.cfg and the errors went away. After making the change, the following additional objects appeared in o-optimize:

*.bin and *.ralf, with an approximate size of 570,000. The sizes vary slightly…

If changing the suffixes in /opt/rtems-4.11/make/leaf.cfg makes sense, would it make sense to change them for rtems/make/leaf.cfg ? Also, there are other target.cfg’s in the different bsp s that may have similar problems.

Thanks, Cynthia Rempel

Author: Trac Migrate

2012-06-21T16:26:35.000Z

Original author: cynt6007

Would it be proper to change the suffix of the input in default-bsp-post-link in rtems/make/leaf.cfg ?

Namely changing:

define default-bsp-post-link * $(NM) -g -n $@ > $(basename $@).num * $(SIZE) $@ endef

define default-bsp-post-link + $(NM) -g -n $@.o > $(basename $@).num + $(SIZE) $@.o endef

I’m working on the application side of RTEMS (as opposed to the source), but here are the errors I encountered, what I did to find the problem, and the results.

I kept getting errors when I ran the BuildTests.sh…

~/rtems-addon-packages/examples/openldap$ … i386-rtems4.11-nm o-optimize/slapd-addel i386-rtems4.11-nm: ‘o-optimize/slapd-addel’: No such file … ~/rtems-addon-packages/examples/openldap$ … i386-rtems4.11-size o-optimize/slapd-addel i386-rtems4.11-size: ‘o-optimize/slapd-addel’: No such file …

After looking at the Makefile it looks like they were called by: �make-exe�.

Doing grep -r �make-exe� /opt revealed �make-exe� is defined in /opt/rtems-4.11/make/leaf.cfg, which calls bsp-post-link, (which is exactly the stage of the build process giving errors).

According to man, nm and size work on object files. So, I changed the suffixes in /opt/rtems-4.11/make/leaf.cfg and the errors went away. After making the change, the following additional objects appeared in o-optimize:

*.bin and *.ralf, with an approximate size of 570,000. The sizes vary slightly…

If changing the suffixes in /opt/rtems-4.11/make/leaf.cfg makes sense, would it make sense to change them for rtems/make/leaf.cfg ? Also, there are other target.cfg’s in the different bsp s that may have similar problems.

Thanks, Cynthia Rempel

Author: Gedare Bloom

2014-11-24T18:58:28.000Z

Original author: cynt6007

  • Version changed from ~”HEAD” to ~”4.11”

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Author: Trac Migrate

2014-12-18T11:14:45.000Z

Original author: cynt6007

Original author: sebastian.huber

  • Description changed

Would it be proper to change the suffix of the input in default-bsp-post-link in rtems/make/leaf.cfg ?

Namely changing:

define default-bsp-post-link
-        $(NM) -g -n $@ > $(basename $@).num
-        $(SIZE) $@
endef

define default-bsp-post-link
+        $(NM) -g -n $@.o > $(basename $@).num
+        $(SIZE) $@.o
endef

I'm working on the application side of RTEMS (as opposed to the source), but here are the errors I encountered, what I did to find the problem, and the results.

I kept getting errors when I ran the BuildTests.sh...

~/rtems-addon-packages/examples/openldap$
...
i386-rtems4.11-nm o-optimize/slapd-addel
i386-rtems4.11-nm: 'o-optimize/slapd-addel': No such file
...
~/rtems-addon-packages/examples/openldap$
...
i386-rtems4.11-size o-optimize/slapd-addel
i386-rtems4.11-size: 'o-optimize/slapd-addel': No such file



After looking at the Makefile it looks like they were called by: \ |md_0_65533|\ make-exe\ |md_0_65533|\ .

Doing
grep -r \ |md_0_65533|\ make-exe\ |md_0_65533|\  /opt
revealed \ |md_0_65533|\ make-exe\ |md_0_65533|\  is defined in /opt/rtems-4.11/make/leaf.cfg, which calls bsp-post-link, (which is exactly the stage of the build process giving errors).

According to man, nm and size work on object files.  So, I changed the suffixes in /opt/rtems-4.11/make/leaf.cfg and the errors went away.  After making the change, the following additional objects appeared in o-optimize:

*.bin and *.ralf, with an approximate size of 570,000.  The sizes vary slightly...

If changing the suffixes in /opt/rtems-4.11/make/leaf.cfg makes sense, would it make sense to change them for rtems/make/leaf.cfg ?  Also, there are other target.cfg's in the different bsp s that may have similar problems.

Thanks,
Cynthia Rempel
  • Milestone changed from %”4.11” to %”5.0”

Author: Chris Johns

2017-08-13T23:41:42.000Z

Original author: cynt6007

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: cynt6007

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

1820 - sptests/sp36: Improper buildsystem integration

Id

1820

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2011-06-20T05:59:36.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

priority::low, priority::normal, resolution::wontfix, rtems::testing, tickettype::defect, version::4.11, version::HEAD

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1820

Merges

0

Original author: ralf.corsepius

sptests/sp36 is improperly integrated into the rtems buildsystem.

sp36 is missing from SUBDIRS in sptests/Makefile.am, but is referenced in sptests/configure.ac, as well as the code is present in sp36/

sp36/ either should be activated (== added to SUBDIRS) or be fully removed.

Author: Trac Migrate

2011-06-20T05:59:36.000Z

Original author: ralf.corsepius

sptests/sp36 is improperly integrated into the rtems buildsystem.

sp36 is missing from SUBDIRS in sptests/Makefile.am, but is referenced in sptests/configure.ac, as well as the code is present in sp36/

sp36/ either should be activated (== added to SUBDIRS) or be fully removed.

Author: Gedare Bloom

2014-11-24T18:58:28.000Z

Original author: ralf.corsepius

  • Version changed from ~”HEAD” to ~”4.11”

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Author: Trac Migrate

2014-12-18T10:15:27.000Z

Original author: ralf.corsepius

Original author: sebastian.huber

  • Description changed

sptests/sp36 is improperly integrated into the rtems buildsystem.

sp36 is missing from SUBDIRS in sptests/Makefile.am, but is referenced in sptests/configure.ac, as well as the code is present in sp36/

sp36/ either should be activated (== added to SUBDIRS) or be fully removed.
  • Milestone changed from %”4.11” to %”5.0”

  • Priority changed from ~”normal” to ~”low”

Author: Chris Johns

2017-08-14T00:32:35.000Z

Original author: ralf.corsepius

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: ralf.corsepius

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

1815 - _ISR_Nest_level should be protected with interrupts disabled in function _Watchdog_Insert

Id

1815

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2011-06-15T15:20:17.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

priority::normal, resolution::invalid, rtems::score, tickettype::defect, version::4.11, version::HEAD

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1815

Merges

0

Original author: silvah15

_ISR_Nest_level should be protected with interrupts disabled in function _Watchdog_Insert, because another interrupt can occur after _ISR_Nest_level is saved, causing inconsistency in the global variable.

Author: Trac Migrate

2011-06-16T09:35:16.000Z

Original author: silvah15

Yes, by swapping those 2 lines.

Author: Joel Sherrill

2014-11-24T14:59:19.000Z

Original author: silvah15

  • Description changed

_ISR_Nest_level should be protected with interrupts disabled in function
_Watchdog_Insert, because another interrupt can occur after _ISR_Nest_level is
saved, causing inconsistency in the global variable.

Was this fixed?

Author: Gedare Bloom

2014-11-24T18:58:28.000Z

Original author: silvah15

  • Version changed from ~”HEAD” to ~”4.11”

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Author: Trac Migrate

2014-12-18T10:11:08.000Z

Original author: silvah15

Original author: sebastian.huber

  • Description changed

_ISR_Nest_level should be protected with interrupts disabled in function
_Watchdog_Insert, because another interrupt can occur after _ISR_Nest_level is
saved, causing inconsistency in the global variable.
  • Milestone changed from %”4.11” to %”5.0”

I am not sure what the problem is. Interrupts are nested, so the code looks all right to me.

For SMP we have to re-write the watchdog stuff anyway and the _Watchdog_Sync_level and _Watchdog_Sync_count will go away.

Author: Trac Migrate

2016-01-05T10:41:38.000Z

Original author: silvah15

  • Resolution set to ~”invalid”

  • Status changed from new to closed

There is no problem in pre 4.11 versions, since interrupts are nested. Version 4.11 and later use a different watchdog handler implementation.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: silvah15

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

1728 - Patch for RTEMS-BSP m68k/mcf5225x

Id

1728

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2010-12-22T08:12:53.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

bsp, priority::low, priority::normal, resolution::invalid, tickettype::enhancement, version::4.9

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1728

Merges

0

Original author: m.presulli

This patch is based on a “clean” RTEMS 4.9.4 and offers some modifications/enhancements for the BSP.

  • Generic Exception Handler can be used instead of _uhoh

  • Flash Driver for the onboard flash including flash security

  • DMA initializations can be used to substitute the whole termios, so we saved

alot of code/memory size

  • Bugfixes in fec for the lwip-port, the fec driver works now “optimized” with the lwip-port

  • RTC driver routines which configures the RTC clock and time

  • generic software trap handler capable of return values

  • Bugfix in “old” bsp with MASKALL_BIT when use RTEMS without console

  • bugfixes and extensions in bsp header file “mcf5225x.h”

  • generic dbg_printk() which prints debug outputs directly via a dma channel

I hope someone have the time to merge it into the CVS head, it shouldn’t be a real task i think.

Author: Trac Migrate

2010-12-22T08:12:53.000Z

Original author: m.presulli

This patch is based on a “clean” RTEMS 4.9.4 and offers some modifications/enhancements for the BSP.

  • Generic Exception Handler can be used instead of _uhoh

  • Flash Driver for the onboard flash including flash security

  • DMA initializations can be used to substitute the whole termios, so we saved

alot of code/memory size

  • Bugfixes in fec for the lwip-port, the fec driver works now “optimized” with the lwip-port

  • RTC driver routines which configures the RTC clock and time

  • generic software trap handler capable of return values

  • Bugfix in “old” bsp with MASKALL_BIT when use RTEMS without console

  • bugfixes and extensions in bsp header file “mcf5225x.h”

  • generic dbg_printk() which prints debug outputs directly via a dma channel

I hope someone have the time to merge it into the CVS head, it shouldn’t be a real task i think.

Author: Trac Migrate

2014-12-18T09:26:44.000Z

Original author: m.presulli

Original author: sebastian.huber

  • Description changed

This patch is based on a "clean" RTEMS 4.9.4 and offers some modifications/enhancements for the BSP.

* Generic Exception Handler can be used instead of _uhoh

* Flash Driver for the onboard flash including flash security

* DMA initializations can be used to substitute the whole termios, so we saved
alot of code/memory size

* Bugfixes in fec for the lwip-port, the fec driver works now "optimized" with the lwip-port

* RTC driver routines which configures the RTC clock and time

* generic software trap handler capable of return values

* Bugfix in "old" bsp with MASKALL_BIT when use RTEMS without console

* bugfixes and extensions in bsp header file "mcf5225x.h"

* generic dbg_printk() which prints debug outputs directly via a dma channel

I hope someone have the time to merge it into the CVS head, it shouldn't be
a real task i think.
  • Milestone changed from %”4.11” to %”5.0”

  • Priority changed from ~”normal” to ~”low”

Patch is missing.

Author: Amar Takhar

2014-12-19T13:21:12.000Z

Original author: m.presulli

I looked in the Bugzilla DB and could not find a patch this is not a migration issue.

Author: Amar Takhar

2014-12-19T13:22:56.000Z

Original author: m.presulli

Also:

<m.presulli@XXX>: host aspmx.l.google.com[74.125.129.27] said: 550 5.2.1 The email account that you tried to reach is disabled. i1si14392786pdk.67 - gsmtp (in reply to RCPT TO command)

We should either close the ticket or find another way to contact the submitter.

Author: Amar Takhar

2014-12-19T13:44:25.000Z

Original author: m.presulli

  • Resolution set to ~”invalid”

  • Status changed from new to closed

Closing as we cannot get ahold of the original submitter and do not have a patch. If anyone has a copy please attach it to the ticket.

Author: Trac Migrate

2016-06-28T12:49:33.000Z

Original author: m.presulli

Patch part 0

Author: Trac Migrate

2016-06-28T12:49:45.000Z

Original author: m.presulli

Patch part 1

Author: Trac Migrate

2016-06-28T12:50:13.000Z

Original author: m.presulli

Add patches received by mail for reference.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: m.presulli

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

1593 - RTEMS Sequenced Initialization API

Id

1593

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2010-06-27T03:54:42.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

priority::normal, resolution::wontfix, rtems::score, tickettype::defect, tickettype::enhancement, version::4.11, version::HEAD

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1593

Merges

0

Original author: 157724595

This is a part of GSOC2010 project RTEMS Sequenced Initialization. The attachment is the implement of RTEMS Sequenced Initialization API. More details are placed on the wiki http://www.rtems.com/wiki/index.php/RTEMSSequencedInitialization.

Author: Trac Migrate

2010-06-28T16:19:41.000Z

Original author: 157724595

the implement of rtems sequenced initilization api

Author: Trac Migrate

2010-07-04T10:46:45.000Z

Original author: 157724595

Add a test case for sequenced initialization api update the api code

Author: Trac Migrate

2010-07-06T13:37:23.000Z

Original author: 157724595

modify the patch of sequence sysinit api and test case code

Author: Trac Migrate

2010-07-18T15:20:49.000Z

Original author: 157724595

The patch of updating RTEMS initialise managers API wiht sysinit api

Author: Trac Migrate

2010-07-21T14:49:00.000Z

Original author: 157724595

The patch of updating RTEMS initialise managers API wiht sysinit api(new)

Author: Trac Migrate

2010-07-21T14:52:13.000Z

Original author: 157724595

patch for SIS bsp changers

Author: Trac Migrate

2010-07-23T14:52:26.000Z

Original author: 157724595

The patch of updating RTEMS initialise managers API wiht sysinit api

Author: Trac Migrate

2010-07-23T14:57:22.000Z

Original author: 157724595

patch for SIS bsp changers

Author: Trac Migrate

2010-07-27T14:10:56.000Z

Original author: 157724595

the implement of rtems sysinit api

Author: Trac Migrate

2010-07-27T14:12:09.000Z

Original author: 157724595

The test case for sysinit API

Author: Trac Migrate

2010-07-27T14:13:37.000Z

Original author: 157724595

Update RTEMS initialization managers with sysinit API

Author: Trac Migrate

2010-07-27T14:17:05.000Z

Original author: 157724595

The test case for sysinit API

Author: Trac Migrate

2010-08-09T15:39:10.000Z

Original author: 157724595

patch for SIS bsp changers

Author: Trac Migrate

2010-08-09T15:40:09.000Z

Original author: 157724595

the implement of rtems sysinit api

Author: Trac Migrate

2010-08-09T15:40:42.000Z

Original author: 157724595

Update RTEMS initialization managers with sysinit API

Author: Trac Migrate

2010-08-09T15:41:21.000Z

Original author: 157724595

The test case for sysinit API

Author: Trac Migrate

2010-08-11T13:43:31.000Z

Original author: 157724595

It is possible to include files within the SECTIONS scope in linker command files. We can use this to reduce the amount of copy & paste inside the linker command files. Example:

.rodata : { (.rodata .rodata. .gnu.linkonce.r.*) INCLUDE linkcmds_score_rodata }

We can use this also for the “Special FreeBSD sysctl sections”.

Author: Joel Sherrill

2014-11-23T16:48:07.000Z

Original author: 157724595

  • Description changed

This is a part of GSOC2010 project RTEMS Sequenced Initialization. The attachment is the implement of RTEMS Sequenced Initialization API. More details
are placed on the wiki http://www.rtems.com/wiki/index.php/RTEMSSequencedInitialization.

Author: Gedare Bloom

2014-11-24T18:58:28.000Z

Original author: 157724595

  • Version changed from ~”HEAD” to ~”4.11”

Replace Version=HEAD with Version=4.11 for the tickets with Milestone >= 4.11

Author: Trac Migrate

2014-11-27T13:06:45.000Z

Original author: 157724595

  • Milestone changed from %”4.11” to %”5.0”

Author: Trac Migrate

2014-12-15T14:52:41.000Z

Original author: 157724595

Original author: sebastian.huber

  • Description changed

This is a part of GSOC2010 project RTEMS Sequenced Initialization. The attachment is the implement of RTEMS Sequenced Initialization API. More details
are placed on the wiki http://www.rtems.com/wiki/index.php/RTEMSSequencedInitialization.
  • Milestone changed from %”4.11” to %”5.0”

Author: Trac Migrate

2015-09-02T12:52:44.000Z

Original author: 157724595

  • Resolution set to ~”wontfix”

  • Status changed from new to closed

Obsoleted by #2408.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: 157724595

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

1318 - libcpu/shared is not helpful

Id

1318

State

closed

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Joel Sherrill

Created

2008-09-22T13:36:04.000Z

Updated

2017-11-09T06:26:42.000Z

Milestone

6.1

Labels

bsp, priority::normal, resolution::wontfix, tickettype::defect, version::4.10

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/1318

Merges

0

Original author: ralf.corsepius

IMO, libcpu/shared is not helpful

Either something is * cpu-specific, then it should go into cpukit/score/cpu, * general, then in should go into cpukit/ * bsp-dependent, then it should go into libbsp.

I would strongly suggest to reconsider libcpu/shared.

Author: Joel Sherrill

2010-08-06T21:32:22.000Z

Original author: ralf.corsepius

  • Milestone changed from %”4.10” to %”4.11”

Moving to 4.11. Needs to be addressed but too much for a branch.

Author: Chris Johns

2014-11-20T03:31:07.000Z

Original author: ralf.corsepius

  • Milestone changed from %”4.11” to %”4.12”

  • Milestone changed from %”4.12” to %”4.11”

Author: Chris Johns

2014-11-20T07:22:20.000Z

Original author: ralf.corsepius

  • Description changed

IMO, libcpu/shared is not helpful

Either something is
* cpu-specific, then it should go into cpukit/score/cpu,
* general, then in should go into cpukit/
* bsp-dependent, then it should go into libbsp.

I would strongly suggest to reconsider libcpu/shared.
  • Milestone changed from %”4.11” to %”5.0”

This needs to be part of the source tree rearrangement.

Author: Trac Migrate

2016-01-05T12:09:59.000Z

Original author: ralf.corsepius

Original author: sebastian.huber

  • Description changed

IMO, libcpu/shared is not helpful

Either something is
* cpu-specific, then it should go into cpukit/score/cpu,
* general, then in should go into cpukit/
* bsp-dependent, then it should go into libbsp.

I would strongly suggest to reconsider libcpu/shared.
  • Resolution set to ~”wontfix”

  • Status changed from new to closed

This directory contains only support code for the cache manager. I don’t know a better place for these files. They cannot go into cpukit, since the cache manager is potentially BSP-dependent.

Author: Trac Migrate

2017-11-09T06:26:42.000Z

Original author: ralf.corsepius

  • Milestone changed from %”5.0” to %”6.1”

Milestone renamed

5081 - Remove zlib docs (opened)

Id

5081

State

opened

Type

ISSUE

Author

Amar Takhar

Assignee(s)

Amar Takhar

Created

2024-07-31T02:28:11.118Z

Updated

2024-07-31T17:52:26.493Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5081

Merges

0

Summary

In 1996 or 28 years ago zlib 1.2.4 was imported with documentation located here:

I would also include the FAQ as well which is largely useless for RTEMS:

We are not importing the entire archive the last time it was updated just the files we have in our repo were updated. I don’t see a reason to keep these here since we are not doing a full import.

Author: Amar Takhar

2024-07-31T02:28:11.196Z

assigned to @amar

Author: Amar Takhar

2024-07-31T02:34:55.160Z

changed the description

Author: Joel Sherrill

2024-07-31T17:52:26.510Z

Is there any indication of what version/date/hash of zlib we have currently?

Author: Amar Takhar

2024-07-31T17:52:26.460Z

According to history it was updated to 1.2.13 last year:

The change also updates the URLs to the RFCs as well at the IETF so that makes even less of a reason to keep the files around.

5079 - Rename testsuites/**.doc to README.md (opened)

Id

5079

State

opened

Type

ISSUE

Author

Amar Takhar

Assignee(s)

Amar Takhar

Created

2024-07-29T19:22:23.213Z

Updated

2024-07-29T19:46:57.632Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5079

Merges

0

Summary

We have a lot of *.doc files that describe what the tests are. GitLab and every other source browser now display README.md as the default display file. Is there any reason to keep these unique named doc files around? At the very least naming them as README would follow current conventions.

Here is an example of what it would look like:

Some of the doc files are empty what should we do with those? All they contain is a license but no contents.

Is the license header necessary when the tests contain them?

Author: Amar Takhar

2024-07-29T19:22:23.304Z

assigned to @amar

Author: Joel Sherrill

2024-07-29T19:46:57.645Z

If these are the *.doc files in the leaf directories, converting them to markdown is fine. They are basically test descriptions. They come from the earliest days of RTEMS before MS-Word took over the .doc extension. You can tell how old they are at times because they will include references to directives in the original RTEID naming scheme – say sm_create instead of rtems_semaphore_create.

Moving them to markdown makes it possible to generate a test description document from these. Converting them will make that easier.

If there is a .doc file which is not in a leaf directory or is not a test description, just ask what to do about it.

Author: Amar Takhar

2024-07-29T19:46:57.606Z

Yes I noticed how old some of these are.. It was also very common in UNIX to have the .doc extension so I’m used to it.

I have added an example repo here that has some example changes:

What do we do about the licenses? Do we really need those in the README files when the source itself contains them? Plenty of these doc files only contain the license.

Author: Amar Takhar

2024-07-29T19:45:30.730Z

changed the description

5078 - Review README files for licenses. (opened)

Id

5078

State

opened

Type

ISSUE

Author

Amar Takhar

Assignee(s)

Joel Sherrill

Created

2024-07-28T22:52:03.785Z

Updated

2024-07-28T22:52:03.785Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5078

Merges

0

Summary

A lot of our README files contain old licenses and refer to the GPL licenses where re-licensing has been allowed. We need to fix this before %6.1 and delete old references.

Assigning to @joel because this is his thing.

Author: Amar Takhar

2024-07-28T22:52:03.914Z

assigned to @joel

5072 - JFFS2 rtime decompression bug (opened)

Id

5072

State

opened

Type

ISSUE

Author

Kinsey Moore

Assignee(s)

Kinsey Moore

Created

2024-07-22T18:35:06.731Z

Updated

2024-07-23T14:38:12.852Z

Milestone

6.1

Labels

filesystem::jffs2

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5072

Merges

0

Summary

The rtime decompressor appears to have a bug when handling corrupted/bad compressed data. The repeat while loop doesn’t verify it has space to write out data when handling repeats.

This was observed to cause memory corruption when using multiple JFFS2 partitions set to use the same compression buffer (which is itself a bug/incorrect configuration).

Steps to reproduce

Configure a system with multiple JFFS2 filesystems configured to use the same rtime compression buffer and access them from multiple threads. RAM and flash corruption occur quickly.

Author: Kinsey Moore

2024-07-22T18:35:06.856Z

assigned to @opticron

Author: Kinsey Moore

2024-07-23T14:38:12.764Z

mentioned in merge request !123

5067 - Remove essentially dead code from _Terminate() (opened)

Id

5067

State

opened

Type

ISSUE

Author

Sebastian Huber

Assignee(s)

Sebastian Huber

Created

2024-07-15T14:00:31.234Z

Updated

2024-07-23T02:31:25.399Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5067

Merges

0

Summary

The system termination procedure is implemented like this:

void _Terminate(
Internal_errors_Source the_source,
Internal_errors_t      the_error
)
{
_User_extensions_Fatal( the_source, the_error );
_System_state_Set( SYSTEM_STATE_TERMINATED );
_SMP_Request_shutdown();
_CPU_Fatal_halt( the_source, the_error );
}

However, the _User_extensions_Fatal() should not return for properly configured applications. The _Terminate() implementation should be simplified to ease testing and code coverage.

void _Terminate(
Internal_errors_Source the_source,
Internal_errors_t      the_error
)
{
_User_extensions_Fatal( the_source, the_error );

/*
* Everything after invoking the fatal extensions is essentially dead code.
* At least one fatal extension of the initial extension sets should not
* return and for example reset the system.  See section "System Termination
* Procedure" in the RTEMS Classic API Guide.
*
* The following code is only executed in badly applications.
*/
_CPU_Thread_Idle_body( 0 );
}

Author: Sebastian Huber

2024-07-15T14:00:31.438Z

assigned to @sebhub

Author: Sebastian Huber

2024-07-15T14:46:29.743Z

mentioned in issue #5010

Author: Sebastian Huber

2024-07-15T14:47:18.578Z

mentioned in issue #5011

Author: Sebastian Huber

2024-07-17T17:07:52.549Z

mentioned in merge request !121

Author: Amar Takhar

2024-07-23T02:31:25.373Z

mentioned in merge request rtems/docs/rtems-docs!30

5066 - URLs in rtemsspec generated files (opened)

Id

5066

State

opened

Type

ISSUE

Author

Gedare Bloom

Created

2024-07-11T22:55:36.726Z

Updated

2024-07-12T06:16:19.076Z

Milestone

6.1

Labels

qualification

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5066

Merges

0

The following discussion from !110 should be addressed:

  • [] @chris started a discussion

    Will the membench host support be added to rtems-tools? I was confused by the naming of this commit and I have not reviewed each file. Is the memory benchmark just size checking or does it do dynamic performance memory benchmarking? The files contain a link to https://www.rtems.org/bugs.html. @amar and @joel is this a must to keep active?

Author: Sebastian Huber

2024-07-12T05:38:45.573Z

This page is mentioned since 2003 with commit dfd3132e1d92c8c4e2de813c5467e34781c5a3cf. What is wrong with having a page which explains a bit how you should report bugs for RTEMS?

Author: Amar Takhar

2024-07-12T06:02:34.526Z

@sebhub your latest comment:

To answer this:

  • We can’t guarantee URLs within the site due to platform movements and security.

  • The easiest way is always going to be to go to the website or toplevel domain for example https://www.rtems.org/

And the most important one to cover this:

  • Anyone looking at this header is more than a normal user. A single, one line URL to a page that takes them to another page is not going to tell them any more than they need to know.

For example why can’t this header be something more simple, to the point and requires absolutely no changes going forward:

/*
* This file is part of the RTEMS quality process and was automatically
* generated.
*
* For information on updating and regenerating please refer to the How-To
* section in the Software Requirements Engineering chapter of the
* RTEMS Software Engineering manual.  You can find RTEMS at:
*
*   https://www.rtems.org/
*/

Author: Sebastian Huber

2024-07-12T06:06:28.090Z

I am not against changing the header, but this is a different topic.

The point is that this URL is already in the world in existing header files and other files. We agreed to have this URL as a permanent entry point to the bug reporting.

Author: Amar Takhar

2024-07-12T06:16:19.056Z

Had I known about this URL back then I would have been against it for the very reason this is happening now. We can’t generate URLs and maintain them forever. We’re lucky that we even noticed it now because it would have been a 404 without anyone ever knowing. We should take advantage of this now and fix it.

4925 - Deal with GR740 errata: Level-2 Cache Issues H1 2023 (GRLIB-TN-0021) (opened)

Id

4925

State

opened

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Sebastian Huber

Created

2023-07-12T04:21:04.000Z

Updated

2024-07-02T07:35:23.595Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4925

Merges

0

Original author: sebastian.huber

Evaluate, document, implement workarounds and validate the workarounds for the GR740 errata: Level-2 Cache Issues H1 2023 (GRLIB-TN-0021):

https://gaisler.com/doc/antn/GRLIB-TN-0021.pdf

Author: Amar Takhar

2024-04-25T20:50:48.331Z

changed the description

Author: Amar Takhar

2024-05-17T00:41:07.759Z

assigned to @sebhub

Author: Amar Takhar

2024-05-17T00:41:12.802Z

unassigned @tracmigrate

Author: Amar Takhar

2024-05-17T00:41:28.511Z

Hi Sebastian can this be moved to the %6.2 milestone?

Author: Sebastian Huber

2024-07-02T07:35:23.403Z

mentioned in commit 49310c75121e1be1cadd7c95cf16fc8eaffba92a

4982 - Add support for TMS570LC4357 for the arm/tms570 BSP (opened)

Id

4982

State

opened

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Sebastian Huber

Created

2024-01-15T09:31:59.000Z

Updated

2024-06-25T08:47:00.747Z

Milestone

6.1

Labels

arch:arm, priority::normal, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4982

Merges

0

Original author: sebastian.huber

Add support for TMS570LC4357 chip variant using the TMS570LS43x Hercules Development Kit from TI.

Author: Trac Migrate

2024-01-15T09:36:50.000Z

Original author: sebastian.huber

In [changeset:”7427caa1ae0fdbe1c71c947df401d998223c767f/rtems” 7427caa/rtems]:

bsps/arm: Use shared empty bsp_start_hook_0()

Update #4982.

Author: Trac Migrate

2024-01-15T09:36:52.000Z

Original author: sebastian.huber

In [changeset:”222c98903f3319b189169e621cb1f5c1f684530e/rtems” 222c989/rtems]:

bsp/tms570: Remove empty <bsp/tms570-rti.h>

Update #4982.

Author: Trac Migrate

2024-01-15T09:36:54.000Z

Original author: sebastian.huber

In [changeset:”72ec63e7d863f5f8e4aeb1e81d4700df1233ced5/rtems” 72ec63e7/rtems]:

bsp/tms570: Remove empty <bsp/tms570-sci.h>

Update #4982.

Author: Trac Migrate

2024-01-15T09:36:56.000Z

Original author: sebastian.huber

In [changeset:”58521f15f3aadbaec73a764604815567b0844cb0/rtems” 58521f1/rtems]:

bsp/tms570: Remove empty <bsp/tms570-vim.h>

Update #4982.

Author: Trac Migrate

2024-01-15T09:36:58.000Z

Original author: sebastian.huber

In [changeset:”8e8b9bc0b727c9d35b3ac1ef27f90b2f81aefb4c/rtems” 8e8b9bc0/rtems]:

bsp/tms570: Relicense to BSD-2-Clause

Change license to BSD-2-Clause according to file history and contributor
agreements.  Add Doxygen file comments.

Update #3053.
Update #3707.
Update #4982.

Author: Trac Migrate

2024-01-15T09:37:00.000Z

Original author: sebastian.huber

In [changeset:”600bd56543281db1bf96489eb6527779e4972153/rtems” 600bd565/rtems]:

bsp/tms570: Use new pin define

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:02.000Z

Original author: sebastian.huber

In [changeset:”2110125f7c4cb281f370d6a18eeb9c509f872546/rtems” 2110125/rtems]:

bsp/tms570: Add bsp_restart()

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:05.000Z

Original author: sebastian.huber

In [changeset:”8240caecc8ce785ae5b7411c8f193e1f518ae1e0/rtems” 8240cae/rtems]:

bsp/tms570: Rename tms570_initialize_and_clear()

Rename tms570_initialize_and_clear() in
tms570_pom_initialize_and_clear().

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:07.000Z

Original author: sebastian.huber

In [changeset:”849210fff615e78d0f88d6b1359ebf464c5bbd53/rtems” 849210f/rtems]:

bsp/tms570: Fix bsp_reset()

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:09.000Z

Original author: sebastian.huber

In [changeset:”27e0abbdb5a9c91ffd0276a5ea84ed41d359d490/rtems” 27e0abb/rtems]:

bsp/tms570: Avoid errno for debug console

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:11.000Z

Original author: sebastian.huber

In [changeset:”a6482ebfaa6f25307c098aaa1ad9d5e393cbdbc0/rtems” a6482eb/rtems]:

bsp/tms570: Implement set/get interrupt priority

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:13.000Z

Original author: sebastian.huber

In [changeset:”8753604ed550da3c4ff7f3824e163ff5dd2aa892/rtems” 8753604e/rtems]:

bsp/tms570: Implement interrupt is enabled/pending

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:15.000Z

Original author: sebastian.huber

In [changeset:”cf01329e244fa9d96a42d0385d577225718e54aa/rtems” cf01329e/rtems]:

bsp/tms570: Avoid spurious interrupts

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:17.000Z

Original author: sebastian.huber

In [changeset:”df067e5b69e61c36f623f7896c5246b49a1c1107/rtems” df067e5/rtems]:

bsp/tms570: Add TM27 support

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:20.000Z

Original author: sebastian.huber

In [changeset:”1dae4f9560949d712d47c528c14edc941c0736a8/rtems” 1dae4f95/rtems]:

bsp/tms570: Remove obsolete build option

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:21.000Z

Original author: sebastian.huber

In [changeset:”285d1a4056c760aeb527689e023cf8df185d9d5d/rtems” 285d1a4/rtems]:

bsp/tms570: Avoid vector overlay memory region

Reserve the space in a section.  This makes it possible to use a common
memory region definition.

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:23.000Z

Original author: sebastian.huber

In [changeset:”1b7a8af57522e7d06ab991d4744e54765a608f9e/rtems” 1b7a8af5/rtems]:

bsp/tms570: Add variant enable to build

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:26.000Z

Original author: sebastian.huber

In [changeset:”437da01f80cb2368beeed2aef69a5e8339caf2c5/rtems” 437da01/rtems]:

bsp/tms570: Add linkcmds.memory

Remove obsolete tms570ls3137_hdk_with_loader BSP variant.  With the new
memory origin/size build options this variant is no longer required.

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:28.000Z

Original author: sebastian.huber

In [changeset:”eb97cd148c3fa993fcac5640da4fe316aa5f5a97/rtems” eb97cd1/rtems]:

bsp/tms570: Add TMS570LC4357 BSP variants

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:30.000Z

Original author: sebastian.huber

In [changeset:”36192165e2b7d9ec4192c339af8611a81e3aed4e/rtems” 36192165/rtems]:

bsp/tms570: Fix PBIST clock enable

Bit 1 of the PACT is reserved (writes have no effect).

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:32.000Z

Original author: sebastian.huber

In [changeset:”048d81a0764a68d2af48433f170cd26c829711a8/rtems” 048d81a0/rtems]:

bsp/tms570: Add TMS570LC4357 PBIST support

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:34.000Z

Original author: sebastian.huber

In [changeset:”8569f0181bd123fd489358bb332dab2dbf5fbc2e/rtems” 8569f01/rtems]:

bsp/tms570: Enable hardware init for some variants

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:36.000Z

Original author: sebastian.huber

In [changeset:”b995211907aee43d0b23c3764cd342aae2afd10f/rtems” b995211/rtems]:

bsp/tms570: Add tms570_pbist_run_and_check()

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:38.000Z

Original author: sebastian.huber

In [changeset:”39fd4b142ef9dced7522dcd18c9995133684ae1b/rtems” 39fd4b1/rtems]:

bsp/tms570: Remove double pin configuration

Do not set pins to the default function before the actual setting is
applied.  If a pin setting needs to be done in a certain order, then
this should be done explicitly through multiple calls to
tms570_bsp_pinmmr_config().

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:41.000Z

Original author: sebastian.huber

In [changeset:”4f6fa9746da0e1a4b9643325fa55e0056d1de304/rtems” 4f6fa974/rtems]:

bsp/tms570: Add TMS570LC4357 pin config support

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:43.000Z

Original author: sebastian.huber

In [changeset:”c14efe493b68554ab2e4fb074cae24eb9264b196/rtems” c14efe49/rtems]:

bsp/tms570: Add TMS570LC4357 power support

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:45.000Z

Original author: sebastian.huber

In [changeset:”eeaa318dc6235c32cda2908046ac5f1c29f794f1/rtems” eeaa318/rtems]:

bsp/tms570: Simplify expression

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:47.000Z

Original author: sebastian.huber

In [changeset:”4d9c9c52aed44558c7a828ab5c95b3112a8ea202/rtems” 4d9c9c52/rtems]:

bsp/tms570: Conditionalize TMS570LS3137 errata

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:49.000Z

Original author: sebastian.huber

In [changeset:”75dd82407980a227a39aef70b383090778361f70/rtems” 75dd824/rtems]:

bsp/tms570: Add errata SSWF021#45 handling

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:51.000Z

Original author: sebastian.huber

In [changeset:”2bbacdb557c74a513ecc6f3b2f581ac6b6344c4e/rtems” 2bbacdb/rtems]:

bsp/tms570: TMS570LC4x Errata DEVICE#60

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:53.000Z

Original author: sebastian.huber

In [changeset:”ec79400503ab196ea1a668badfb569fcc7917fdc/rtems” ec79400/rtems]:

bsp/tms570: Add HCLKCNTL register

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:55.000Z

Original author: sebastian.huber

In [changeset:”b99013e58014aba6db48c9adaadddab5bcdd5efd/rtems” b99013e/rtems]:

bsp/tms570: Remove reset source handling

Do not clear SYSESR and let the application handle the reset source.

Update #4982.

Author: Trac Migrate

2024-01-15T09:37:58.000Z

Original author: sebastian.huber

In [changeset:”f7530be75c64bbe7818fdffe0ccc536ca425954c/rtems” f7530be/rtems]:

bsp/tms570: Honor DBGRST for TMS570LC4357

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:00.000Z

Original author: sebastian.huber

In [changeset:”23ba8d2c2c56d0e5375e3ebb61fd66d7f05843b2/rtems” 23ba8d2c/rtems]:

bsp/tms570: Use asm code for tms570_memory_init()

Make sure that we do not use the stack for this function.

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:02.000Z

Original author: sebastian.huber

In [changeset:”2db0844b873665ea474501ef8c72c8254e39e94f/rtems” 2db0844/rtems]:

bsp/tms570: Initialize SRAM on demand

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:04.000Z

Original author: sebastian.huber

In [changeset:”3f75b58d462beace76bd0a68bac1c5f5b077d650/rtems” 3f75b58/rtems]:

bsp/tms570: The TMS570LC4357 has no TCRAM modules

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:06.000Z

Original author: sebastian.huber

In [changeset:”e9634471d9478090bccec2c01342bfcc063adde0/rtems” e963447/rtems]:

bsp/tms570: Add header guards

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:08.000Z

Original author: sebastian.huber

In [changeset:”d4c6def68bb8f62b6f80e2329ec1f00e7bf6afdf/rtems” d4c6def/rtems]:

bsp/tms570: Use shared bsp_start_hook_1()

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:10.000Z

Original author: sebastian.huber

In [changeset:”663bedd59ed44f76b1346e7585a3bccfb590889a/rtems” 663bedd/rtems]:

bsp/tms570: Use bsp_start_copy_sections_compact()

There is no need to relocate the text and read-only data.

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:12.000Z

Original author: sebastian.huber

In [changeset:”5a2f64cf3451a98bc77ce3620ce9829c36917d9e/rtems” 5a2f64cf/rtems]:

bsp/tms570: Initialize and enable caches on demand

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:14.000Z

Original author: sebastian.huber

In [changeset:”65831d71ed25b1c1e2daa92a317c82c4aeabbf96/rtems” 65831d7/rtems]:

bsp/tms570: Optimize tms570_debug_console_out()

Reduce number of interrupt disable/enable actions.

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:16.000Z

Original author: sebastian.huber

In [changeset:”53cbe74878813a9e92e6e6f3ca9c08fafd2a9bf3/rtems” 53cbe748/rtems]:

bsp/tms570: Initialize MPU

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:18.000Z

Original author: sebastian.huber

In [changeset:”b300b967eefe0b628dacb6b9f651dbe77359c09f/rtems” b300b967/rtems]:

bsp/tms570: Board-specific tms570_pll_init()

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:20.000Z

Original author: sebastian.huber

In [changeset:”42e013a5dda75ba03f17f0b70dedca46a3cd8021/rtems” 42e013a/rtems]:

bsp/tms570: Board-specific tms570_map_clock_init()

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:23.000Z

Original author: sebastian.huber

In [changeset:”87be7eaba206e94cc00329104846caa3ddc69fb6/rtems” 87be7eab/rtems]:

bsp/tms570: Board-specific tms570_pinmux_init()

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:25.000Z

Original author: sebastian.huber

In [changeset:”449d83680009d5a7253cb31b7d3da44da5153d05/rtems” 449d836/rtems]:

bsp/tms570: Board-specific tms570_emif_sdram_init()

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:27.000Z

Original author: sebastian.huber

In [changeset:”b47c8188bf7e467df9960440715c07184fba6be0/rtems” b47c818/rtems]:

bsp/tms570: Update README

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:29.000Z

Original author: sebastian.huber

In [changeset:”9a961eec67c4f06e65edb7e23d4bf51084499841/rtems” 9a961eec/rtems]:

bsp/tms570: Remove unused BSP options

Update #4982.

Author: Trac Migrate

2024-01-15T09:38:31.000Z

Original author: sebastian.huber

In [changeset:”df378641e68fcd9f27797fb998b7a46e2f54f731/rtems” df37864/rtems]:

bsp/tms570: Use TMS570_OSCILLATOR_MAIN

This option replaces BSP_OSCILATOR_CLOCK.  It may be used in PLL setup
calculatios.

Update #4982.

Author: Trac Migrate

2024-01-25T07:17:19.000Z

Original author: sebastian.huber

In [changeset:”9fdaa4e7c7577710405dab0da828ff9d0710a2d0/rtems-tools” 9fdaa4e/rtems-tools]:

config: Update BSPs

Update #4982.

Author: Trac Migrate

2024-02-01T06:57:06.000Z

Original author: sebastian.huber

In [changeset:”b1fdf753387189afe720d3fa1ac13af5fb9943c2/rtems” b1fdf75/rtems]:

bsp/tms570: Fix console receive interrupts

`tms570_sci_interrupt_handler()` is called when an RX interrupt fires. It checks
in the register `FLR`, the `RXRDY` bit (Receiver ready flag - indicate that the
SCIRD contains new data). If it is set, it calls
`tms570_sci_read_received_chars()`.

`tms570_sci_read_received_chars()` checks the register `RD` against 0. If it is
non zero, it returns 1 to indicate that one byte was read.

In the old behavior, if it is zero, the function returns 0 to indicate that no
data was read.

The new behavior is to not silently drop 0x00 bytes. Ignoring 0x00 bytes is fine
when working with printable text (which, I assume, is how this driver was
tested), but as soon as the UART is used in non canonical (raw) mode, with
potentially 0x00 bytes, these bytes will be silently dropped, causing issues in
the data/protocol layer above.

Update #4982.

Author: Sebastian Huber

2024-05-02T12:51:11.701Z

mentioned in merge request !16

Author: Chris Johns

2024-05-03T06:00:06.010Z

@sebhub what is the status of this issue?

Author: Sebastian Huber

2024-05-03T22:30:03.301Z

This is still work in progress, see !16. Once this patch set is merged, there are two issues left:

  1. The PBIST checks need to move before the SRAM initialization.

  2. The MPU initialization should to move to shared code.

Author: Chris Johns

2024-05-02T23:18:54.140Z

changed the description

Author: Chris Johns

2024-05-02T23:18:54.175Z

assigned to @sebhub and unassigned @tracmigrate

Author: Sebastian Huber

2024-06-25T08:47:00.711Z

mentioned in merge request !93

5037 - Waf does not handle VERSION file (opened)

Id

5037

State

opened

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2024-06-13T04:20:39.732Z

Updated

2024-06-19T04:42:08.852Z

Milestone

6.1

Labels

tool::waf

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5037

Merges

0

Summary

Releases add a VERSION file that defines the release. This is not working

Steps to reproduce

Add a suitable VERSION file then check the version.

Author: Chris Johns

2024-06-13T04:20:39.803Z

assigned to @chris

Author: Chris Johns

2024-06-13T04:20:52.457Z

changed the description

Author: Sebastian Huber

2024-06-19T04:42:08.865Z

The wscript of RTEMS uses a VERSION file. For example:

[RTEMS_VERSION]
__RTEMS_MAJOR__ = 1
__RTEMS_MINOR__ = 2
__RTEMS_REVISION__ = 3
RTEMS_VERSION_CONTROL_KEY = 4

Author: Chris Johns

2024-06-19T04:42:08.836Z

Yes and thanks. I have a patch to fix this in my queue and I need to find the time to finish testing it.

5048 - PowerPC BSP ABI flags (opened)

Id

5048

State

opened

Type

ISSUE

Author

Chris Johns

Created

2024-06-17T04:23:44.413Z

Updated

2024-06-17T04:23:44.413Z

Milestone

6.1

Labels

arch:powerpc, tool::newlib

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5048

Merges

0

Summary

The ABI flags for the PowerPC need review. For example the GCC manual does not document meabi and we have it in 11 YAML spec files. A review of the options used to build executable images shows only a few BSPs have options that match those used to build libc etc. Our BSPs tend to have a number of extra options. Why?

Steps to reproduce

  1. Build a PowerPC such as mvme2700

  2. Run ```` rtems-exeinfo -O find build -name hello.exe ```` and observe the difference in the flags

For example the output is:

RTEMS Executable Info 6.ed300ed60617-modified
/opt/work/chris/rtems/rt/rtems-tools.git/build/linkers/rtems-exeinfo -O build/powerpc/mvme2700/testsuites/samples/hello.exe
exe: build/powerpc/mvme2700/testsuites/samples/hello.exe

Compilation:
Producers: 3
|  GNU AS 2.42: 6 objects
|  GNU C17 13.3.0 20240521 (RTEMS 6, RSB 423d98d2058a7dac0921f9a13113b024696236b9, Newlib 730703b): 354 objects
|  GNU AS 2.41: 1 objects
Common flags: 2
| -ftls-model=local-exec -mcpu=604
All flags: 2
| -mcall-sysv -ftls-model=local-exec -mcpu=604 -mmultiple -mstrict-align -meabi
Object files: 361
GNU AS 2.42: 6 objects
| cpu_asm.S
| mmuAsm.S
| ppc_exc.S
| ppc_exc_naked.S
| rtems_crti.S
| start.S
GNU C17 13.3.0 20240521 (RTEMS 6, RSB 423d98d2058a7dac0921f9a13113b024696236b9, Newlib 730703b): 354 objects
| __assert.c                        : -mcall-sysv -mmultiple -mstrict-align -meabi
| __atexit.c
| __call_atexit.c
| __gettod.c                        : -mcall-sysv -mmultiple -mstrict-align -meabi
| __usrenv.c                        : -mcall-sysv -mmultiple -mstrict-align -meabi
| _calloc_r.c                       : -mcall-sysv -mmultiple -mstrict-align -meabi
| _free_r.c                         : -mcall-sysv -mmultiple -mstrict-align -meabi
| _isatty.c
| _malloc_r.c                       : -mcall-sysv -mmultiple -mstrict-align -meabi
| _realloc_r.c                      : -mcall-sysv -mmultiple -mstrict-align -meabi
| abort.c
| allocatormutex.c                  : -mcall-sysv -mmultiple -mstrict-align -meabi
| apimutexisowner.c                 : -mcall-sysv -mmultiple -mstrict-align -meabi
| apimutexlock.c                    : -mcall-sysv -mmultiple -mstrict-align -meabi
| apimutexunlock.c                  : -mcall-sysv -mmultiple -mstrict-align -meabi
| assert.c
| assoclocalbyremote.c              : -mcall-sysv -mmultiple -mstrict-align -meabi
| assoclocalbyremotebitfield.c      : -mcall-sysv -mmultiple -mstrict-align -meabi
| assocptrbyremote.c                : -mcall-sysv -mmultiple -mstrict-align -meabi
| atexit.c
| base_fs.c                         : -mcall-sysv -mmultiple -mstrict-align -meabi
| bat.c                             : -mcall-sysv -mmultiple -mstrict-align -meabi
[ snip ]

The files with no options to the right have the common flags.

I examined the libc.a files installed with gcc and none had this mix of options. Why do we need them and does this change the ABI in any way?

4768 - Use tarballs for stable versions development tools (opened)

Id

4768

State

opened

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Trac Migrate

Created

2022-11-30T21:00:46.000Z

Updated

2024-06-14T18:30:31.247Z

Milestone

6.1

Labels

priority::normal, resolution::worksforme, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4768

Merges

0

Currently many of the individual tools in the development toolchain are using versions specified in the RSB using git hashes and not release versions. This is an issue for stable tool versions (e.g. 6) and release branches. Using git hashes is necessary for picking up bug fixes in some cases and should likely be the preference for the forward leaning tools (e.g. 7) but released versions with patches should be given preference.

Note: Newlib is acknowledged as likely always being a hash.

Author: Chris Johns

2022-11-30T21:02:25.000Z

I agree with this. Should the Eng doco be updated to reflect this as a policy?

Author: Joel Sherrill

2023-02-20T20:43:23.000Z

  • Resolution set to ~”worksforme”

  • Status changed from new to closed

Confirming that the RSB lists all tools as released versions except rtems-tools and newlib. See https://git.rtems.org/rtems-source-builder/tree/rtems/config/6/rtems-default.bset for details.

Author: Chris Johns

2024-06-14T18:30:31.151Z

  • Resolution ~”worksforme” deleted

  • Status changed from closed to reopened

I am reopening this ticket. The severity is blocker and if a release is not to use upstream released tarball files we need a clear reason why.

The RSB is not using GCC released sources and the current rtems/config/tools/rtems-gcc-10-newlib-head.cfg shows this.

If you look at the 5.3 sources you will see gcc tarballs are used, eg gcc-9.3.0.tar.xz. As things are an RTEMS 6 release will end up with a file called gnu-mirror-gcc-92b44cf,tar.gz.

Where is the repo this comes from?

The name gnu-mirror-gcc is confusing unless you understand what is going on?

How do you track the integrity of the repo used once you manage to find it?

I think we should be using a GCC release tarball of code in releases.

Author: Kinsey Moore

2024-06-14T18:29:31.177Z

changed the description

4072 - testsuite: Add ticket ids for expected-fail and indeterminate states, add annotations (opened)

Id

4072

State

opened

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2020-09-09T00:21:59.000Z

Updated

2024-06-14T15:40:01.466Z

Milestone

6.1

Labels

priority::high, priority::normal, tickettype::defect, tool::test, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4072

Merges

0

  • Require a ticket id be present for any expected-fail and indeterminate test states.

  1. Parse the ticket number from the .tcgf file and pass into the test.

  2. Have rtems-test obtain the ticket number from the test when run and provide the ticket number in the results.

  • Add annotations for tests. The list is to be provided by Joel.

Author: Chris Johns

2022-11-29T22:18:54.000Z

  • Priority changed from ~”normal” to ~”high”

Author: Chris Johns

2023-06-29T23:34:15.000Z

This is now updated in the spec YAML files.

Author: Kinsey Moore

2023-06-29T23:40:04.000Z

I have some to handle for AArch64 and ARM and any BSPs that run specifically on QEMU.

Author: Trac Migrate

2023-07-10T13:49:21.000Z

In [changeset:”f46c15fd76a4c1904760360cd220a061d74edad4/rtems” f46c15f/rtems]:

spec: Add QEMU test annotations

QEMU is known to fail certain tests intermittently due to clock tick
delivery issues. This defines those tests as intermittent for BSPs
intended to run on QEMU alone.

Updates #4922
Updates #4072

Author: Kinsey Moore

2023-07-10T13:52:26.000Z

The above commit takes care of all the indeterminate test states that I’m aware of in the AArch64 realm.

Author: Kinsey Moore

2024-06-14T15:40:01.441Z

The only indeterminate test state is now documented properly. These are the remaining files that have a test state of expected-fail:

  • spec/build/bsps/tst-xfail-intr.yml (validation-intr for powerpc/psim)

  • spec/build/bsps/i386/pc386/tst-xfail-val.yml (various validation tests for i386/pc386)

  • spec/build/bsps/tst-xfail-dl06.yml (dl06 for arm/imx7)

  • spec/build/bsps/tst.yml (psxfenv01 for all arches)

Author: Amar Takhar

2024-04-25T20:48:19.128Z

changed the description

5002 - Add API to get and set interrupt priorities for interrupt vectors (opened)

Id

5002

State

opened

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Sebastian Huber

Created

2024-03-20T08:57:01.000Z

Updated

2024-06-10T19:18:59.001Z

Milestone

6.1

Labels

priority::normal, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5002

Merges

0

Original author: sebastian.huber

Modern interrupt controllers support interrupt priorities. There is currently no API in RTEMS to get or set interrupt priorities. Here is a proposal:

diff --git a/cpukit/include/rtems/rtems/intr.h b/cpukit/include/rtems/rtems/intr.h
index f8809015e4..425e53797a 100644
--- a/cpukit/include/rtems/rtems/intr.h
+++ b/cpukit/include/rtems/rtems/intr.h
@@ -9,7 +9,7 @@
*/

/*
- * Copyright (C) 2008, 2022 embedded brains GmbH & Co. KG
+ * Copyright (C) 2008, 2024 embedded brains GmbH & Co. KG
* Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
*
* Redistribution and use in source and binary forms, with or without
@@ -1743,6 +1743,97 @@ rtems_status_code rtems_interrupt_raise_on(
*/
rtems_status_code rtems_interrupt_clear( rtems_vector_number vector );

+/* Generated from spec:/rtems/intr/if/get-priority */
+
+/**
+ * @ingroup RTEMSAPIClassicIntr
+ *
+ * @brief Gets the priority set of the interrupt vector.
+ *
+ * @param vector is the interrupt vector number.
+ *
+ * @param[out] priority is the pointer to an uint32_t object.  When the
+ *   directive call is successful, the priority of the interrupt vector will be
+ *   stored in this object.
+ *
+ * @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
+ *
+ * @retval ::RTEMS_INVALID_ADDRESS The ``priority`` parameter was NULL.
+ *
+ * @retval ::RTEMS_INVALID_ID There was no interrupt vector associated with the
+ *   number specified by ``vector``.
+ *
+ * @retval ::RTEMS_UNSATISFIED There is no priority associated with the
+ *   interrupt vector.
+ *
+ * @par Notes
+ * The rtems_interrupt_set_priority() directive may be used to set the priority
+ * associated with an interrupt vector.
+ *
+ * @par Constraints
+ * @parblock
+ * The following constraints apply to this directive:
+ *
+ * * The directive may be called from within interrupt context.
+ *
+ * * The directive may be called from within device driver initialization
+ *   context.
+ *
+ * * The directive may be called from within task context.
+ *
+ * * The directive will not cause the calling task to be preempted.
+ * @endparblock
+ */
+rtems_status_code rtems_interrupt_get_priority(
+  rtems_vector_number vector,
+  uint32_t           *priority
+);
+
+/* Generated from spec:/rtems/intr/if/set-priority */
+
+/**
+ * @ingroup RTEMSAPIClassicIntr
+ *
+ * @brief Sets the priority of the interrupt vector.
+ *
+ * @param vector is the interrupt vector number.
+ *
+ * @param priority is the new priority for the interrupt vector.
+ *
+ * @retval ::RTEMS_SUCCESSFUL The requested operation was successful.
+ *
+ * @retval ::RTEMS_INVALID_ID There was no interrupt vector associated with the
+ *   number specified by ``vector``.
+ *
+ * @retval ::RTEMS_INVALID_PRIORITY The priority specified by ``priority`` was
+ *   not a valid new priority for the interrupt vector.
+ *
+ * @retval ::RTEMS_UNSATISFIED The request to set the priority of the interrupt
+ *   vector has not been satisfied.
+ *
+ * @par Notes
+ * The rtems_interrupt_get_priority() directive may be used to get the priority
+ * associated with an interrupt vector.
+ *
+ * @par Constraints
+ * @parblock
+ * The following constraints apply to this directive:
+ *
+ * * The directive may be called from within interrupt context.
+ *
+ * * The directive may be called from within device driver initialization
+ *   context.
+ *
+ * * The directive may be called from within task context.
+ *
+ * * The directive will not cause the calling task to be preempted.
+ * @endparblock
+ */
+rtems_status_code rtems_interrupt_set_priority(
+  rtems_vector_number vector,
+  uint32_t            priority
+);
+
/* Generated from spec:/rtems/intr/if/get-affinity */

/**
@@ -2020,6 +2111,28 @@ typedef struct {
* rtems_interrupt_raise(), or rtems_interrupt_raise_on().
*/
rtems_interrupt_signal_variant trigger_signal;
+
+  /**
+   * @brief This member is true, if the priority of the interrupt vector can be
+   *   obtained by rtems_interrupt_get_priority(), otherwise it is false.
+   */
+  bool can_get_priority;
+
+  /**
+   * @brief This member is true, if the priority of the interrupt vector can be
+   *   set by rtems_interrupt_set_priority(), otherwise it is false.
+   */
+  bool can_set_priority;
+
+  /**
+   * @brief This member represents the maximum priority value of the interrupt
+   *   vector.  By convention, the minimum priority value is zero.  Where nested
+   *   interrupts are supported, interrupt vectors can interrupt other interrupt
+   *   vectors which have a higher priority value.  The higher the priority
+   *   value, the less important is the service of the associated interrupt
+   *   vector.
+   */
+  uint32_t maximum_priority;
} rtems_interrupt_attributes;

/* Generated from spec:/rtems/intr/if/get-attributes */

Author: Gedare Bloom

2024-05-02T08:32:06.727Z

Original author: sebastian.huber

Two basic questions: 1. Does the priority field type need to be Architecture- or BSP-defined or is uint32_t always going to be fine.

  1. Does changing (increasing) the priority of a vector from within interrupt context possibly cause a pending interrupt to post that was previously at a lower priority than the currently masked priority level? In that case, it would cause a preemption to occur. I’m guessing this behavior could be architecture-specific.

Author: Sebastian Huber

2024-05-02T08:32:06.686Z

  1. In theory, the priority range depends on the interrupt controller implementation. However, an uint32_t should be more than enough. The maximum priority value defines also the maximum interrupt nesting depth. So, even 256 interrupt priority levels would be quite a lot.

  2. This behaviour is entirely interrupt-controller specific. Changing the priority while an interrupt is active is usually a bad idea since this can confuse the hardware interrupt priority stack. I guess we have to add some interrupt-controller specific information to the notes, for example:

For the Armv7-M NVIC, there are 256 priority levels supported. The granularity of the priority levels depends on the interrupt controller configuration. Some lower bits of a priority value may be read-as-zero. Interrupts with a priority value less than 128 are not disabled by the RTEMS interrupt disable directive. Such interrupts shall not use operating system services. For the Arm GICv2, … For the Arm GICv3, …

Author: Amar Takhar

2024-05-02T08:37:59.717Z

changed the description

Author: Amar Takhar

2024-05-02T08:37:59.754Z

assigned to @sebhub and unassigned @tracmigrate

Author: Sebastian Huber

2024-05-02T13:00:30.943Z

mentioned in merge request !17

Author: Sebastian Huber

2024-06-04T09:34:56.388Z

mentioned in merge request !57

Author: Sebastian Huber

2024-06-10T19:18:58.882Z

mentioned in commit cbe60cea71a07106922b4b4db52a912216987962

5030 - Deprecate mrm332 BSP in rtems6 and remove in 7 (opened)

Id

5030

State

opened

Type

ISSUE

Author

Joel Sherrill

Created

2024-06-06T14:31:01.168Z

Updated

2024-06-06T14:31:01.168Z

Milestone

6.1

Labels

bsp

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5030

Merges

0

This BSP is very old and can be removed. This was confirmed with robominds.com.

5020 - Deprecate lm32 port in rtems6 and remove in 7 (opened)

Id

5020

State

opened

Type

ISSUE

Author

Joel Sherrill

Created

2024-05-29T15:46:30.444Z

Updated

2024-05-29T15:46:30.444Z

Milestone

6.1

Labels

arch:lm32

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5020

Merges

0

This port appears to be unused. No one has been testing it or reporting issues/success with it.

On top of that, this is a port which is still under the old GPL v2 w/exception license and we have been unable to locate the authors to obtain permission to relicense it.

Deprecate for RTEMS 6.x Remove in RTEMS 7.x

5019 - Deprecate bfin port in rtems6 and remove in 7 (opened)

Id

5019

State

opened

Type

ISSUE

Author

Joel Sherrill

Created

2024-05-29T15:46:17.906Z

Updated

2024-05-29T15:46:17.906Z

Milestone

6.1

Labels

arch:bfin

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5019

Merges

0

This port appears to be unused. No one has been testing it or reporting issues/success with it.

On top of that, this is a port which is still under the old GPL v2 w/exception license and we have been unable to locate the authors to obtain permission to relicense it.

Deprecate for RTEMS 6.x Remove in RTEMS 7.x

4736 - RISC-V - ISR_stack allocation and usage by harts > CONFIGURE_MAXIMUM_PROCESSORS (opened)

Id

4736

State

opened

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Trac Migrate

Created

2022-10-05T15:38:19.000Z

Updated

2024-05-17T02:09:03.218Z

Milestone

6.1

Labels

arch:riscv, priority::normal, tickettype::defect, version::5

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4736

Merges

0

Original author: lsilistr

When running SMP with CONFIGURE_MAXIMUM_PROCESSORS < total number of harts, the unused harts that start will allocate interrupt stacks from the sections following .rtemsstack. 16 bytes are used (written) while parking the core in _CPU_Thread_Idle_body.

Unallocated _Per_CPU_Information is also used but only for pointer math - this seems to work out fine.

It does seem like practically, with the default linkcmds, unless the cores are held/delayed by a debugger, they would never end up writing in memory before that memory is used -.rtemsstack is followed by .work.

Is this intended/known behaviour?

Author: Trac Migrate

2022-10-07T05:06:16.000Z

Original author: lsilistr

This is a bug. The arm start.S does not have this issue for example.

Author: Trac Migrate

2022-10-07T05:07:44.000Z

Original author: lsilistr

  • Milestone set to %”6.1”

Author: Chris Johns

2022-11-30T00:03:38.000Z

Original author: lsilistr

Status update?

Author: Joel Sherrill

2023-06-22T21:00:39.000Z

Original author: lsilistr

  • Owner set to hesham

  • Status changed from new to assigned

Hesham.. can you please take a shot at this?

Author: Joel Sherrill

2023-06-22T21:07:55.000Z

Original author: lsilistr

  • Summary changed from ISR_stack allocation and usage by harts > CONFIGURE_MAXIMUM_PROCESSORS to RISC-V - ISR_stack allocation and usage by harts > CONFIGURE_MAXIMUM_PROCESSORS

Author: Amar Takhar

2024-05-17T02:09:03.268Z

changed the description

Author: Amar Takhar

2024-05-17T02:09:23.582Z

@joel can this be bumped to %6.2 hesham is not on GitLab.

4695 - Automatic version numbers in the documentation (opened)

Id

4695

State

opened

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-08-03T03:42:50.000Z

Updated

2024-05-17T02:05:31.823Z

Milestone

6.1

Labels

priority::high, priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4695

Merges

0

There is no easy means to add the current version number to the documentation using the Sphinx. The supported directives and variables are fine in the documentation however they are no applied in the code blocks.

Provide a means to support a version number that can be used in the documentation and code blocks.

We should also review the documentation code blocks and find ways to include content that does not vary from version to version.

Author: Trac Migrate

2022-08-04T21:50:09.000Z

In [changeset:”c935a2c918e9310233a43a287fdd361a36baab91/rtems-docs” c935a2c/rtems-docs]:

building: Add support for an RTEMS version number

- Support using a version number for RTEMS documentation

Updates #4695

Author: Trac Migrate

2022-08-04T21:50:11.000Z

In [changeset:”e551cc743527b43de5559d4635b85c32b8d29d27/rtems-docs” e551cc7/rtems-docs]:

versions: Update aarch64

Updates #4695

Author: Trac Migrate

2022-08-04T21:50:12.000Z

In [changeset:”f028448e5f21f4317a0a7b9b336d7e492ebea6c7/rtems-docs” f028448/rtems-docs]:

versions: Update arm

Updates #4695

Author: Trac Migrate

2022-08-04T21:50:14.000Z

In [changeset:”3859073d5be52c7161e734067748d5dba9a67bc4/rtems-docs” 3859073/rtems-docs]:

versions: Update microblaze, powerpc, riscv and x86_64

Updates #4695

Author: Trac Migrate

2022-08-04T21:50:15.000Z

In [changeset:”1d6dcf811f6c7a54da6b214ddd6d3ca8a372bd47/rtems-docs” 1d6dcf8/rtems-docs]:

versions: Update user manual

Updates #4695

Author: Chris Johns

2022-11-29T22:50:56.000Z

We need to complete this to make a 6.1 release.

Author: Chris Johns

2022-11-29T22:52:11.000Z

  • Priority changed from ~”normal” to ~”high”

Author: Trac Migrate

2023-12-19T20:41:52.000Z

In [changeset:”e4a0de61e2810ebca2bc8259a952eca43c34208f/rtems-docs” e4a0de6/rtems-docs]:

user: Automatic version number fixes

Updates #4695

Author: Amar Takhar

2024-05-17T02:05:31.801Z

marked this issue as related to #4648

4648 - Documentation Needs to Use Version Variables not Hard-Coded Numbers (opened)

Id

4648

State

opened

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2022-05-08T11:11:42.000Z

Updated

2024-05-17T02:05:31.791Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4648

Merges

0

This ticket is to track all the documentation changes for the RTEMS 6 releases.

Author: Chris Johns

2022-05-08T11:18:31.000Z

Update the build system to support substitution in areas of the text with:

  • @rtems-version@

  • @rtems-ver-major@

  • @rtems-ver-minor@

  • @rtems-ver-revision@

The support allows the source to contain in any area:

$ sparc-rtems@rtems-ver-major@-gdb app.exe

Author: Chris Johns

2022-05-08T11:20:39.000Z

Update to waf configure

https://docs.rtems.org/branches/master/user/bsps/bsps-powerpc.html#topaz-hypervisor-guest

Author: Chris Johns

2022-05-08T11:22:58.000Z

No configure command line with waf.

https://docs.rtems.org/branches/master/user/bsps/bsps-riscv.html#build-configuration-options

Author: Chris Johns

2022-05-08T11:25:57.000Z

Configure options

https://docs.rtems.org/branches/master/user/bsps/bsps-x86_64.html#build-configuration-options

Author: Chris Johns

2022-05-09T11:45:45.000Z

The use of .. include:: in the nested index.rst files breaks the parsing of Sphinx. I have discovered the read in source that passes through the source-read hook is not in the some of the generated HTML pages. I cannot tell if this is a bug in Sphinx, the theme or something else but using the .. toctree:: works.

We need to change the use includes and update the README.txt.

Author: Joel Sherrill

2023-06-22T21:01:23.000Z

  • Summary changed from User manual documentation updates to User manual documentation updates for RTEMS 6 release

Author: Joel Sherrill

2023-06-22T21:56:19.000Z

We need to use this extension:

https://github.com/adamtheturtle/sphinx-substitution-extensions

And then a documentation working session to switch the hard-coded versions and lengthy version specific output. Also remove the current hacked [per Chris :) ] solution.

Author: Joel Sherrill

2023-06-22T21:57:22.000Z

  • Summary changed from User manual documentation updates for RTEMS 6 release to Documentation Needs to Use Version Variables not Hard-Coded Numbers

Author: Amar Takhar

2024-05-17T02:05:31.765Z

marked this issue as related to #4695

4833 - grlib/pci/grpci2dma.c Warnings Require Insight to Resolve Properly (opened)

Id

4833

State

opened

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Joel Sherrill

Created

2023-01-27T23:36:08.000Z

Updated

2024-05-17T00:50:00.011Z

Milestone

6.1

Labels

arch:sparc, priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4833

Merges

0

These are warnings which may be new from gcc 12. It will take someone more knowledgeable about this driver to fix it.

../../../bsps/shared/grlib/pci/grpci2dma.c: In function 'grpci2dma_channel_list_remove':
../../../bsps/shared/grlib/pci/grpci2dma.c:363:25: warning: 'curr_chan' may be used uninitialized [-Wmaybe-uninitialized]
363 |                         grpci2dma_channel_bd_set_next(curr_chan, new_first_chan);
|                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../bsps/shared/grlib/pci/grpci2dma.c:351:41: note: 'curr_chan' was declared here
351 |                 struct grpci2_bd_chan * curr_chan;
|                                         ^~~~~~~~~
../../../bsps/shared/grlib/pci/grpci2dma.c: In function 'grpci2dma_status':
../../../bsps/shared/grlib/pci/grpci2dma.c:1769:16: warning: 'status' may be used uninitialized [-Wmaybe-uninitialized]
1769 |         return status;
|                ^~~~~~
../../../bsps/shared/grlib/pci/grpci2dma.c:1756:13: note: 'status' was declared here
1756 |         int status;
|             ^~~~~~

Author: Joel Sherrill

2023-06-22T21:21:20.000Z

Daniel.. can someone from Gaisler look into this? Thanks.

Author: Amar Takhar

2024-05-17T00:50:00.054Z

changed the description

Author: Amar Takhar

2024-05-17T00:50:00.091Z

assigned to @joel and unassigned @tracmigrate

Author: Amar Takhar

2024-05-17T00:50:13.525Z

Daniel is not on GitLab so can we move this to %6.2 for now?

4875 - LEON3FT - Power-down workaround (opened)

Id

4875

State

opened

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Sebastian Huber

Created

2023-03-09T12:42:53.000Z

Updated

2024-05-17T00:45:19.755Z

Milestone

6.1

Labels

arch:sparc, priority::normal, qualification, tickettype::defect, tickettype::enhancement, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4875

Merges

0

Original author: dppinto

Within bspssparcleon3startbspidle.S there is the attached code snapshot, on which line 26 seems to contradict GR712RC board User Manual section 1.7.8 (Errata # 8 - LEON3FT Cache Controller: Incorrect Bus Access After Power-Down):

“1.7.8 LEON3FT Cache Controller: Incorrect Bus Access After Power-Down

A LEON with support for clock gating has one clock that is kept running and one clock that is gated off in power-down mode. Due to a design error, the gated clock was used for logic that keeps track of the state of the AMBA bus. Due to this error, the first instruction or data (whichever is first) access to the bus after leaving power-down might be performed incorrectly.

Note that the stack pointer or other cachable memory should never be used as the source operand, even if using ASI 1, since this may lead to faulty data being loaded into the data cache.“

One has asked Gaisler’s opinion and this has been the response: _“The errata is perhaps a bit too strongly worded. There is a risk that the load instruction used in the workaround will lead to fetching in incorrect data that gets cached if the address is in a cacheable area but that in itself is not a problem. In order for that to propagate into a real problem there has to be a subsequent load from that address that hits in the Dcache and uses the invalid data before that cache line is either flushed or the data is overwritten by stores. If you know that the address (and the same cache line) will not be loaded from this does not happen. In this case it is reading from the stack of the idle task which is never read from once the idle task is running. So I do not see that this can create a real issue.”_

Either way, we wanted the RTEMS community to double-check that indeed there is not a real problem and eventually place additional comments on the code to better contextualize it w.r.t. the GR712RC User Manual errata # 8.

(Image attached)

Additional Notes:

This ticket was raised as an outcome of the Independent SW Verification and Validation (ISVV) for ESA-promoted RTEMS SMP Qualification Data Packs (https://rtems-qual.io.esa.int). The original ISVV reference for this issue is RTEMS-SMP-CODE-VER-073.

Author: Trac Migrate

2023-03-09T12:43:34.000Z

Original author: dppinto

Code

Author: Trac Migrate

2023-03-09T13:01:31.000Z

Original author: dppinto

  • Milestone set to %”6.1”

  • Version set to ~”6”

Author: Joel Sherrill

2023-06-22T21:03:07.000Z

Original author: dppinto

  • Owner set to sebastian.huber

  • Status changed from new to assigned

  • Summary changed from Power-down workaround to LEON3FT - Power-down workaround

Author: Amar Takhar

2024-04-25T20:50:40.284Z

changed the description

Author: Amar Takhar

2024-05-17T00:45:19.797Z

unassigned @tracmigrate

Author: Amar Takhar

2024-05-17T00:45:25.877Z

assigned to @sebhub

Author: Amar Takhar

2024-05-17T00:45:50.425Z

Hi there Sebastian can this be moved to %6.2?

4929 - RTEMS tools installs into $PREFIX/share/rtems and not $PREFIX/share/rtems6 (opened)

Id

4929

State

opened

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2023-07-19T21:17:53.000Z

Updated

2024-05-02T23:17:26.517Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4929

Merges

0

Should these path be aligned?

At the moment it creates confusion if the user enters the wrong prefix when building RTEMS.

Author: Chris Johns

2024-05-02T23:17:26.558Z

changed the description

Author: Chris Johns

2024-05-02T23:17:26.595Z

assigned to @chris and unassigned @tracmigrate

4921 - Tool versions for RTEMS 6.1 release (opened)

Id

4921

State

opened

Type

ISSUE

Author

Trac Migrate

Assignee(s)

Chris Johns

Created

2023-07-03T07:11:02.000Z

Updated

2023-11-28T22:24:49.000Z

Milestone

6.1

Labels

priority::normal, tickettype::task, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4921

Merges

0

Original author: sebastian.huber

  • GCC 13.2

  • Binutils 2.41

  • GDB 13.2

  • Newlib TBD

Author: Trac Migrate

2023-07-03T07:11:47.000Z

Original author: sebastian.huber

  • Owner set to chris.johns

  • Status changed from new to assigned

Author: Trac Migrate

2023-07-03T07:12:51.000Z

Original author: sebastian.huber

  • Owner set to @chrisj

Author: Trac Migrate

2023-07-25T05:14:55.000Z

Original author: sebastian.huber

In [changeset:”fd3ab606c75818fea3f625e77b4d11d378a8b813/rtems-source-builder” fd3ab60/rtems-source-builder]:

6: Use GDB 13.2

Prepare for RTEMS 6.1 release.

Update #4921.

Author: Trac Migrate

2023-07-25T05:14:56.000Z

Original author: sebastian.huber

In [changeset:”96b114089204112399d079c406cc91a5974a9b5b/rtems-source-builder” 96b1140/rtems-source-builder]:

6: Use libexpat 2.5.0

This version contains security fixes.  Prepare for RTEMS 6.1 release.

Update #4921.

Author: Trac Migrate

2023-11-23T06:25:26.000Z

Original author: sebastian.huber

In [changeset:”df6908068602b43edefba253f19d48e4f2b9ba6d/rtems-source-builder” df69080/rtems-source-builder]:

6: Use GCC 13.2

Prepare for RTEMS 6.1 release.

Update #4921.

Author: Trac Migrate

2023-11-23T06:25:28.000Z

Original author: sebastian.huber

In [changeset:”d4d085059336e913c63f0ce3f3bcaa04d73bbbd0/rtems-source-builder” d4d0850/rtems-source-builder]:

6: Use Binutils 2.41

Prepare for RTEMS 6.1 release.

Update #4921.

Author: Trac Migrate

2023-11-28T22:24:49.000Z

Original author: sebastian.huber

In [changeset:”9e57632befb687e0d5306af47dabcec19cb5d50e/rtems-source-builder” 9e57632/rtems-source-builder]:

6: Fix gcc-13 support for MacOS

Update #4921

4931 - User manual RSB BSP build examples need updating (opened)

Id

4931

State

opened

Type

ISSUE

Author

Chris Johns

Assignee(s)

Trac Migrate

Created

2023-07-25T02:33:00.000Z

Updated

2023-07-25T02:33:00.000Z

Milestone

6.1

Labels

priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4931

Merges

0

4760 - RSB fatal error on missing hash checksums (opened)

Id

4760

State

opened

Type

ISSUE

Author

Chris Johns

Assignee(s)

Chris Johns

Created

2022-11-15T02:25:19.000Z

Updated

2023-06-22T21:17:53.000Z

Milestone

6.1

Labels

priority::high, resolution::duplicate, tickettype::defect, tool::rtems-source-builder, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4760

Merges

0

The time has come to raise a fatal error if a hash is missing rather than a warning. This will stop missing checksums being present when releasing.

It also makes it simpler to test releases for no missing checksums.

Author: Joel Sherrill

2023-02-09T20:56:06.000Z

Hasn’t this been implemented?

Author: Joel Sherrill

2023-06-22T21:14:45.000Z

  • Resolution set to ~”duplicate”

  • Status changed from assigned to closed

Dupe of #4857

Author: Chris Johns

2023-06-22T21:17:53.000Z

  • Resolution ~”duplicate” deleted

  • Status changed from closed to reopened

Please check and then confirm before closing

4826 - Software Engineering Guide has broken Reference (opened)

Id

4826

State

opened

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Chris Johns

Created

2023-01-27T13:59:43.000Z

Updated

2023-02-15T20:33:57.000Z

Milestone

6.1

Labels

priority::normal, tickettype::defect

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4826

Merges

0

Section 3, RTEMS Stakeholders, has a single paragraph which renders like this in the html at https://docs.rtems.org/branches/master/eng/stakeholders.html:

Please have a look at the Support and Contributing chapter of the ERROR: :r:url:`user`.

A bit of investigation shows that it is trying to link to https://docs.rtems.org/branches/master/user/support/index.html. That section appears to be there correctly.

Looking for documentation for the “:r:url:” syntax, I could not find any on the net. I see 48 uses of “:r:”. I suspect but did not check that they all might be broken. What is “:r:” and what makes it work?

Author: Joel Sherrill

2023-01-27T14:08:24.000Z

  • Description changed

Section 3, RTEMS Stakeholders, has a single paragraph which renders like this in the html at https://docs.rtems.org/branches/master/eng/stakeholders.html:


{{{
Please have a look at the Support and Contributing chapter of the ERROR: :r:url:`user`.
}}}
+
+ A bit of investigation shows that it is trying to link to https://docs.rtems.org/branches/master/user/support/index.html. That section appears to be there correctly.
+
+ Looking for documentation for the ":r:url:" syntax, I could not find any on the net. I see 48 uses of ":r:". I suspect but did not check that they all might be broken. What is ":r:" and what makes it work?
  • Owner set to @chrisj

  • Status changed from new to assigned

Author: Chris Johns

2023-02-14T22:17:00.000Z

You cannot have links like this to rolling released versions of the documentation in the documentation and it needs to be removed.

Author: Chris Johns

2023-02-14T22:17:19.000Z

  • Owner set to @joel

Author: Trac Migrate

2023-02-15T07:03:49.000Z

This :r: stuff is implemented in common/rtemsdomain.py. It seems to be a Sphinx customization. It used to work at some point in time.

Author: Chris Johns

2023-02-15T20:33:57.000Z

  • Owner set to @chrisj

The domains could have been broken by me when I updated that code to handle the version number change.

I will take a look. My comment about URL links is related to references between different documents only. References in a document is supported.

Sorry for the confusion.

4767 - Add rtems-lwip to release packages (opened)

Id

4767

State

opened

Type

ISSUE

Author

Joel Sherrill

Assignee(s)

Chris Johns

Created

2022-11-30T20:56:56.000Z

Updated

2023-01-04T22:39:43.000Z

Milestone

6.1

Labels

priority::normal, tickettype::enhancement, tool, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/4767

Merges

0

The rtems-lwip repository is young but mature enough now to include in the release package. Please add it.

This should primarily related to the rtems-release repository.

Author: Joel Sherrill

2023-01-04T22:39:43.000Z

  • Description changed

The rtems-lwip repository is young but mature enough now to include in the release package. Please add it.
+
+ This should primarily related to the [rtems-release](https://git.rtems.org/rtems-release/) repository.

Merge Requests

156 - Revert “objectgetinfo.c: Add test case for API field too high”

Id

156

State

merged

Merged by

Kinsey Moore

Merged at

2024-07-30T23:03:33.055Z

Assignee(s)

Joel Sherrill

Created

2024-07-30T20:34:07.502Z

Updated

2024-07-30T23:03:35.018Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/156

Commit

30ae3ef9dae36d6bfce650567af55000ca018650

Summary

Revert “objectgetinfo.c: Add test case for API field too high”

This reverts commit 807070a696a93c1dae09f527efd2a516b01d7277

The Coverity CID cited was determined to be a false positive.

Author: Joel Sherrill

2024-07-30T20:34:07.671Z

assigned to @joel

Author: Amar Takhar

2024-07-30T20:40:40.547Z

approved this merge request

Author: Kinsey Moore

2024-07-30T23:03:29.217Z

approved this merge request

140 - bsps: Convert README to MarkDown

Id

140

State

merged

Merged by

Joel Sherrill

Merged at

2024-07-29T19:35:52.630Z

Assignee(s)

Amar Takhar

Created

2024-07-28T20:40:23.423Z

Updated

2024-07-29T19:35:55.278Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/140

Commit

4c2e5ad988b94d7f85f762d76d3c1bea709b812b

Summary

Author: Amar Takhar

2024-07-28T20:40:23.577Z

assigned to @amar

Author: Joel Sherrill

2024-07-28T20:58:28.150Z

Delete the timing test results. The dedicated files with this in it were deleted already. The times were impossible to keep up to date.

Author: Amar Takhar

2024-07-28T20:58:28.396Z

created #5077 to continue this discussion

Author: Joel Sherrill

2024-07-28T20:58:28.551Z

Embedded Brains has given permission to go to 2-BSD. This license notice got missed.

Author: Amar Takhar

2024-07-28T20:58:28.717Z

created #5077 to continue this discussion

Author: Joel Sherrill

2024-07-28T20:58:28.861Z

Is this file in the license collection? I have a recollection of an issue related to this

Author: Amar Takhar

2024-07-28T20:58:28.880Z

created #5077 to continue this discussion

Author: Joel Sherrill

2024-07-28T20:58:29.020Z

Clearly this reference to the old build system needs deleting.

Author: Amar Takhar

2024-07-28T20:58:29.180Z

created #5077 to continue this discussion

Author: Joel Sherrill

2024-07-28T20:58:29.315Z

Delete per rationale given earlier.

Author: Amar Takhar

2024-07-28T20:58:29.333Z

created #5077 to continue this discussion

Author: Joel Sherrill

2024-07-28T20:58:29.472Z

Delete timing tests.

Author: Amar Takhar

2024-07-28T20:58:29.625Z

created #5077 to continue this discussion

Author: Joel Sherrill

2024-07-28T20:58:02.222Z

This review is incomplete. I did it using my phone in moving vehicle. I am not sure all comments posted and I didn’t get to the bottom

Author: Amar Takhar

2024-07-28T20:58:02.222Z

So I am converting these to MarkDown you’re free to edit them after but I’m not doing any content modifications, sorry it’s way too much to do at once and the markdown.

As per @joel via chat I’m resolving all of these with an issue we can deal with them later.

Author: Amar Takhar

2024-07-28T20:58:28.423Z

mentioned in issue #5077

Author: Kinsey Moore

2024-07-29T17:09:04.029Z

This has mismatched quotes.

Author: Amar Takhar

2024-07-29T17:08:25.401Z

changed this line in version 2 of the diff

Author: Amar Takhar

2024-07-29T17:09:04.029Z

I fixed this but I’m not policing content it’s too much to do at once. Plus there are going to be some rendering issues after, anyway.

Author: Kinsey Moore

2024-07-29T17:09:07.578Z

Mismatched quotes.

Author: Amar Takhar

2024-07-29T17:08:26.168Z

changed this line in version 2 of the diff

Author: Amar Takhar

2024-07-29T17:09:07.578Z

I fixed this but I’m not policing content it’s too much to do at once. Plus there are going to be some rendering issues after, anyway.

Author: Kinsey Moore

2024-07-29T15:42:25.612Z

approved this merge request

Author: Amar Takhar

2024-07-29T17:08:26.391Z

added 1 commit

  • 4c2e5ad9 - bsps: Convert README to MarkDown

Compare with previous version

Author: Amar Takhar

2024-07-29T17:08:37.646Z

reset approvals from @opticron by pushing to the branch

Author: Amar Takhar

2024-07-29T17:09:07.598Z

resolved all threads

Author: Kinsey Moore

2024-07-29T17:09:39.340Z

approved this merge request

Author: Joel Sherrill

2024-07-29T19:35:48.082Z

approved this merge request

131 - Remove MAINTAINERS file

Id

131

State

merged

Merged by

Chris Johns

Merged at

2024-07-26T20:23:31.578Z

Assignee(s)

Amar Takhar

Created

2024-07-26T01:56:19.055Z

Updated

2024-07-26T20:23:33.602Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/131

Commit

2ba94118a0867a1cae543af7d85603d8074cd6c6

Summary

Remove MAINTAINERS file

This file is now obsolete now that we have moved to GitLab. A ticket has been opened in ` rtems/docs/rtems-docs#21 <https://gitlab.rtems.org/amar/rtems/-/merge_requests/new?merge_request%5Bsource_branch%5D=maintainer>`_ to discuss adding a contributors section.

GitLab lists who the ‘Code Owners’ are on top of every file in the web source browser this is the canonical way to find out who maintainers are of those files or directories.

Even with knowing who the maintainers are the best way to figure out who is looking after what is to open an issue or an MR. This way we can keep a group level of maintainership over the code base and have CODEOWNERS enforce approvals before merging.

Author: Amar Takhar

2024-07-26T01:56:19.238Z

assigned to @amar

Author: Kinsey Moore

2024-07-26T20:16:35.043Z

Should we point people looking for this information to the locations where GitLab stores it?

Author: Amar Takhar

2024-07-26T20:16:35.043Z

It’s funny you bring that up I was going to point it out but I deliberately left it out with the 3rd paragraph as an explanation. That list while it’s there really doesn’t tell anyone much. What if we’re all busy?? Everyone on GitLab is invited to comment on MRs and issues not just a maintainer.

I don’t think specifically targeting developers is the way to do it anymore. But..that’s just my opinion if you think we should add it then we should have the caveat above. Either way it’s going to be “open an MR/Issue” and maybe they can @ someone in the description?

Author: Kinsey Moore

2024-07-26T20:16:35.043Z

I was thinking more as a way to convert those that typically hunt for the MAINTAINERS file to the GitLab way of doing things.

Author: Amar Takhar

2024-07-26T20:16:35.043Z

Is there anywhere to put it other than in a MAINTAINERS file?

As devops tools have changed they’re no longer relevant. Approvers aren’t always maintainers just the person who knows the area / code the best the maintainer can be an entirely different person so who do you contact? Best way is to open an issue or MR. That’s why I don’t think it’s worth it to have any mention of the concept anymore.

I think anyone seeking a MAINTAINERS file will be able to sort themselves out because not every project has had one, anyway.

Author: Joel Sherrill

2024-07-26T20:16:35.043Z

Like @opticron, I wonder if a pointer can go here. But OTOH, it seems like someone who got this far should be able to fend for themselves. We had this because GNU projects did this. It doesn’t make much sense any longer.

I’d be ok removing it.

Author: Amar Takhar

2024-07-26T18:19:12.272Z

mentioned in commit amar/rtems-docs@39ef166585c7d867bf710abfe85c2e93d3b4e939

Author: Amar Takhar

2024-07-26T18:19:32.371Z

mentioned in merge request rtems/docs/rtems-docs!34

Author: Joel Sherrill

2024-07-26T20:16:26.040Z

Executive decision reached. I haven’t use the power of BDFL in a long time. :)

Author: Joel Sherrill

2024-07-26T20:16:35.061Z

resolved all threads

Author: Joel Sherrill

2024-07-26T20:16:39.731Z

approved this merge request

Author: Chris Johns

2024-07-26T20:21:57.967Z

approved this merge request

Author: Chris Johns

2024-07-26T20:23:01.740Z

added 6 commits

  • 2afa5527…9dce0426 - 5 commits from branch rtems/rtos:main

  • 2ba94118 - Remove MAINTAINERS file

Compare with previous version

130 - Remove INSTALL file.

Id

130

State

merged

Merged by

Joel Sherrill

Merged at

2024-07-26T20:17:58.882Z

Assignee(s)

Amar Takhar

Created

2024-07-26T01:42:54.630Z

Updated

2024-07-26T20:18:00.566Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/130

Commit

9dce0426d42adac532a3610e899e9d6665755d77

Summary

Remove INSTALL file.

All this does is points to the README. The README points to the docs website as it should.

INSTALL files are falling out of favour since sites show README.* by default over an INSTALL file.

Author: Amar Takhar

2024-07-26T01:42:54.776Z

assigned to @amar

Author: Kinsey Moore

2024-07-26T02:35:55.889Z

approved this merge request

Author: Joel Sherrill

2024-07-26T20:17:44.741Z

added 5 commits

  • 7500e63e…b3540873 - 4 commits from branch rtems/rtos:main

  • 9dce0426 - Remove INSTALL file.

Compare with previous version

Author: Joel Sherrill

2024-07-26T20:17:55.505Z

approved this merge request

135 - Remove errant URL.

Id

135

State

merged

Merged by

Joel Sherrill

Merged at

2024-07-26T19:54:19.241Z

Assignee(s)

Amar Takhar

Created

2024-07-26T08:23:31.263Z

Updated

2024-07-26T19:54:20.877Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/135

Commit

5c5ccbcc575b90d73f2cd1d6f6f527a73a8b54be

Summary

Remove errant URL.

Not sure what this is doing here found it during !134 Since there is nowhere to point it to remove it.

Author: Amar Takhar

2024-07-26T08:23:31.765Z

assigned to @amar

Author: Amar Takhar

2024-07-26T08:24:10.017Z

@joel you created this file was there any plan with that URL?

Author: Kinsey Moore

2024-07-26T13:36:38.698Z

approved this merge request

Author: Joel Sherrill

2024-07-26T19:53:47.647Z

I wrote this and have no idea how that URL ended up there.

Author: Joel Sherrill

2024-07-26T19:53:54.614Z

approved this merge request

Author: Joel Sherrill

2024-07-26T19:54:06.025Z

added 3 commits

  • 6ab48639…84b56d69 - 2 commits from branch rtems/rtos:main

  • 5c5ccbcc - Remove errant URL.

Compare with previous version

132 - Remove Makefile.maint

Id

132

State

merged

Merged by

Joel Sherrill

Merged at

2024-07-26T19:51:44.831Z

Assignee(s)

Amar Takhar

Created

2024-07-26T02:41:52.659Z

Updated

2024-07-26T19:51:46.470Z

Milestone

6.1

Labels

doc, rtems::build

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/132

Commit

84b56d69daab328b178de892b11ffa5793835f56

Summary

Remove Makefile.maint

This file has not been relevant in at least 8 years and even then only for texinfo? The file calls itself Experimental and relies on CVS. It was used for cutting old RTEMS releases.

Author: Amar Takhar

2024-07-26T02:41:52.833Z

assigned to @amar

Author: Kinsey Moore

2024-07-26T13:42:22.430Z

Wow, this file is crusty.

Author: Kinsey Moore

2024-07-26T13:42:25.149Z

approved this merge request

Author: Joel Sherrill

2024-07-26T19:49:10.972Z

approved this merge request

Author: Joel Sherrill

2024-07-26T19:49:18.971Z

added 2 commits

  • de8452e3 - 1 commit from branch rtems/rtos:main

  • 84b56d69 - Remove Makefile.maint

Compare with previous version

133 - Update Doxygen to point to GitLab.

Id

133

State

merged

Merged by

Joel Sherrill

Merged at

2024-07-26T19:48:30.530Z

Assignee(s)

Amar Takhar

Created

2024-07-26T08:07:05.661Z

Updated

2024-07-26T19:48:32.263Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/133

Commit

de8452e32cd1e2216579aed525c107e80251f9b7

Summary

Update Doxygen to point to GitLab.

These are git.rtems.org links.

Author: Amar Takhar

2024-07-26T08:07:05.823Z

assigned to @amar

Author: Kinsey Moore

2024-07-26T13:38:16.723Z

approved this merge request

Author: Amar Takhar

2024-07-26T18:26:46.972Z

added 1 commit

  • de8452e3 - Update Doxygen to point to GitLab.

Compare with previous version

Author: Amar Takhar

2024-07-26T18:27:02.447Z

reset approvals from @opticron by pushing to the branch

Author: Kinsey Moore

2024-07-26T19:36:59.486Z

approved this merge request

Author: Joel Sherrill

2024-07-26T19:48:26.504Z

approved this merge request

104 - Convert licenses to a single LICENSE.md file.

Id

104

State

merged

Merged by

Joel Sherrill

Merged at

2024-07-26T00:00:49.384Z

Created

2024-06-30T20:53:35.349Z

Updated

2024-07-26T00:00:52.158Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/104

Commit

8fd3ed26e7f64af1ba6faff7125a2d0209c7213f

Summary

Merge all licenses into one large file with a TOC. This way we can link to one file and not have to worry about having many files everywhere.

The original licenses have been copied in without modification though it will render differently online.

Author: Sebastian Huber

2024-07-10T05:28:37.035Z

I would just name the directory “licenses”.

Author: Amar Takhar

2024-07-10T05:28:37.035Z

I thought about that but looking around every single project I saw called their license file LICENSE. I called it LICENSE_OTHER so it sorts with the original LICENSE file and is easily visible. ‘licenses’ – which I did try gets lost with the rest of the directories.

Author: Sebastian Huber

2024-07-10T05:28:37.035Z

Ok, never mind, this directory name just looked a bit odd to me.

With respect to the goal of this change, you would like to make it easier for RTEMS users to fulfill license requirements? Why don’t we provide a single top-level COPYING file like Newlib does:

https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=COPYING.NEWLIB;h=176b3a4706cc99651d36b1116605747ad0a72a75;hb=HEAD

Author: Amar Takhar

2024-07-10T05:28:37.035Z

That’s not a bad idea I’d call it LICENSE though as COPYING came later as part of the GNU/GPL project rules: https://www.gnu.org/licenses/gpl-howto.html

I added a LICENSE.md file as an example of what it would look like merged though I just remembered we can’t call it *.md the LICENSE file needs to exist according to @gedare . We could have both a LICENSE that points to ``LICENSE.md``

For how it looks rendered. Not much can be done about that as we don’t want to change the contents.

Author: Sebastian Huber

2024-07-10T05:28:37.035Z

I like this LICENSE.md approach.

Author: Amar Takhar

2024-07-02T08:08:54.075Z

added 1 commit

  • 07106cc1 - Example LICENSE.md file.

Compare with previous version

Author: Kinsey Moore

2024-07-05T22:29:54.708Z

added 8 commits

  • 07106cc1…89e795a4 - 6 commits from branch rtems/rtos:main

  • d646a27a - Move LICENSE_* files to their own subdirectory.

  • 512b5703 - Example LICENSE.md file.

Compare with previous version

Author: Gedare Bloom

2024-07-10T05:28:37.053Z

resolved all threads

Author: Gedare Bloom

2024-07-11T00:22:36.586Z

Do we need the following text of all the licenses, or can we just link to their new locations in the tree?

Author: Amar Takhar

2024-07-11T00:22:36.586Z

Actually the one file is in response to @sebhub comment. LICENSE.md is all the licenses in one file those are links to the file in the directory see:

It’s the first commit. I like the idea of just having 1 LICENSE.md file as it’s what we’ve got with the rest of our repositories going forward there is no need to have several the link will never change, either and the contents will reflect in the revision of the source.

Author: Gedare Bloom

2024-07-11T00:22:36.586Z

Why keep them also in LICENSE_OTHER?

Author: Amar Takhar

2024-07-11T00:22:44.055Z

I have changed this MR to be the single LICENSE.md

Author: Gedare Bloom

2024-07-11T00:22:08.458Z

Historically, this one was called “RTEMS License”

Author: Amar Takhar

2024-07-11T00:20:32.746Z

changed this line in version 4 of the diff

Author: Amar Takhar

2024-07-11T00:22:08.458Z

I made this change and also killed off the other commit now this is just LICENSE.md.

Author: Gedare Bloom

2024-07-11T00:25:03.128Z

Some of these license we may be able to remove. I would probably have to do more research on that to be sure though. For example, the LICENSE.NET and LICENSE.RPCXDR.

Author: Amar Takhar

2024-07-11T00:25:03.128Z

We can deal with that after I’m trying to convert everything in the root of all repos to MarkDown so it looks clean for the %6.1 release. We can deal with that after the branch.

Author: Amar Takhar

2024-07-11T00:20:32.895Z

added 1 commit

  • 867d5d35 - Convert licenses to a single LICENSE.md file.

Compare with previous version

Author: Amar Takhar

2024-07-11T00:21:41.433Z

changed title from {-Move LICENSE_* files to their own subdirectory-}. to {+Convert licenses to a single LICENSE.md file+}.

Author: Amar Takhar

2024-07-11T00:21:41.457Z

changed the description

Author: Amar Takhar

2024-07-11T00:22:36.613Z

resolved all threads

Author: Amar Takhar

2024-07-11T00:24:18.529Z

added 1 commit

  • 8d863ec5 - Convert licenses to a single LICENSE.md file.

Compare with previous version

Author: Amar Takhar

2024-07-11T00:25:03.151Z

resolved all threads

Author: Kinsey Moore

2024-07-25T23:24:30.458Z

approved this merge request

Author: Kinsey Moore

2024-07-25T23:24:37.672Z

added 33 commits

  • 8d863ec5…07bd3871 - 32 commits from branch rtems/rtos:main

  • 8fd3ed26 - Convert licenses to a single LICENSE.md file.

Compare with previous version

Author: Amar Takhar

2024-07-25T23:57:16.306Z

Oh shoot I deleted the wrong comment mine said ‘pending’ so I copied it but I seem to have deleted @opticron ‘s comment about the mismatched quotes. This is what I said:

Yes those I saw but given they are licenses I was focused just on the conversion if we want to edit them for formatting we can do that after or just leave it as-is since the TOC works.

Author: Joel Sherrill

2024-07-26T00:00:43.889Z

approved this merge request

80 - msdos: update inode during rename

Id

80

State

merged

Merged by

Joel Sherrill

Merged at

2024-07-25T20:13:39.890Z

Assignee(s)

Loris Nardo

Created

2024-06-18T17:46:33.576Z

Updated

2024-07-25T20:32:11.198Z

Milestone

6.1

Labels

filesystem::fat

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/80

Commit

07bd3871ab2c409c836f596a529fde643e4b6210

Summary

msdos: update inode during rename

rename now actively changes the inode of the file being renamed. This change has been done to fix an issue when the file being renamed is already opened before the rename, in particular failing to update the inode number (and the two lookup tables) could cause at least two problems: 1) A new file created in the same source folder of the file being renamed may get the same fat file descriptor of the renamed file 2) An open to the renamed file opens a new fat file descriptor, thus putting out of sync the operations on the file (two distinct fat file descriptor working on the same clusters and entries)

Previously the inode was in any case changed once the file was closed.

Another possible solution would have been to separate the inode number from the lookup table, but this solution would have required much more memory because it needed to keep track of all files seen in the file system up to the last operation and not only the opened ones.

Closes #5044

Author: Amar Takhar

2024-06-18T17:50:27.657Z

assigned to @loris.nardo

Author: Amar Takhar

2024-06-18T17:50:55.069Z

marked this merge request as draft

Author: Amar Takhar

2024-06-18T17:51:42.024Z

Hi there @loris.nardo thank you for the submission. Your merge request has a merge commit in it please rebase your changes instead to remove the merge commit. Thank you!

Author: Loris Nardo

2024-06-18T19:06:33.663Z

added 1 commit

  • 627af88d - msdos: update inode during rename

Compare with previous version

Author: Loris Nardo

2024-06-18T19:07:33.581Z

marked this merge request as ready

Author: Amar Takhar

2024-06-19T05:32:56.655Z

Sorry I just noticed now but can you add the ``Closes #5044``to the commit message at the bottom. This way we can see the issue that the commit is related to in the repo history. Via GitLab is gets lost in the MRs. Thanks!

Author: Loris Nardo

2024-06-19T05:32:56.655Z

I’ve added the line at the end of the commit message

Author: Amar Takhar

2024-06-19T05:32:56.655Z

Sorry that \ wasn’t supposed to be there I thought that’s how you stop it from showing up as a reference. It’s just supposed to be:

See, unfortunately it makes it a reference, sorry for the trouble.

Author: Loris Nardo

2024-06-19T05:32:56.655Z

No problem, it is the first time I’m contributing

Author: Chris Johns

2024-07-25T18:01:17.258Z

Should there be a test case for this?

Author: Sebastian Huber

2024-07-25T18:01:17.258Z

Yes, there should be a test case for this.

Author: Loris Nardo

2024-07-25T18:01:17.258Z

I’ve followed the hint of @chris and added the code in the fsrename test but I’m almost sure that the test is never run on FAT file system, so I’ve added it in spec/build/testsuites/fstests/grp,yml (not committed here) and I have created a file for the test (also not committed), however there are a lot of tests that fails (with or without the changes of the merge request), I can fix some of them but then the issue and the merge request become more broad. This is the list of test cases that fails: * Rename file with directory fails (wrong errno) * Rename directory with file fails (wrong errno) * Rename same file fails * Rename empty directory with another empty directory fails * Rename directory with ancestor directory fails (wrong errno) * Testing empty filepath fails (wrong errno) * Symlinks tests fail, but this is expected because FAT does not handle them * The tests that deal with permissions (I guess also these are expected failures)

Author: Joel Sherrill

2024-07-25T18:01:17.258Z

That’s a long list of challenges. Let’s see if we can narrow them down. Sorry this changes the order but hopefully this is easy to follow.

These are probably just a matter of changing the error return code that is used by dosfs and should be one line changes:

  • Rename file with directory fails (wrong errno)

  • Rename directory with file fails (wrong errno)

  • Rename directory with ancestor directory fails (wrong errno)

  • Testing empty filepath fails (wrong errno)

The following test cases should be split out to a separate executable or moved if there is another test where they could go that is already not run on the dosfs. Somehow they just get included in an executable that makes sense.

  • Symlinks tests fail, but this is expected because FAT does not handle them

  • The tests that deal with permissions (I guess also these are expected failures)

That leaves these which “feel” harder to fix.

  • Rename same file fails

  • Rename empty directory with another empty directory fails

If you can address the first two groups which seems manageable, that leaves the two last rename ones. Any idea what these two need to be checking for? It just seems like these are missing a check.

Disclaimer: I haven’t worked on the dosfs.

Author: Loris Nardo

2024-07-25T18:01:17.258Z

From the last time I’ve written a message here, I’ve checked better the testcases, the issue about the failing test cases is more broad than the FAT file system, it is related to #2169. All the failures are from the _rename_r implementation that evaluates the paths with the exclusive flag, thus failing all the testcases with EEXIST. I have almost completed a proof of concept that should pass all the testcases for the FAT filesystem except for the ones already moved and one related to the EMLINK errno. Right now I have to think on how to check for the case where the old path is an ancestor of the new path.

Still, about the testcases if I run them with rtems-test I see that all are passed even though running them with --log-mode=all shows the FAIL messages, maybe I am missing some points here I am not familiar with the testsuite or the expected results

Author: Joel Sherrill

2024-07-25T18:01:17.258Z

If you have all possible cases passing except those due to #2169, perhaps moving those test cases into their own executable would allow them to be marked as XFAIL with a pointer to #2169. I am more asking than telling. I am just trying to find you an exit point on this issue and have issues filed for any remaining failures.

If #2169 is happening in your application, it still may make sense to wrap up what makes sense here and work on the rename issues under that issue.

Sometimes it is good just to fix a few things and file tickets for the next set. If you can find a clean exit on this issue. I hope that makes sense.

Author: Loris Nardo

2024-07-25T18:01:17.258Z

For our use case #2169 is not important, even if it is not aligned with POSIX it still is a well defined behavior, it is just the reason why the test fails.

I’ve pushed a new commit where I’ve made some changes to the fstests, there are still two testcases missing both inside fsrenamelimits: * One is related to ENAMETOOLONG which on some filesystem (RFS for instance) fails * The other is related to LINK_MAX which fails on some filesystem

Should I make two separate tests? Regarding the expected failures of the test cases I’ve placed the set-test-state inside spec/build/bsps/tst.yml is it the correct place?

Author: Joel Sherrill

2024-07-25T18:01:17.258Z

Sure create separate test for those. File issues.

@opticron @chris Is he doing the test state right?

Author: Kinsey Moore

2024-07-25T18:01:17.258Z

The test state additions look mostly correct. Each section needs a reason and should have a linked issue referenced in that reason as to why the group of tests is failing. That last one has “null” as a reason and that’s especially bad.

Author: Loris Nardo

2024-07-25T18:01:17.258Z

I’ve checked the reason why the tests failed on the “null” group, here is the list: * jffs2fsrenamelongname and jffs2nandfsrenamelongname fails because the rename succeed * rfsfsrenamelongname fails because the limit on the name is mostly related to the block size and in the case of the test the block size is twice the NAME_MAX, however when testing with a filename longer than the block size then the operation fails after having allocated all the blocks to try to find a suitable empty directory (which will never happen) with ENOSPC * *fsrenamemaxlinks I’m not quite sure if the test is valid, it makes an assumption that every file in a directory holds a reference to the folder itself and this counts toward the LINK_MAX value. * mdosfsfsrenamemaxlinks fails because LINK_MAX is set to 5, but FAT cannot have links to files and the number of files a directory can hold depends on how many entries have been used for long file names (rename succeed) * jffs2fsrenamemaxlinks and jffs2nandfsrenamemaxlinks fails because rename succeed * mimfsfsrenamemaxlinks fails because rename succeed, LINK_MAX applies only to linked files and not to the parent directory * mrfsfsrenamemaxlinks fails because rename succeed

Moreover for the *fsrenamemaxlinks I’ve only found IMFS_link that sets the errno to EMLINK. I can add this explaination to the set-test-state

Author: Amar Takhar

2024-07-25T18:01:17.258Z

FYI to the right of the resolve thread button there is another one that says ‘create issue to resolve thread’. That will take the context here into the issue to have a larger discussion and fix there so this one doesn’t get too far out of scope.

Author: Loris Nardo

2024-07-25T18:01:17.258Z

Thanks didn’t notice the button, I was also under the impression that this was going out of scope. I can leave the merge request with just the first two commit, without touching all the fstest cases, and then once merged I can make an issue and a merge request with the changes to the fstest cases (just the third commit). Tell me what is the preferred way

Author: Joel Sherrill

2024-07-25T18:01:17.258Z

I think there is no need to undo things as long as you have filed issues for failure cases and disabled them or set the expected test state for those filesystems.

Cite the issue numbers back to me and I will close this thread and let this proceed.

Author: Loris Nardo

2024-07-25T18:01:17.258Z

@joel I’ve created the issues #5069, #5070 and #5071 to cover the failing test cases, it is missing only the one related to JFFS2 long file name I’m not sure how to proceed for that case, I can create another issue and say that the test case fails and write that it is probably due to JFFS2 not having an hard limit on file names but I’m not sure about it; I tried to search online for some limits of JFFS2 but I’ve not found any.

I’ve updated the reasons for the expected to fail testcases also.

Author: Kinsey Moore

2024-07-25T18:01:17.258Z

Go ahead and create another issue for JFFS2 so that it can be addressed later.

Author: Loris Nardo

2024-07-25T18:01:17.258Z

I’ve created issue #5073, I’ve also rebased the commits and updated the tst.yml with the new issue number

Author: Loris Nardo

2024-06-19T04:44:38.510Z

added 1 commit

  • 076cffae - msdos: update inode during rename

Compare with previous version

Author: Loris Nardo

2024-06-19T05:01:07.933Z

resolved all threads

Author: Loris Nardo

2024-06-19T05:30:18.328Z

added 1 commit

  • 929c85ec - msdos: update inode during rename

Compare with previous version

Author: Loris Nardo

2024-06-19T05:32:56.675Z

resolved all threads

Author: Loris Nardo

2024-06-20T18:49:45.224Z

added 1 commit

  • b4bf1124 - msdos: update inode during rename

Compare with previous version

Author: Loris Nardo

2024-06-20T18:51:53.223Z

added 6 commits

  • b4bf1124…e233b5c1 - 5 commits from branch rtems/rtos:main

  • b10db102 - msdos: update inode during rename

Compare with previous version

Author: Joel Sherrill

2024-06-20T22:47:19.553Z

First, thanks for digging into this and making submissions.

You probably have noticed that the fstests are setup so that the same “test C file” is linked against support for various file systems. The rename test.c is only currently associated with tests for the mimfs (mounted IMFS) and mrfs (mounted RTEMS File System) file systems. The shared “test C files” contain cases that should work on all file systems. In this case, sym links are not supported on FAT file systems. The test C file includes some symlink test cases which really should be in a different test. There is an fssymlink so maybe it can just be moved there. If not, a new “shared test C file” needs to be created and a new set of appropriate executables. Highlights in recap:

  • Shared test sets are (.c -> .o) are used with various file system specific initialisation to create file system specific executables.

  • This allows exactly the same file system test cases to be used on different file systems as appropriate.

  • Sometimes, a file system capability is not universally supported and those cases need to be arranged to be easy to avoid where they are known to be broken. I recall something with access or modify time is also an issue on FAT file systems.

  • For this case, symlink tests should not be attempted on FAT FS tests.

I hope this helps and gives you an idea of how we quickly increased test coverage on file system implementations by reusing the test code as much as possible.

Author: Loris Nardo

2024-06-21T05:44:49.697Z

added 4 commits

  • b10db102…78afce5b - 2 commits from branch rtems/rtos:main

  • 264a7719 - msdos: update inode during rename

  • 377dd643 - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

Compare with previous version

Author: Loris Nardo

2024-06-21T05:48:04.786Z

I’ve moved some test functions over fssymlink and fspermission. The test of fsrename now proceed on FAT, still there are all the other failures but I think that some are common to all the filesystem as rename does not allow the destination file to exists.

If it is fine I’ll resolve the thread

Author: Loris Nardo

2024-06-22T05:18:56.526Z

added 4 commits

  • 377dd643…b48166b9 - 2 commits from branch rtems/rtos:main

  • 2fba48c3 - msdos: update inode during rename

  • 5016aafc - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

Compare with previous version

Author: Loris Nardo

2024-06-22T05:22:46.655Z

added 11 commits

  • 5016aafc…2089f993 - 9 commits from branch rtems/rtos:main

  • 45add48d - msdos: update inode during rename

  • da6f5b48 - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

Compare with previous version

Author: Loris Nardo

2024-06-25T04:18:08.329Z

added 9 commits

  • da6f5b48…cd4b6761 - 7 commits from branch rtems/rtos:main

  • 6db671d5 - msdos: update inode during rename

  • 8b1bcb2b - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

Compare with previous version

Author: Loris Nardo

2024-06-26T05:07:12.094Z

added 6 commits

  • 8b1bcb2b…e5b6fa02 - 4 commits from branch rtems/rtos:main

  • 8e725f7b - msdos: update inode during rename

  • 311e50cf - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

Compare with previous version

Author: Loris Nardo

2024-06-28T04:50:21.162Z

added 3 commits

  • c847f4c1 - 1 commit from branch rtems/rtos:main

  • 5d05994e - msdos: update inode during rename

  • 5eef359e - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

Compare with previous version

Author: Loris Nardo

2024-06-28T19:01:50.181Z

added 3 commits

  • bba5a7a2 - 1 commit from branch rtems/rtos:main

  • 309b154a - msdos: update inode during rename

  • 736aca02 - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

Compare with previous version

Author: Loris Nardo

2024-07-06T04:21:21.369Z

added 9 commits

  • 736aca02…89e795a4 - 6 commits from branch rtems/rtos:main

  • 3d75cc84 - msdos: update inode during rename

  • 666a4490 - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • f31bc350 - testsuite: Allow finer control on the fstest result

Compare with previous version

Author: Loris Nardo

2024-07-06T16:47:49.616Z

added 3 commits

  • 1bcf11cb - msdos: update inode during rename

  • b368a40d - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • 4ece3187 - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Loris Nardo

2024-07-10T04:47:58.768Z

added 13 commits

  • 4ece3187…be8aa9b0 - 10 commits from branch rtems/rtos:main

  • b0a9679a - msdos: update inode during rename

  • 4857a3de - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • 043bbf1f - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Amar Takhar

2024-07-18T18:47:42.081Z

See #5069 and #5070

Author: Amar Takhar

2024-07-19T03:51:09.729Z

mentioned in issue #5071

Author: Loris Nardo

2024-07-19T04:06:11.483Z

added 9 commits

  • 043bbf1f…5c5b4b83 - 6 commits from branch rtems/rtos:main

  • 1cca7504 - msdos: update inode during rename

  • 0f196606 - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • cab439a3 - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Loris Nardo

2024-07-19T04:13:57.055Z

added 1 commit

  • 4c7815fb - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Loris Nardo

2024-07-20T06:57:49.838Z

added 6 commits

  • 4c7815fb…7333afe0 - 3 commits from branch rtems/rtos:main

  • 8eb21c4f - msdos: update inode during rename

  • 14175d53 - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • 7e78d615 - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Loris Nardo

2024-07-25T16:32:53.993Z

mentioned in issue #5073

Author: Loris Nardo

2024-07-25T16:38:17.713Z

added 6 commits

  • 7e78d615…43fd756f - 3 commits from branch rtems/rtos:main

  • 96a75c74 - msdos: update inode during rename

  • 6771600c - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • 1252b97f - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Joel Sherrill

2024-07-25T18:01:17.280Z

resolved all threads

Author: Kinsey Moore

2024-07-25T18:22:50.209Z

added 4 commits

  • 1fe3d396 - 1 commit from branch rtems/rtos:main

  • a558c96c - msdos: update inode during rename

  • d7d1bec4 - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • 9c21a128 - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Joel Sherrill

2024-07-25T19:07:50.018Z

approved this merge request

Author: Kinsey Moore

2024-07-25T20:10:10.875Z

These added lines should be removed.

Author: Loris Nardo

2024-07-25T20:09:29.025Z

changed this line in version 24 of the diff

Author: Kinsey Moore

2024-07-25T20:10:42.245Z

These control flow statements should use braces.

Author: Kinsey Moore

2024-07-25T20:10:50.018Z

This should be a blank line.

Author: Loris Nardo

2024-07-25T20:09:30.133Z

changed this line in version 24 of the diff

Author: Kinsey Moore

2024-07-25T20:11:04.868Z

Remove this line.

Author: Loris Nardo

2024-07-25T20:09:30.592Z

changed this line in version 24 of the diff

Author: Kinsey Moore

2024-07-25T20:10:17.690Z

This needs braces.

Author: Kinsey Moore

2024-07-25T20:10:27.811Z

Braces.

Author: Kinsey Moore

2024-07-25T20:10:33.252Z

Braces, look for this elsewhere.

Author: Kinsey Moore

2024-07-25T19:23:28.378Z

requested changes

Author: Loris Nardo

2024-07-25T19:30:32.569Z

added 4 commits

  • 96a75c74 - msdos: update inode during rename

  • 6771600c - testsuites: Move some testcases of fsrename into fspermission and fssymlink so…

  • 1252b97f - testsuites: Allow finer control on the fstest result

  • 43cfe28c - Merge branch ‘fat32-open-after-rename’ of…

Compare with previous version

Author: Loris Nardo

2024-07-25T19:49:26.327Z

added 1 commit

  • 3efd6a4f - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Loris Nardo

2024-07-25T20:09:31.352Z

added 1 commit

  • 07bd3871 - testsuites: Allow finer control on the fstest result

Compare with previous version

Author: Loris Nardo

2024-07-25T20:09:45.576Z

reset approvals from @joel by pushing to the branch

Author: Loris Nardo

2024-07-25T20:11:04.895Z

resolved all threads

Author: Kinsey Moore

2024-07-25T20:12:09.279Z

approved this merge request

Author: Joel Sherrill

2024-07-25T20:12:50.771Z

approved this merge request

Author: Amar Takhar

2024-07-25T20:32:11.171Z

Great to see this merged thanks @loris.nardo and everyone else who helped!

125 - testsuite/libiofdopen: Add missing spec file

Id

125

State

merged

Merged by

Amar Takhar

Merged at

2024-07-25T04:31:18.907Z

Assignee(s)

Chris Johns

Created

2024-07-25T02:35:21.564Z

Updated

2024-07-25T04:31:21.119Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/125

Commit

43fd756f6d4432273ae785b89b9ebbd5dea86449

The MR !117 did not have the spec file. This MR adds the missing file.

Sorry about the breakage

Author: Chris Johns

2024-07-25T02:35:21.741Z

assigned to @chris

Author: Amar Takhar

2024-07-25T02:42:42.779Z

approved this merge request

Author: Joel Sherrill

2024-07-25T04:21:23.391Z

approved this merge request

117 - libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors

Id

117

State

merged

Merged by

Amar Takhar

Merged at

2024-07-24T03:23:32.592Z

Assignee(s)

Chris Johns

Created

2024-07-16T06:15:23.364Z

Updated

2024-07-25T02:35:24.992Z

Milestone

6.1

Labels

cpukit

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/117

Commit

e58ff8984c2082a627da486ae784c8af9ab52f4c

Summary

Add rtems_libio_count_open_iops to return open descriptors. This call moved code that accesses internal structs from EPICS’s iocStats module.

Close #5063

Author: Chris Johns

2024-07-16T06:15:23.522Z

assigned to @chris

Author: Gedare Bloom

2024-07-18T02:36:47.812Z

The name seems wrong/confusing, as there are several rtems_libio_iop_xxx( *iop ) functions that manipulate iops. Perhaps rtems_libio_count_open_iops or rtems_libio_count_open_descriptors?

Author: Chris Johns

2024-07-18T02:36:47.812Z

Yeah sure, please choose one?

Author: Chris Johns

2024-07-18T02:36:47.812Z

I will change to rtems_libio_count_open_iops

Author: Chris Johns

2024-07-18T03:23:17.218Z

changed this line in version 2 of the diff

Author: Gedare Bloom

2024-07-18T02:33:37.236Z

Return type is questionable: size_t should only be used for something in the units of bytes.

Author: Chris Johns

2024-07-18T02:33:37.236Z

The reference here https://en.cppreference.com/w/cpp/types/size_t says it is:

the maximum size of a theoretically possible object of any type (including array)

so I am not sure your comment about bytes is right? Ah it says “size”.

So what type would you prefer be used?

Author: Chris Johns

2024-07-18T02:33:37.236Z

I will use int

Author: Chris Johns

2024-07-18T03:23:17.823Z

changed this line in version 2 of the diff

Author: Gedare Bloom

2024-07-18T02:40:01.964Z

ditto

Author: Chris Johns

2024-07-18T02:40:01.964Z

Is this about the size_t? I suppose it makes sense but the list in the MR overview makes it harder to track.

Author: Chris Johns

2024-07-18T02:40:01.964Z

Changed to int.

Author: Chris Johns

2024-07-18T03:23:18.545Z

changed this line in version 2 of the diff

Author: Gedare Bloom

2024-07-18T02:39:45.571Z

ditto

Author: Chris Johns

2024-07-18T02:39:45.571Z

Sorry, what is this in relation to?

Author: Chris Johns

2024-07-18T02:39:45.571Z

Fixed.

Author: Chris Johns

2024-07-18T03:23:19.269Z

changed this line in version 2 of the diff

Author: Gedare Bloom

2024-07-18T02:39:28.893Z

avoid unnecessary printf in tests

Author: Chris Johns

2024-07-18T02:39:28.893Z

I was not aware of this. It can be removed.

BSPs can have different numbers of fd open.

Author: Chris Johns

2024-07-18T02:39:28.893Z

Print removed.

Author: Chris Johns

2024-07-18T03:23:19.856Z

changed this line in version 2 of the diff

Author: Gedare Bloom

2024-07-17T20:46:21.427Z

requested changes

Author: Chris Johns

2024-07-18T02:40:01.991Z

resolved all threads

Author: Chris Johns

2024-07-18T02:41:20.636Z

changed title from libcsupport/libio: Add rtems_libio_{-iop_descriptors_open-} to return open descriptors to libcsupport/libio: Add rtems_libio_{+count_open_iops+} to return open descriptors

Author: Chris Johns

2024-07-18T02:41:20.660Z

changed the description

Author: Chris Johns

2024-07-18T03:23:20.076Z

added 6 commits

  • 36c014a1…5c5b4b83 - 5 commits from branch rtems/rtos:main

  • 5a685bf6 - libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors

Compare with previous version

Author: Chris Johns

2024-07-18T03:24:48.282Z

added 1 commit

  • e95201a2 - libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors

Compare with previous version

Author: Chris Johns

2024-07-18T03:26:12.203Z

added 1 commit

  • 243418c9 - libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors

Compare with previous version

Author: Gedare Bloom

2024-07-24T03:18:26.234Z

approved this merge request

Author: Amar Takhar

2024-07-24T03:23:10.395Z

added 4 commits

  • 243418c9…7333afe0 - 3 commits from branch rtems/rtos:main

  • e58ff898 - libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors

Compare with previous version

Author: Amar Takhar

2024-07-24T03:23:27.611Z

approved this merge request

Author: Chris Johns

2024-07-25T02:35:24.837Z

mentioned in merge request !125

116 - libcsupport/getrusage: Return task and idle time using getrusage

Id

116

State

merged

Merged by

Amar Takhar

Merged at

2024-07-18T00:11:22.458Z

Assignee(s)

Chris Johns

Created

2024-07-16T05:42:13.766Z

Updated

2024-07-18T04:57:24.741Z

Milestone

6.1

Labels

cpukit

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/116

Commit

cc034e7d2ffe330b2a45e5ca65254fea108960a8

Return task and idle time using getrusage. This has been tested with an updated iocStats.

Add support for RUSAGE_THREAD if the user builds with the _GNU_SOURCE macro defined.

Close #5062

Author: Chris Johns

2024-07-16T05:42:13.949Z

assigned to @chris

Author: Chris Johns

2024-07-16T05:42:29.179Z

added 2 commits

  • 26b95e14 - 1 commit from branch rtems/rtos:main

  • f0bb64e2 - libcsupport/getrusage: Return task and idle time using getrusage

Compare with previous version

Author: Gedare Bloom

2024-07-17T20:33:27.624Z

Please submit a doc MR

Author: Gedare Bloom

2024-07-17T20:33:30.287Z

approved this merge request

Author: Amar Takhar

2024-07-18T00:11:12.431Z

added 4 commits

  • f0bb64e2…174b69af - 3 commits from branch rtems/rtos:main

  • cc034e7d - libcsupport/getrusage: Return task and idle time using getrusage

Compare with previous version

Author: Amar Takhar

2024-07-18T00:11:19.268Z

approved this merge request

Author: Chris Johns

2024-07-18T04:57:24.717Z

mentioned in merge request rtems/docs/rtems-docs!31

111 - libtests/dl*: Make build reproducible

Id

111

State

merged

Merged by

Amar Takhar

Merged at

2024-07-18T00:12:24.662Z

Assignee(s)

Sebastian Huber

Created

2024-07-09T08:57:23.852Z

Updated

2024-07-18T00:12:26.855Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/111

Commit

5c5b4b832b1399f72512317ce18b97fb19067ec4

Summary

libtests/dl*: Make build reproducible

Do not use a temporary file to create the symbol map.

Close #4941.

This change depends on https://gitlab.rtems.org/rtems/tools/rtems-tools/-/merge_requests/17 and https://gitlab.rtems.org/rtems/tools/rtems-source-builder/-/merge_requests/36.

Author: Sebastian Huber

2024-07-09T08:57:23.973Z

assigned to @sebhub

Author: Sebastian Huber

2024-07-09T08:59:07.518Z

marked this merge request as draft

Author: Sebastian Huber

2024-07-09T08:59:07.541Z

changed the description

Author: Sebastian Huber

2024-07-11T05:37:25.725Z

marked this merge request as ready

Author: Sebastian Huber

2024-07-11T05:37:25.746Z

changed the description

Author: Sebastian Huber

2024-07-11T05:37:35.360Z

added 9 commits

  • 58d03deb…26b95e14 - 8 commits from branch rtems/rtos:main

  • ddb8a85c - libtests/dl*: Make build reproducible

Compare with previous version

Author: Gedare Bloom

2024-07-17T20:31:24.936Z

approved this merge request

Author: Amar Takhar

2024-07-18T00:12:06.099Z

added 5 commits

  • ddb8a85c…cc034e7d - 4 commits from branch rtems/rtos:main

  • 5c5b4b83 - libtests/dl*: Make build reproducible

Compare with previous version

Author: Amar Takhar

2024-07-18T00:12:21.538Z

approved this merge request

114 - cpukit/shell: Account for tick rate in timeouts

Id

114

State

merged

Merged by

Amar Takhar

Merged at

2024-07-18T00:10:33.042Z

Assignee(s)

Kinsey Moore

Reviewer(s)

Chris Johns

Created

2024-07-12T02:38:47.636Z

Updated

2024-07-18T00:10:35.196Z

Milestone

6.1

Labels

cpukit, cpukit::misc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/114

Commit

174b69afd6f2e2220620ffd572025ca2291cf533

Summary

cpukit/shell: Account for tick rate in timeouts

On systems that don’t provide a proper terminal or have broken window size detection, the RTEMS shell can take a long time execute commands if the kernel tick interval is longer than 1ms. This updates the shell window size retrieval timeout code to account for the kernel tick interval bringing the experienced timeout from 12.5ms to 1.25ms when using the default kernel tick interval (10ms).

Author: Kinsey Moore

2024-07-12T02:38:48.237Z

assigned to @opticron

Author: Chris Johns

2024-07-12T13:04:30.457Z

I would move this into a static function so the logic can be shared between here and below.

Does the time cal need a +1 if the time is less than the tick period?

Author: Kinsey Moore

2024-07-12T13:04:30.457Z

Sounds appropriate, I’ll make sure the timeout is at minimum 1 tick.

Author: Kinsey Moore

2024-07-12T13:04:25.009Z

changed this line in version 2 of the diff

Author: Chris Johns

2024-07-12T19:42:13.646Z

I think adding TERM_SIZE_DETECT or something like that would be a good idea. If you do not want to do this I can add an MR after.

Author: Kinsey Moore

2024-07-12T19:42:13.646Z

It has been added in the second patch along with functionality to automatically disable window size retrieval on failure.

Author: Chris Johns

2024-07-12T03:36:20.255Z

requested changes

Author: Kinsey Moore

2024-07-12T13:04:25.266Z

added 1 commit

  • 67865228 - cpukit/shell: Account for tick rate in timeouts

Compare with previous version

Author: Kinsey Moore

2024-07-12T13:04:30.478Z

resolved all threads

Author: Kinsey Moore

2024-07-12T13:32:51.133Z

added 1 commit

  • d319b25e - cpukit/shell: Add window size retrieval control

Compare with previous version

Author: Kinsey Moore

2024-07-12T19:42:13.665Z

resolved all threads

Author: Kinsey Moore

2024-07-12T19:42:46.924Z

requested review from @chris

Author: Gedare Bloom

2024-07-17T20:25:19.355Z

approved this merge request

Author: Amar Takhar

2024-07-18T00:10:19.977Z

added 3 commits

  • 1dd384bb - 1 commit from branch rtems/rtos:main

  • 8eb4932b - cpukit/shell: Account for tick rate in timeouts

  • 174b69af - cpukit/shell: Add window size retrieval control

Compare with previous version

Author: Amar Takhar

2024-07-18T00:10:28.972Z

approved this merge request

112 - x: Remove junk file

Id

112

State

merged

Merged by

Chris Johns

Merged at

2024-07-09T20:47:23.461Z

Assignee(s)

Joel Sherrill

Created

2024-07-09T20:40:48.058Z

Updated

2024-07-09T20:47:25.423Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/112

Commit

34485ccd92b793476f381a26a7e91661e60c9e65

This file never should have been pushed.

Author: Joel Sherrill

2024-07-09T20:40:48.228Z

assigned to @joel

Author: Joel Sherrill

2024-07-09T20:42:09.078Z

added 6 commits

  • 7e30810d…6d65f2cf - 5 commits from branch rtems/rtos:main

  • 34485ccd - x: Remove junk file

Compare with previous version

Author: Gedare Bloom

2024-07-09T20:46:10.069Z

approved this merge request

Author: Chris Johns

2024-07-09T20:47:19.300Z

approved this merge request

99 - validation: Fix bad thread dispatch validation

Id

99

State

merged

Merged by

Kinsey Moore

Merged at

2024-07-05T21:16:53.731Z

Assignee(s)

Sebastian Huber

Created

2024-06-28T05:49:47.783Z

Updated

2024-07-05T21:16:56.054Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/99

Commit

89e795a42a534a7ddae702a2fb0e1a64a6e7ae7f

Summary

validation: Fix bad thread dispatch validation

Where the robust thread dispatching is disabled, the ISRDisabledOnDemandThreadDispatchTask() has to exit.

Update #3716.

Author: Sebastian Huber

2024-06-28T05:49:47.897Z

assigned to @sebhub

Author: Sebastian Huber

2024-06-28T05:52:28.724Z

added 1 commit

  • df111abc - validation: Fix bad thread dispatch validation

Compare with previous version

Author: Sebastian Huber

2024-06-28T05:54:30.401Z

changed the description

Author: Gedare Bloom

2024-07-05T20:58:06.035Z

approved this merge request

Author: Kinsey Moore

2024-07-05T21:16:07.331Z

added 7 commits

  • df111abc…58748a3a - 6 commits from branch rtems/rtos:main

  • 89e795a4 - validation: Fix bad thread dispatch validation

Compare with previous version

Author: Kinsey Moore

2024-07-05T21:16:49.484Z

approved this merge request

64 - dev/pl011: Fix incorrect macro definition

Id

64

State

merged

Merged by

Amar Takhar

Merged at

2024-06-13T19:54:54.912Z

Created

2024-06-07T14:44:14.282Z

Updated

2024-07-05T03:57:32.011Z

Milestone

6.1

Labels

library

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/64

Commit

2d5a85f7d270aa669c922ab08def9287aaf80c38

I checked the pl011 datasheet and it is a bug. #5036

Author: Ning Yang

2024-06-10T03:28:08.665Z

mentioned in merge request !47

Author: Gedare Bloom

2024-06-11T13:46:59.349Z

Please open an Issue for this, and close it in the commit message.

Author: Ning Yang

2024-06-11T13:46:59.349Z

Done.

Author: Gedare Bloom

2024-06-10T17:41:29.128Z

This bug exists on release branches.

Author: Ning Yang

2024-06-11T13:45:59.107Z

added 1 commit

  • 2f3ec98b - dev/pl011: Fix incorrect macro definition

Compare with previous version

Author: Ning Yang

2024-06-11T13:46:35.880Z

changed the description

Author: Ning Yang

2024-06-11T13:46:59.365Z

resolved all threads

Author: Kinsey Moore

2024-06-11T14:12:22.256Z

added 35 commits

  • 2f3ec98b…28c7475b - 34 commits from branch rtems/rtos:main

  • 53e61255 - dev/pl011: Fix incorrect macro definition

Compare with previous version

Author: Kinsey Moore

2024-06-12T22:25:28.587Z

added 4 commits

  • 53e61255…20939b21 - 3 commits from branch rtems/rtos:main

  • a8517c7c - dev/pl011: Fix incorrect macro definition

Compare with previous version

Author: Kinsey Moore

2024-06-12T22:33:12.297Z

approved this merge request

Author: Kinsey Moore

2024-06-13T12:41:52.902Z

added 2 commits

  • 1d997f33 - 1 commit from branch rtems/rtos:main

  • 3cfeed72 - dev/pl011: Fix incorrect macro definition

Compare with previous version

Author: Amar Takhar

2024-06-13T19:54:22.628Z

added 8 commits

  • 3cfeed72…d773df1d - 7 commits from branch rtems/rtos:main

  • 2d5a85f7 - dev/pl011: Fix incorrect macro definition

Compare with previous version

Author: Amar Takhar

2024-06-13T19:54:45.390Z

approved this merge request

Author: Ning Yang

2024-07-05T03:57:31.837Z

29 - bsps/aarch64/a72: Avoid use of reserved INTIDs

Id

29

State

merged

Merged by

Chris Johns

Merged at

2024-05-21T23:26:57.217Z

Assignee(s)

Kinsey Moore

Reviewer(s)

Sebastian Huber

Created

2024-05-09T14:06:10.190Z

Updated

2024-07-05T03:57:31.484Z

Milestone

6.1

Labels

arch:aarch64

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/29

Commit

f0944277080c62f8a3ff1d5660b4c3e775e9be9c

Summary

bsps/aarch64/a72: Avoid use of reserved INTIDs

Interrupt IDs 1020, 1021, 1022, and 1023 are reserved as special INTIDs and should be ignored for normal RTEMS operation as they signal internal changes in the interrupt controller that RTEMS itself is directly causing.

Author: Kinsey Moore

2024-05-09T14:06:10.308Z

requested review from @sebhub

Author: Kinsey Moore

2024-05-09T14:06:10.334Z

assigned to @opticron

Author: Joel Sherrill

2024-05-09T16:35:10.586Z

I am ok with this change pending confirmation that it solves the problem

Author: Ning Yang

2024-05-09T16:22:33.274Z

it fixes my issue. Thanks!

Author: Kinsey Moore

2024-05-09T16:35:10.604Z

resolved all threads

Author: Sebastian Huber

2024-05-12T19:26:57.758Z

I think we should also add something like this to arm-gicv3.c similar to arm-gicv2.c:

diff --git a/bsps/shared/dev/irq/arm-gicv3.c b/bsps/shared/dev/irq/arm-gicv3.c
index dcfada6cd0..60801e6c50 100644
--- a/bsps/shared/dev/irq/arm-gicv3.c
+++ b/bsps/shared/dev/irq/arm-gicv3.c
@@ -40,6 +40,14 @@
#include <bsp/start.h>
#include <rtems/score/processormaskimpl.h>

+/*
+ * The GIC architecture reserves interrupt ID numbers 1020 to 1023 for special
+ * purposes.
+ */
+#if BSP_INTERRUPT_VECTOR_COUNT >= 1020
+#error "BSP_INTERRUPT_VECTOR_COUNT is too large"
+#endif
+
void bsp_interrupt_dispatch(void)
{
while (true) {

Author: Kinsey Moore

2024-05-12T19:26:57.758Z

I have added a patch with updated commentary and limits that accomplishes this.

Author: Kinsey Moore

2024-05-11T21:11:41.279Z

added 12 commits

  • ae48e176…ab8817ca - 11 commits from branch rtems/rtos:main

  • 97a529dd - Merge branch rtems:main into a72-intid-fix

Compare with previous version

Author: Kinsey Moore

2024-05-11T21:18:49.325Z

added 2 commits

  • 3da97d79 - bsps/aarch64/a72: Avoid use of reserved INTIDs

  • 37874902 - bsps/shared/gicv3: Validate BSP vector count

Compare with previous version

Author: Kinsey Moore

2024-05-12T19:26:57.777Z

resolved all threads

Author: Sebastian Huber

2024-05-13T13:11:06.155Z

Looks good, however, I can’t approve or merge it.

Author: Amar Takhar

2024-05-14T22:23:04.948Z

Closing this to test if approvals change. I will re-open

Author: Gedare Bloom

2024-05-15T22:13:35.529Z

approved this merge request

Author: Kinsey Moore

2024-05-18T13:44:59.975Z

added 6 commits

  • 37874902…d4923b09 - 4 commits from branch rtems/rtos:main

  • bf47ce7a - bsps/aarch64/a72: Avoid use of reserved INTIDs

  • d6622547 - bsps/shared/gicv3: Validate BSP vector count

Compare with previous version

Author: Kinsey Moore

2024-05-21T17:38:05.648Z

added 4 commits

  • d6622547…79b385c8 - 2 commits from branch rtems/rtos:main

  • d2195cb0 - bsps/aarch64/a72: Avoid use of reserved INTIDs

  • 0d6e07c6 - bsps/shared/gicv3: Validate BSP vector count

Compare with previous version

Author: Kinsey Moore

2024-05-21T20:17:09.857Z

added 3 commits

  • cfb9f96c - 1 commit from branch rtems/rtos:main

  • 1997c3d1 - bsps/aarch64/a72: Avoid use of reserved INTIDs

  • c942e9d8 - bsps/shared/gicv3: Validate BSP vector count

Compare with previous version

Author: Chris Johns

2024-05-21T23:26:33.906Z

approved this merge request

Author: Chris Johns

2024-05-21T23:26:39.660Z

added 4 commits

  • c942e9d8…7eb3ef09 - 2 commits from branch rtems/rtos:main

  • ba1f92fc - bsps/aarch64/a72: Avoid use of reserved INTIDs

  • f0944277 - bsps/shared/gicv3: Validate BSP vector count

Compare with previous version

Author: Ning Yang

2024-07-05T03:57:31.406Z

25 - testsuites/libtest/dl12: add DL test for incrementally linked objects

Id

25

State

merged

Merged by

Amar Takhar

Merged at

2024-06-21T03:31:44.724Z

Reviewer(s)

Chris Johns

Created

2024-05-07T21:32:59.337Z

Updated

2024-06-25T13:26:01.093Z

Milestone

6.1

Labels

cpukit::dl, rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/25

Commit

78afce5bf297a42809553c4845f7c84598557a72

Summary

testsuites/libtest/dl12: add DL test for incrementally linked objects

This commit adds a test to validate the incremental linking functionality in RTL. The test is related to issue #3740.

Author: Ranulfo Raphael

2024-05-07T21:44:05.612Z

mentioned in merge request !19

Author: Kinsey Moore

2024-05-07T23:47:42.357Z

added 2 commits

  • 40ddcf95 - 1 commit from branch rtems/rtos:main

  • 72ae9c8e - testsuites/libtest/dl12: add DL test for incrementally linked objects

Compare with previous version

Author: Ranulfo Raphael

2024-05-17T01:11:20.125Z

@chris this merge request is the same as !19. I closed that due the issue of a merge commit on the main branch and opened it in a new fork.

Author: Kinsey Moore

2024-05-17T14:19:32.644Z

added 13 commits

  • 72ae9c8e…ab8817ca - 12 commits from branch rtems/rtos:main

  • 6e4fb7ac - testsuites/libtest/dl12: add DL test for incrementally linked objects

Compare with previous version

Author: Chris Johns

2024-05-22T02:03:20.137Z

requested review from @chris

Author: Chris Johns

2024-05-22T02:03:50.822Z

added 15 commits

  • 6e4fb7ac…e74cea41 - 14 commits from branch rtems/rtos:main

  • 4161be5d - testsuites/libtest/dl12: add DL test for incrementally linked objects

Compare with previous version

Author: Chris Johns

2024-05-26T00:02:29.780Z

I have this MR in my queue to look at for %6.1

Author: Kinsey Moore

2024-06-12T22:17:30.195Z

added 48 commits

  • 4161be5d…20939b21 - 47 commits from branch rtems/rtos:main

  • c8539d21 - testsuites/libtest/dl12: add DL test for incrementally linked objects

Compare with previous version

Author: Kinsey Moore

2024-06-12T22:20:51.281Z

Please limit your commit subject line to 50 characters. This might be a better formulation: testsuites/libtest: Add DL incremental link test

Author: Kinsey Moore

2024-06-13T12:34:43.775Z

This copyright is not accurate and needs to be replaced.

Author: Ranulfo Raphael

2024-06-13T12:34:43.775Z

The copyrights came from another dl test on which this test case was based. Would it be better to append a new copyright message or replace it?

Author: Kinsey Moore

2024-06-13T12:34:43.775Z

If the majority of the copied content is boilerplate that the project requires, then you should assert your own copyright. Otherwise, you should add your own since presumably it’s not an exact copy. For exact copies, you could reference the original or leave the copyright intact in the copy.

Author: Ranulfo Raphael

2024-06-13T11:37:49.028Z

changed this line in version 6 of the diff

Author: Kinsey Moore

2024-06-13T12:34:21.173Z

These copyrights are not accurate. All .c and .h files need to be reviewed to ensure correct copyright information.

Author: Kinsey Moore

2024-06-12T22:24:56.010Z

requested changes

Author: Ranulfo Raphael

2024-06-12T22:38:54.801Z

changed title from testsuites/libtest{-/dl12-}: {-a-}dd DL {-test for -}incremental{-ly-} link{-ed objects-} to testsuites/libtest: {+A+}dd DL incremental link{+ test+}

Author: Kinsey Moore

2024-06-13T12:33:32.895Z

You need to change the subject of the commit itself, not the MR.

Author: Ranulfo Raphael

2024-06-13T11:37:49.570Z

added 1 commit

  • cb84b6ba - testsuites/libtest: Add DL incremental link test

Compare with previous version

Author: Ranulfo Raphael

2024-06-13T11:52:14.950Z

changed title from testsuites/libtest: {-A-}dd DL incremental link{- test-} to testsuites/libtest{+/dl12+}: {+a+}dd DL {+test for +}incremental{+ly+} link{+ed objects+}

Author: Kinsey Moore

2024-06-13T12:34:39.316Z

added 2 commits

  • 1d997f33 - 1 commit from branch rtems/rtos:main

  • 84004be8 - testsuites/libtest: Add DL incremental link test

Compare with previous version

Author: Kinsey Moore

2024-06-13T12:34:43.792Z

resolved all threads

Author: Kinsey Moore

2024-06-13T22:35:58.269Z

added 9 commits

  • 84004be8…2d5a85f7 - 8 commits from branch rtems/rtos:main

  • 9f3b9129 - testsuites/libtest: Add DL incremental link test

Compare with previous version

Author: Kinsey Moore

2024-06-14T15:25:50.353Z

approved this merge request

Author: Kinsey Moore

2024-06-14T15:25:55.386Z

added 3 commits

  • 9f3b9129…0951e4e6 - 2 commits from branch rtems/rtos:main

  • d5558903 - testsuites/libtest: Add DL incremental link test

Compare with previous version

Author: Kinsey Moore

2024-06-14T21:30:20.443Z

added 2 commits

  • 20a663cc - 1 commit from branch rtems/rtos:main

  • 190f5c59 - testsuites/libtest: Add DL incremental link test

Compare with previous version

Author: Kinsey Moore

2024-06-18T01:49:36.607Z

added 4 commits

  • 190f5c59…7f2b904d - 3 commits from branch rtems/rtos:main

  • 3647c0ec - testsuites/libtest: Add DL incremental link test

Compare with previous version

Author: Amar Takhar

2024-06-21T03:31:33.346Z

added 8 commits

  • 3647c0ec…dff15a82 - 7 commits from branch rtems/rtos:main

  • 78afce5b - testsuites/libtest: Add DL incremental link test

Compare with previous version

Author: Amar Takhar

2024-06-21T03:31:41.272Z

approved this merge request

Author: Amar Takhar

2024-06-21T06:02:53.265Z

FYI for anyone else: @chris was a reviewer on this but it wasn’t set as draft I didn’t notice. I am working on a way to block MRs from happening if all the reviewers haven’t approved it.

Author: Amar Takhar

2024-06-21T06:26:57.180Z

This is the issue to track the status check to stop this from happening: https://gitlab.rtems.org/administration/gitlab/-/issues/61

Author: Amar Takhar

2024-06-21T19:46:33.628Z

mentioned in issue administration/gitlab#61

Author: Sebastian Huber

2024-06-24T19:11:54.119Z

This causes a build error for the arm/tms570lc4357_hdk_sdram BSP:

/opt/rtems-6-tms570-1/bin/arm-rtems6-ld: testsuites/libtests/dl12/dl12-o1.o: compiled for a big endian system and target is little endian
/opt/rtems-6-tms570-1/bin/arm-rtems6-ld: failed to merge target specific data of file testsuites/libtests/dl12/dl12-o1.o
/opt/rtems-6-tms570-1/bin/arm-rtems6-ld: testsuites/libtests/dl12/dl12-o2.o: compiled for a big endian system and target is little endian
/opt/rtems-6-tms570-1/bin/arm-rtems6-ld: failed to merge target specific data of file testsuites/libtests/dl12/dl12-o2.o

Author: Ranulfo Raphael

2024-06-24T21:40:36.031Z

mentioned in issue #5053

Author: Sebastian Huber

2024-06-25T13:24:29.629Z

On which BSP was this tested? With the fix from !92, the test fails on the arm/tms570lc4357_hdk_sdram BSP with an out of memory error:

rtl: rel tramp: sym: G:_RTEMS_tasks_Information(455)=80028b54 type:2 off:000000dc'
rtl: rel tramp: sym: G:rtems_libio_iop_free_head(531)=80029e08 type:2 off:000000f8'
rtl: rel tramp: sym: G:WorkAreaBase(400)=8002b8c0 type:2 off:000000fc'
rtl: rel tramp: sym: G:WorkAreaBase(400)=8002b8c0 type:2 off:00000100'
rtl: rel tramp: sym: G:RamEnd(370)=80800000 type:2 off:00000104'
rtl: alloc: lock'
rtl: alloc: new: READ_WRITE addr=0x80038468 size=268'
rtl: alloc: new: READ_WRITE addr=0 size=8380257'

The RAM size is 8MiB on this target.

Author: Ranulfo Raphael

2024-06-25T13:24:29.592Z

I think I answered that on https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/92#note_108044

Author: Sebastian Huber

2024-06-25T13:26:01.068Z

Ok, thanks. Then !91 is the way to go.

44 - bsps/arm: Fix L2C-310 cache disable

Id

44

State

merged

Merged by

Amar Takhar

Merged at

2024-06-25T03:59:05.226Z

Created

2024-05-22T15:51:02.686Z

Updated

2024-06-25T03:59:07.787Z

Milestone

6.1

Labels

arch:arm

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/44

Commit

c4c3e687903dccbb3679e3bd5babb87b95c507dc

Summary

bsps/arm: Fix L2C-310 cache disable

For the rtems_cache_disable_instruction(), just disable the L1 instruction cache and keep the L2 cache enabled. In SMP configurations, disable the L1 instruction cache on all online processors.

For the rtems_cache_disable_data(), disable the L1 data cache in assembly to make sure that no memory accesses are used in the procedure. In SMP configurations, disable the L1 data cache on all online processors and make sure that the L2 cache is flushed and disabled by exactly one processor at the right time.

Author: Sebastian Huber

2024-05-22T15:56:45.726Z

added 2 commits

  • 848bcef7 - score: Add _SMP_barrier_Wait_for_all_other()

  • b47df27c - bsps/arm: Fix L2C-310 cache disable

Compare with previous version

Author: Sebastian Huber

2024-05-23T10:03:08.831Z

This version still depends on code optimizations.

Author: Chris Johns

2024-05-23T22:22:50.967Z

One of the commit messages says:

For the rtems_cache_disable_instruction(), just disable the L1 instruction cache and keep the L2 cache enabled. In SMP configurations, disable the L1 instruction cache on all online processors.

Why does SMP need to disable L1? If there is a reason it would be good to explain this in the commit message and the code.

Author: Gedare Bloom

2024-06-24T16:37:44.049Z

mixing tabs and spaces

Author: Sebastian Huber

2024-06-24T06:32:56.856Z

changed this line in version 3 of the diff

Author: Gedare Bloom

2024-05-31T19:58:41.948Z

Somewhat of a historical question maybe, but should there be an arm/shared/cache/cache-l2c-310.h or similar?

Author: Sebastian Huber

2024-05-31T19:58:41.948Z

No, this is an internal function which needs to be implemented in assembly. In general, there is no reusable API here.

Author: Sebastian Huber

2024-06-24T06:32:57.640Z

changed this line in version 3 of the diff

Author: Gedare Bloom

2024-05-31T20:00:10.718Z

This belongs in its own MR first, with test case and documentation added. It is a new (internal) API. There should be an Issue to track it.

Author: Sebastian Huber

2024-05-31T20:00:10.718Z

This is an internal function, the Doxygen documentation is all what you get. I moved it to !46. There is no specific SMP barrier test, so adding a test case for this function exceeds my time budget for this work.

Author: Sebastian Huber

2024-06-24T06:32:58.409Z

changed this line in version 3 of the diff

Author: Gedare Bloom

2024-05-31T20:01:38.507Z

This is only “all_other” when count is equal to the online CPUs.

I might suggest _SMP_barrier_Wait_for_count( ... unsigned int count) and change count - 1 below to count.

The function documentation and usage could be clarified. As a curiosity will it work with x > 1 thread waiting here, if passing count - x?

Author: Sebastian Huber

2024-05-31T20:01:38.507Z

Yes, good idea. I changed it in !46.

Author: Sebastian Huber

2024-06-24T06:32:59.819Z

changed this line in version 3 of the diff

Author: Sebastian Huber

2024-06-05T06:26:22.247Z

marked this merge request as draft

Author: Sebastian Huber

2024-06-07T16:02:42.657Z

I managed to disable the L1 and L2 caches, however, afterwards I got not that far. On the Cortex-A cores it seems at least the L1 data cache is required to provide support for atomic operations:

https://stackoverflow.com/questions/76207164/disabled-dcache-will-prevent-atomic-flag-from-being-set

So, I suggest to do this for the cache manager implementation:

  • Make the rtems_cache_disable_data() directive a nop.

  • Issue a fatal error if someone calls rtems_cache_disable_data().

Author: Sebastian Huber

2024-06-24T16:37:56.583Z

A third option would be to return a status code in rtems_cache_disable_data().

Author: Gedare Bloom

2024-06-24T16:37:56.583Z

returning a failure code seems a bit nicer.

Author: Sebastian Huber

2024-06-24T06:33:00.051Z

added 86 commits

  • b47df27c…2089f993 - 81 commits from branch rtems/rtos:main

  • a2e289ef - validation: Fix cache invalidation test case

  • 65645dd6 - rtems: Fatal error for rtems_cache_disable_data()

  • 7775da00 - bsps/arm: Fix Doxygen group placement

  • a7474409 - bsps/arm: Fix L2C-310 instruction enabled/disable

  • 633ef6b3 - bsps/arm: Use fatal error for data cache disable

Compare with previous version

Author: Sebastian Huber

2024-06-24T06:33:43.225Z

marked this merge request as ready

Author: Gedare Bloom

2024-06-24T16:37:56.600Z

resolved all threads

Author: Gedare Bloom

2024-06-24T16:38:08.504Z

approved this merge request

Author: Amar Takhar

2024-06-25T03:58:20.186Z

approved this merge request

Author: Amar Takhar

2024-06-25T03:58:37.824Z

added 6 commits

  • d09d61ff - 1 commit from branch rtems/rtos:main

  • 19a30cfa - validation: Fix cache invalidation test case

  • 2953f4c6 - rtems: Fatal error for rtems_cache_disable_data()

  • ef9b49dc - bsps/arm: Fix Doxygen group placement

  • 3a281aca - bsps/arm: Fix L2C-310 instruction enabled/disable

  • c4c3e687 - bsps/arm: Use fatal error for data cache disable

Compare with previous version

79 - Improve ISR locks

Id

79

State

merged

Merged by

Kinsey Moore

Merged at

2024-06-21T14:33:41.950Z

Assignee(s)

Sebastian Huber

Reviewer(s)

Chris Johns, Kinsey Moore

Created

2024-06-18T11:22:02.491Z

Updated

2024-06-21T14:33:44.229Z

Milestone

6.1

Labels

rtems::kernel

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/79

Commit

7ce6667e38408f5d56141dbf9e55e6a5005ce40e

Summary

Add a new API-level define RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT to indicate if a lock object is needed. This can be used to reduce the size overhead of locks when no lock object is needed.

Simplify the score ISR locks API by using the new ISR_LOCK_NEEDS_OBJECT indicator.

See #4957 and #5038

Author: Sebastian Huber

2024-06-18T11:22:02.613Z

requested review from @opticron

Author: Sebastian Huber

2024-06-18T11:22:02.650Z

assigned to @sebhub

Author: Chris Johns

2024-06-19T22:58:35.069Z

added 9 commits

  • 2fe92099 - 1 commit from branch rtems/rtos:main

  • 50466ac4 - score: Improve _ISR_lock_Initialize()

  • 6e9a1b0b - rtems: Add RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT

  • 0fb51266 - score: Remove ISR_LOCK_DEFINE()

  • 42b7ef99 - score: Remove ISR_LOCK_REFERENCE()

  • 12026bc9 - score: Remove ISR_LOCK_DECLARE()

  • 1b3a948e - score: Remove ISR_LOCK_MEMBER

  • 0928cb64 - score: Conditionally provide ISR_LOCK_INITIALIZER()

  • d71aa764 - score: Conditionally provide ISR_lock_Control

Compare with previous version

Author: Chris Johns

2024-06-19T23:01:05.445Z

changed the description

Author: Chris Johns

2024-06-21T06:57:31.400Z

What is the default setting for RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT ?

Why would you use tor not use this option and reduce the size?

Does this vary the API is defined and not defined? The comment would indicate you need a lock object and not need a lock object?

Author: Sebastian Huber

2024-06-21T06:57:31.400Z

The documentation of this define is:

/**
* @ingroup RTEMSAPIClassicIntr
*
* @brief If this define has a non-zero value, then the interrupt lock
*   operations require an object of type ::rtems_interrupt_lock, otherwise no
*   lock object is required.
*
* @par Notes
* This indication can be used to avoid the space overhead for lock objects
* when they are not needed.  In this case, the lock operations will not use a
* lock objects parameter.
*/
#define RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT ISR_LOCK_NEEDS_OBJECT

The default value is 0, if RTEMS_SMP is defined, then it is 1.

Author: Sebastian Huber

2024-06-21T06:57:31.400Z

I added a code example using RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT to the rtems_interrupt_lock notes.

Author: Chris Johns

2024-06-21T06:57:31.400Z

Thanks the documentation helps. I now get the connection and the reason for the MR. I will need to go and review the code in more detail to comment further. The last question in initial my list is outstanding?

Is the overhead of the char that was added in the non-SMP lock struct something you have seen as adding data? I am surprised if but willing to understand the nature of the problem you are resolving if you care to outline it?

Author: Sebastian Huber

2024-06-21T06:57:31.400Z

The lock operations API is always the same.

In C, the empty structures had a size of zero. It is not just a char. If you add the locks to a structure is is usually a 4 or 8 bytes overhead due to alignment.

Author: Chris Johns

2024-06-21T06:57:31.400Z

Yes field alignment is arch dependent and can be painful.

Can I summarize the change as moving from one point of difference in the ISR_lock_Control struct to explicitly handling the ISR lock control?

Can ISR_LOCK_MEMBER remain as empty? It seems the lock was already wrapped so I do not understand why that has been removed?

Author: Sebastian Huber

2024-06-21T06:57:31.400Z

The ISR_LOCK_* is an internal API, so we can break it. The patch set removes the ISR_lock_Control structure if it is not needed to make sure we don’t use it internally. The problem with the ISR_LOCK_MEMBER member approach is that it confuses Doxygen. It adds the documentation of the removed member to the next one.

Author: Chris Johns

2024-06-21T06:59:02.323Z

Yes the API it is internal. Thanks for clarifying the change. It now makes sense to me.

Author: Chris Johns

2024-06-19T23:05:55.185Z

changed the description

Author: Sebastian Huber

2024-06-21T06:10:55.790Z

added 16 commits

  • d71aa764…b48166b9 - 8 commits from branch rtems/rtos:main

  • 26a0bfcb - score: Improve _ISR_lock_Initialize()

  • 050b61aa - rtems: Add RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT

  • bdbda6a7 - score: Remove ISR_LOCK_DEFINE()

  • fa243988 - score: Remove ISR_LOCK_REFERENCE()

  • 283b4406 - score: Remove ISR_LOCK_DECLARE()

  • b0599ef3 - score: Remove ISR_LOCK_MEMBER

  • 5d63827d - score: Conditionally provide ISR_LOCK_INITIALIZER()

  • 7ce6667e - score: Conditionally provide ISR_lock_Control

Compare with previous version

Author: Sebastian Huber

2024-06-21T06:14:09.799Z

resolved all threads

Author: Chris Johns

2024-06-21T06:57:31.419Z

resolved all threads

Author: Chris Johns

2024-06-21T06:58:14.314Z

approved this merge request

Author: Chris Johns

2024-06-21T06:58:32.268Z

requested review from @chris

Author: Kinsey Moore

2024-06-21T14:33:34.781Z

approved this merge request

84 - zynqmp: Add support for ECC error reporting

Id

84

State

merged

Merged by

Chris Johns

Merged at

2024-06-21T05:57:54.052Z

Assignee(s)

Kinsey Moore

Created

2024-06-19T17:57:04.313Z

Updated

2024-06-21T05:57:56.526Z

Milestone

6.1

Labels

arch:aarch64

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/84

Commit

b48166b9b6e845519d1eba8177b31d47c50c1794

Summary

This adds support for reporting cache, on-chip memory, and DDR ECC errors.

Author: Kinsey Moore

2024-06-19T17:57:04.476Z

assigned to @opticron

Author: Kinsey Moore

2024-06-19T17:57:13.962Z

added 7 commits

  • 9788e437…0bdeef72 - 5 commits from branch rtems/rtos:main

  • 8ba7e9e7 - cpukit/aarch64: Add A53-specific registers

  • 1d2af35f - bsps/aarch64/zynqmp: Add memory error reporting

Compare with previous version

Author: Chris Johns

2024-06-20T16:45:27.875Z

This Xilinx ZynqMP specific or aarch64 specific?

Author: Kinsey Moore

2024-06-20T16:45:27.875Z

This is specific to the implementation using A53 cores in the ZynqMP chip. The cache error reporting varies a bit by core and this could theoretically be reused for other A53 cores with interrupt number varying.

Author: Chris Johns

2024-06-20T16:45:19.957Z

Is this touching hardware?

Author: Kinsey Moore

2024-06-20T16:45:19.957Z

No, this is operating on pre-read registers and pointers are passed in since the values are needed in the calling function. They are intentionally non-volatile.

Author: Chris Johns

2024-06-20T13:25:07.526Z

Hardware?

Author: Kinsey Moore

2024-06-20T13:25:07.526Z

Yes, this should have been volatile. I’ll get that fixed up.

Author: Kinsey Moore

2024-06-20T13:25:15.438Z

changed this line in version 3 of the diff

Author: Chris Johns

2024-06-21T02:17:46.249Z

Do the hardware accessing function need to be volatile?

Author: Kinsey Moore

2024-06-21T02:17:46.249Z

All the hardware accesses have been marked volatile in the new version of the patch.

Author: Sebastian Huber

2024-06-20T14:51:09.182Z

Please use rtems_interrupt_entry_install() to avoid a dependency on the dynamic memory allocator.

Author: Kinsey Moore

2024-06-20T14:50:31.074Z

changed this line in version 5 of the diff

Author: Kinsey Moore

2024-06-20T14:51:09.182Z

I have converted to rtems_interrupt_entry_install() in the new patch set and removed the magic interrupt numbers in favor of #defines in bsp/irq.h.

Author: Sebastian Huber

2024-06-20T16:44:52.383Z

Should a fatal error be issued by default?

Author: Kinsey Moore

2024-06-20T16:44:52.383Z

That’s a good idea, I’ll change it to do that.

Author: Kinsey Moore

2024-06-20T16:44:55.128Z

changed this line in version 6 of the diff

Author: Kinsey Moore

2024-06-20T13:25:16.060Z

added 2 commits

  • e5338eb9 - cpukit/aarch64: Add A53-specific registers

  • 2c948bf1 - bsps/aarch64/zynqmp: Add memory error reporting

Compare with previous version

Author: Sebastian Huber

2024-06-21T05:57:38.908Z

The enum and structure naming is not really in line with the RTEMS-style. Should all this ECC stuff be in ecc.h?

Author: Kinsey Moore

2024-06-21T05:57:38.908Z

I was trying to keep BSP-internal interfaces separate from user-facing interfaces. I’ll rename the existing ecc.h and move this into a new ecc.h.

Author: Kinsey Moore

2024-06-21T05:57:38.908Z

I’ll also move the structs and enums to typedefs. As for the naming, would you prefer a Zynqmp_ prefix? The naming rules for items in BSPs are listed as “TODO.”.

Author: Kinsey Moore

2024-06-20T16:44:56.039Z

changed this line in version 6 of the diff

Author: Kinsey Moore

2024-06-20T13:25:59.391Z

added 8 commits

  • 2c948bf1…2fe92099 - 6 commits from branch rtems/rtos:main

  • a1542a4a - cpukit/aarch64: Add A53-specific registers

  • 027830ae - bsps/aarch64/zynqmp: Add memory error reporting

Compare with previous version

Author: Kinsey Moore

2024-06-20T14:50:31.722Z

added 2 commits

  • e5338eb9 - cpukit/aarch64: Add A53-specific registers

  • 41fe3351 - bsps/aarch64/zynqmp: Add memory error reporting

Compare with previous version

Author: Kinsey Moore

2024-06-20T16:44:56.255Z

added 1 commit

  • c4fe5b1b - bsps/aarch64/zynqmp: Add memory error reporting

Compare with previous version

Author: Kinsey Moore

2024-06-20T16:45:27.892Z

resolved all threads

Author: Kinsey Moore

2024-06-20T18:58:15.749Z

added 12 commits

  • c4fe5b1b…e233b5c1 - 10 commits from branch rtems/rtos:main

  • 34fe7c12 - cpukit/aarch64: Add A53-specific registers

  • 14efe0ce - bsps/aarch64/zynqmp: Add memory error reporting

Compare with previous version

Author: Sebastian Huber

2024-06-21T05:54:40.060Z

approved this merge request

Author: Chris Johns

2024-06-21T05:57:17.732Z

approved this merge request

Author: Chris Johns

2024-06-21T05:57:25.922Z

added 4 commits

  • 14efe0ce…78afce5b - 2 commits from branch rtems/rtos:main

  • 27ec46f1 - cpukit/aarch64: Add A53-specific registers

  • b48166b9 - bsps/aarch64/zynqmp: Add memory error reporting

Compare with previous version

Author: Chris Johns

2024-06-21T05:57:38.927Z

resolved all threads

73 - cpukit: Resolve gcc14 warnings

Id

73

State

merged

Merged by

Amar Takhar

Merged at

2024-06-14T02:46:37.681Z

Assignee(s)

Kinsey Moore

Created

2024-06-13T22:27:38.639Z

Updated

2024-06-18T23:58:04.950Z

Milestone

6.1

Labels

cpukit

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/73

Commit

b031cf2b19ef4be3a865d818e8d609011b04a3df

Summary

cpukit: Resolve gcc14 warnings

This resolves several warnings upon upgrading to gcc14 and building without SMP support.

Closes #5038 Closes #4957

Author: Kinsey Moore

2024-06-13T22:27:38.790Z

assigned to @opticron

Author: Kinsey Moore

2024-06-13T22:29:34.110Z

changed the description

Author: Chris Johns

2024-06-13T23:36:21.225Z

approved this merge request

Author: Amar Takhar

2024-06-14T02:46:33.261Z

approved this merge request

Author: Sebastian Huber

2024-06-18T23:51:25.476Z

Did you check how much the data size increased due to this change? It caused a test failure in tc-intr-non-smp.c. Using the name in _ISR_lock_Initialize() may have side-effects.

Author: Chris Johns

2024-06-18T23:51:25.476Z

If the standard says the behavior with an empty struct is undefined and adding a char element results in test failures then I think the existing code and expected behavior is broken. I feel what GCC supports as an extension is a mute point.

An important lesson here is all warnings need to be carefully examined.

Author: Amar Takhar

2024-06-18T23:51:25.476Z

100% agreed also in general it’s better to avoid extensions due to cross platform issues. The other problem is since it’s undefined even if LLVM had an extension there is absolutely no way to know whether both are implemented in the same way or would stay the same way.

Author: Sebastian Huber

2024-06-18T23:51:25.476Z

There was no need to push this through within five hours. It would be nice if non-trivial changes stay open for at least a business day.

Author: Chris Johns

2024-06-18T23:51:25.476Z

Five hours is quick and different for RTEMS. My hope is any issues from a fast turn around are isolated so I think the benefits out weigh the process we had before.

We have avoided placing time limits on things because it quickly becomes complicated. A business day is not easy to define. With a world wide 24/7 community your business day and others in the community do not overlap and we would need to guard each side of the weekend which means we would have 3 effective review days per week and then there are public holidays, annual leave and more.

Author: Amar Takhar

2024-06-18T23:58:04.923Z

It’s usually less than 3 effective review days because in order to give everyone a chance to see it around the world you really need to block it for 36-48 hours. With the project having as few eyes as it does then MRs would sit around waiting for them to time out then you’d get a glut of MRs being accepted quickly to avoid the next “timeout window”.

Eventually approvers will just wait once or twice a week to look at it so they can do several at once. Time limits don’t work unless you have a large team and even then it’s dubious.

We have been using the ‘Reviewer’ field and making an issue as Draft if someone absolutely must block something until an action is taken or they get a chance to review. I’m working on a bot to block MRs unless the reviewers have also approved this will mitigate some of these issues but for now I think it’s OK.

Author: Kinsey Moore

2024-06-18T23:51:32.488Z

Discussion elsewhere suggested that this undefined behavior resulted in empty structs consuming 1 byte. That portion of the patch was tailored to replicate that behavior, so there should be minimal to no change. To answer the question, I didn’t double-check the data size since it was claimed to be no actual change.

Existing users of _ISR_lock_Initialize() expect _name to be evaluated at least once in SMP mode and shouldn’t have an issue with the same occurring in non-SMP mode. The vast majority pass in literals, function arguments, or struct members with the exception being the call in the testsuite that stringifies it to verify that it evaluates to a no-op which it still does, just not the same kind of no-op.

In any case, I broke the test so I need to fix it. If this macro evaluating to an empty string is specified behavior, then I can submit an alternative resolution to the warnings. If not, I can update the test.

Author: Gedare Bloom

2024-06-18T23:51:32.488Z

The 1 byte is how C++ handles it.

Author: Kinsey Moore

2024-06-15T13:57:41.476Z

I have created !74 with the test update fix.

Author: Chris Johns

2024-06-18T23:51:32.505Z

resolved all threads

78 - bsp/powerpc: Remove e500 machine state for asm functions

Id

78

State

merged

Merged by

Amar Takhar

Merged at

2024-06-18T06:27:00.919Z

Assignee(s)

Chris Johns

Created

2024-06-18T04:10:47.060Z

Updated

2024-06-18T06:27:03.274Z

Milestone

6.1

Labels

arch:powerpc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/78

Commit

0bdeef72fe2e1f449ffdf923ecfce21baf785cb1

Remove e500 machine state for asm functions in bsps/powerpc

The e500 machine state was added in gcc 10 to deal with issues when -many was from removed

Close #5043

Author: Chris Johns

2024-06-18T04:10:47.243Z

assigned to @chris

Author: Amar Takhar

2024-06-18T04:27:21.970Z

The end part of the commit message doesn’t make sense. Typo?

Author: Chris Johns

2024-06-18T04:27:21.970Z

Yes. Fixed.

Author: Chris Johns

2024-06-18T04:27:09.516Z

added 1 commit

  • 01d82dfe - bsp/powerpc: Remove e500 machine state for asm functions

Compare with previous version

Author: Chris Johns

2024-06-18T04:27:21.987Z

resolved all threads

Author: Chris Johns

2024-06-18T04:27:49.284Z

added 4 commits

  • 01d82dfe…7f2b904d - 3 commits from branch rtems/rtos:main

  • 0bdeef72 - bsp/powerpc: Remove e500 machine state for asm functions

Compare with previous version

Author: Sebastian Huber

2024-06-18T06:24:52.044Z

approved this merge request

Author: Amar Takhar

2024-06-18T06:26:55.152Z

approved this merge request

74 - testsuites: Update lock init validation test

Id

74

State

merged

Merged by

Kinsey Moore

Merged at

2024-06-17T16:21:03.683Z

Assignee(s)

Kinsey Moore

Reviewer(s)

Sebastian Huber

Created

2024-06-15T13:56:57.001Z

Updated

2024-06-17T16:21:05.062Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/74

Commit

644041626d3e83917309dae6a45e5696013eda63

Summary

testsuites: Update lock init validation test

This test was broken by b031cf2b19ef4be3a865d818e8d609011b04a3df since it expects the macros to evaluate to an empty string for non-SMP builds. This updates the check for the new content.

Author: Kinsey Moore

2024-06-15T13:56:57.236Z

assigned to @opticron

Author: Kinsey Moore

2024-06-15T13:57:12.608Z

added 2 commits

  • 20a663cc - 1 commit from branch rtems/rtos:main

  • 5e683bab - testsuites: Update lock init validation test

Compare with previous version

Author: Kinsey Moore

2024-06-15T13:57:41.982Z

mentioned in merge request !73

Author: Amar Takhar

2024-06-15T18:23:07.023Z

approved this merge request

Author: Kinsey Moore

2024-06-17T16:09:46.557Z

requested review from @sebhub

Author: Sebastian Huber

2024-06-17T16:20:03.481Z

approved this merge request

Author: Kinsey Moore

2024-06-17T16:20:56.427Z

added 2 commits

  • 2c0ab5ba - 1 commit from branch rtems/rtos:main

  • 64404162 - testsuites: Update lock init validation test

Compare with previous version

70 - Synchronize with FreeBSD

Id

70

State

merged

Merged by

Kinsey Moore

Merged at

2024-06-13T17:21:43.160Z

Assignee(s)

Sebastian Huber

Created

2024-06-11T18:25:10.902Z

Updated

2024-06-13T19:51:53.551Z

Milestone

6.1

Labels

rtems::score

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/70

Commit

1e68298847afecd134e424fac20e042333ce9dd5

In addition to the synchronization with FreeBSD, this change set removes dead code and fixes a bug.

Author: Sebastian Huber

2024-06-11T18:25:12.752Z

assigned to @sebhub

Author: Sebastian Huber

2024-06-11T18:25:16.717Z

restored source branch sync-iovprintf-with-freebsd

Author: Sebastian Huber

2024-06-11T18:27:50.093Z

changed title from {-kvprintf(9): add missing FALLTHROUGH-} to {+Synchronize with FreeBSD+}

Author: Sebastian Huber

2024-06-11T18:27:50.118Z

changed the description

Author: Chris Johns

2024-06-13T02:23:50.165Z

approved this merge request

Author: Amar Takhar

2024-06-13T07:33:48.200Z

added 5 commits

  • 6dcc0805…1d997f33 - 2 commits from branch rtems/rtos:main

  • 1689decf - kvprintf(9): add missing FALLTHROUGH

  • ba837cea - sys: Remove $FreeBSD$: one-line .c pattern

  • db0dbae1 - sys: Remove ancient SCCS tags.

Compare with previous version

Author: Amar Takhar

2024-06-13T07:34:41.683Z

@sebhub sorry, another conflict when trying to rebase.

Author: Sebastian Huber

2024-06-13T08:47:16.352Z

I don’t see a conflict.

Author: Sebastian Huber

2024-06-13T10:52:18.074Z

added 5 commits

  • 121b7420 - kvprintf(9): add missing FALLTHROUGH

  • a5670595 - sys: Remove $FreeBSD$: one-line .c pattern

  • 7cc9f486 - sys: Remove ancient SCCS tags.

  • 68a84311 - dev/io: Remove dead code in _IO_Vprintf()

  • be913c0b - dev/io: Fix “%hhi” conversion

Compare with previous version

Author: Sebastian Huber

2024-06-13T10:52:32.745Z

reset approvals from @chris by pushing to the branch

Author: Sebastian Huber

2024-06-13T10:53:45.453Z

changed the description

Author: Amar Takhar

2024-06-13T17:06:30.631Z

approved this merge request

Author: Kinsey Moore

2024-06-13T17:19:38.932Z

added 6 commits

  • ad24b764 - 1 commit from branch rtems/rtos:main

  • a9e1c29a - kvprintf(9): add missing FALLTHROUGH

  • c2041d3a - sys: Remove $FreeBSD$: one-line .c pattern

  • 0c7a972b - sys: Remove ancient SCCS tags.

  • 30125493 - dev/io: Remove dead code in _IO_Vprintf()

  • 1e682988 - dev/io: Fix “%hhi” conversion

Compare with previous version

Author: Kinsey Moore

2024-06-13T17:21:32.875Z

approved this merge request

Author: Amar Takhar

2024-06-13T19:51:53.496Z

mentioned in merge request !65

21 - QSPI Flash on Xilinx Versal

Id

21

State

merged

Merged by

Gedare Bloom

Merged at

2024-06-10T17:58:28.398Z

Reviewer(s)

Kinsey Moore

Created

2024-05-07T05:55:28.671Z

Updated

2024-06-11T13:13:40.103Z

Milestone

6.1

Labels

arch:aarch64

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/21

Commit

7bfe79c44d44a193289df90719e821ce8dc7e06b

Summary

build: Fix build issues with xqspipsu on versal

Updates #4870

Author: Kinsey Moore

2024-05-21T21:01:04.209Z

added 30 commits

  • 367221c0…cfb9f96c - 27 commits from branch rtems/rtos:main

  • 6d33d47f - build: Fix build issues with xqspipsu on versal

  • c9821511 - bsps: Add flash wrapper for Xilinx GQSPI

  • 757be0bb - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Gedare Bloom

2024-06-03T04:16:10.533Z

preface the macro with a “namespace” like XQSPI_FLASH_ if that would be appropriate. I’d also suggest making it have a type, maybe 0x8000U or ((size_t)0x8000)

Author: Aaron Nyholm

2024-06-03T05:29:45.758Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-06-06T18:36:37.931Z

should this go in a versal-specific header file?

Author: Aaron Nyholm

2024-06-03T05:29:46.444Z

changed this line in version 4 of the diff

Author: Aaron Nyholm

2024-06-06T18:36:37.931Z

This should be made shared. Missed this when moving from Versal into shared. Updated.

Author: Gedare Bloom

2024-06-03T04:38:59.184Z

this line is overlength

Author: Aaron Nyholm

2024-06-03T05:29:46.953Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-06-03T05:35:17.340Z

tmp_buffer is uninitialized, and &tmp_buffer is a pointer to this function’s stack. This is going to be just writing into the stack space beyond the current stack frame.

Author: Kinsey Moore

2024-06-03T05:35:17.340Z

This is actually fine. This function is built weird and pastes its internal buffer pointer into the uint8_t** provided as the last argument.

Author: Kinsey Moore

2024-06-03T05:35:17.340Z

FYI, it uses its internal buffer because it must be properly aligned for the hardware to transfer data into it.

Author: Gedare Bloom

2024-06-03T05:35:17.340Z

ok, it’s probably worth mentioning. It is still an uninitialized pointer** the first time it is called.

Author: Aaron Nyholm

2024-06-03T05:29:47.745Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-06-03T05:35:22.194Z

do you need to adjust MAX_READ_SIZE - startAlign?

Author: Aaron Nyholm

2024-06-03T05:29:48.123Z

changed this line in version 4 of the diff

Author: Aaron Nyholm

2024-06-03T05:35:22.194Z

startAlign is used to correctly read when the offset is odd as QspiPsu_NOR_Read can only read at even addresses. We read the byte before the first requested byte to align the read and then throw out the unrequested byte. We still want to read the MAX_READ_SIZE.

Author: Gedare Bloom

2024-06-03T04:54:24.289Z

line length

Author: Aaron Nyholm

2024-06-03T05:29:48.656Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-06-03T05:35:27.166Z

can search_offset be negative? if so, this needs adjustment.

Author: Aaron Nyholm

2024-06-03T05:35:27.166Z

search_offset can’t be negative. It’s the offset from the flash base.

Author: Gedare Bloom

2024-06-03T05:07:17.242Z

line length

Author: Aaron Nyholm

2024-06-03T05:29:49.408Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-05-24T01:34:44.760Z

any good reason to cast away the const?

Author: Kinsey Moore

2024-05-24T01:34:44.760Z

It’s because the function doesn’t take a const. Realistically, we own that function now and could constify that parameter.

Author: Gedare Bloom

2024-05-24T01:34:44.760Z

ok that’s fine. We should keep the code close to the upstream?

Author: Kinsey Moore

2024-05-24T01:34:44.760Z

When I say we own that function, there is not a file that directly corresponds to the contents of xqspipsu-flash-helper.c in the embeddedsw repository. If we want to improve the interface, we can and should. The NOR driver layer on top of the QSPI interface was not well organized and upstream can only serve as vague direction at this point.

Author: Aaron Nyholm

2024-06-03T05:29:50.195Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-06-03T05:35:31.912Z

does the caller expect this? it should be documented.

Author: Aaron Nyholm

2024-06-03T05:29:50.658Z

changed this line in version 4 of the diff

Author: Aaron Nyholm

2024-06-03T05:35:31.912Z

XQspiPsu shouldn’t be freed as it’s not allocated in this function. Updated.

Author: Gedare Bloom

2024-06-03T05:10:58.892Z

parens are redundant &(x->y) equivalent to &x->y

Author: Aaron Nyholm

2024-06-03T05:29:51.208Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-06-03T05:11:44.108Z

line length

Author: Aaron Nyholm

2024-06-03T05:29:51.944Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-06-03T05:30:23.467Z

versal specific?

Author: Aaron Nyholm

2024-06-03T05:29:52.483Z

changed this line in version 4 of the diff

Author: Aaron Nyholm

2024-06-03T05:30:23.467Z

Missed renaming when moving files. Updated.

Author: Gedare Bloom

2024-06-03T05:30:23.674Z

This address is same as xtable which is good because it makes the later free work. However, it could change if someone is not aware and modifies the versal_xqspi_region_table layout. It should be documented, or you should explicitly use xtable here

Author: Aaron Nyholm

2024-06-03T05:29:53.394Z

changed this line in version 4 of the diff

Author: Aaron Nyholm

2024-06-03T05:30:23.674Z

Updated to be explicitly xtable.

Author: Gedare Bloom

2024-06-03T05:35:38.028Z

not sure what this means

Author: Gedare Bloom

2024-06-03T05:35:38.028Z

maybe s/Replicate/Generate and add “CPP” or “macro” somewhere in here just to make it clear.

Author: Aaron Nyholm

2024-06-03T05:29:54.477Z

changed this line in version 4 of the diff

Author: Gedare Bloom

2024-05-24T01:37:42.706Z

this is not usual. what is the purpose?

Author: Kinsey Moore

2024-05-24T01:37:42.706Z

This is to generate a “versal” define that the Xilinx driver code has ifdefs for to alter behavior on Versal systems versus ZynqMP systems. It’s done this way so that it only gets defined for Versal BSPs.

Author: Gedare Bloom

2024-05-24T01:37:42.706Z

Thanks that is helpful.

Author: Kinsey Moore

2024-05-23T23:39:52.227Z

added 14 commits

  • 757be0bb…869071df - 11 commits from branch rtems/rtos:main

  • b354d39e - build: Fix build issues with xqspipsu on versal

  • e6e883b0 - bsps: Add flash wrapper for Xilinx GQSPI

  • 8390bdca - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Aaron Nyholm

2024-06-03T05:29:55.571Z

added 11 commits

  • 8390bdca…b8910111 - 8 commits from branch rtems/rtos:main

  • a02363e9 - build: Fix build issues with xqspipsu on versal

  • 9ad34eae - bsps: Add flash wrapper for Xilinx GQSPI

  • 25a695d8 - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Aaron Nyholm

2024-06-03T05:35:38.048Z

resolved all threads

Author: Kinsey Moore

2024-06-06T06:18:23.204Z

This structure needs documentation.

Author: Kinsey Moore

2024-06-06T06:22:09.515Z

Trailing lines like this are unnecessary and inconsistent with other documentation.

Author: Aaron Nyholm

2024-06-06T06:22:09.515Z

Removed. The formatting for that entire file doesn’t match RTEMS style guide so wasn’t sure what was the best solution.

Author: Kinsey Moore

2024-06-06T06:22:32.174Z

Doxygen function attribute descriptions should have a space between the type of tag (@param) and the name of the remainder of the description. This applies elsewhere.

Author: Aaron Nyholm

2024-06-07T04:27:20.178Z

changed this line in version 8 of the diff

Author: Kinsey Moore

2024-06-06T18:55:43.683Z

Why does the offset need to be aligned to a 2 byte boundary?

Author: Aaron Nyholm

2024-06-06T18:55:43.683Z

This is due to striping across multiple flash chips. Xilinx stores the even byte on one flash chip and odd on the other. This means you can’t read one without also reading the other. The GQSPI driver does not handle this and instead always returns the lowest even byte regardless. I don’t remember what happens at the end of the buffer of the top of my head but I think it might not return it as the buffer is full due to the extra byte read. Aligning to the two byte boundary ensures that we always get exactly what we ask for and can fix up the odd byte ourselves.

Author: Kinsey Moore

2024-06-06T18:55:43.683Z

Sounds like it only applies in parallel configurations, but it doesn’t hurt single or stacked configurations so that’s fine.

Author: Aaron Nyholm

2024-06-07T04:27:21.057Z

changed this line in version 8 of the diff

Author: Kinsey Moore

2024-06-06T06:39:21.012Z

Is there a reason to break this out?

Author: Aaron Nyholm

2024-06-06T06:39:21.012Z

Because it wasn’t triggering for versal builds. I get errors around xilinx files not being included which are resolved by explicitly defining the bsps.

Author: Kinsey Moore

2024-06-06T06:43:42.132Z

Is there a reason to break this out?

Author: Aaron Nyholm

2024-06-06T06:43:42.132Z

This one doesn’t need to be builds work either way. I’ll revert it.

Author: Aaron Nyholm

2024-06-07T04:27:22.392Z

changed this line in version 8 of the diff

Author: Kinsey Moore

2024-06-07T13:53:52.251Z

It might be a good idea to move this functionality into the flash helper code, similar to how the write page code was merged in. It’s generally useful.

Author: Aaron Nyholm

2024-06-07T13:53:52.251Z

If it was to be moved to xqspipsu-flash-helper.c what would header file look like? Move the logic into QspiPsu_NOR_Read and change the arguments and then put a new name to the existing QspiPsu_NOR_Read code?

Author: Kinsey Moore

2024-06-07T13:53:52.251Z

Yes, the existing function would be renamed QspiPsu_NOR_Read_Page and then the functionality here would be QspiPsu_NOR_Read. This is by no means a requirement for my approval of this patch set, just a suggestion if you feel like it.

Author: Aaron Nyholm

2024-06-07T13:53:52.251Z

I’ve moved the read into xqspipsu-flash-helper.c

Author: Kinsey Moore

2024-06-04T23:30:51.937Z

requested changes

Author: Kinsey Moore

2024-06-05T00:05:02.407Z

added 14 commits

  • 25a695d8…25ba6796 - 11 commits from branch rtems/rtos:main

  • 23953630 - build: Fix build issues with xqspipsu on versal

  • 47f1afc1 - bsps: Add flash wrapper for Xilinx GQSPI

  • d770073f - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Gedare Bloom

2024-06-06T18:39:15.512Z

approved this merge request

Author: Kinsey Moore

2024-06-06T18:56:07.251Z

added 4 commits

  • 42ad53f3 - 1 commit from branch rtems/rtos:main

  • 5c983e8b - build: Fix build issues with xqspipsu on versal

  • bae73ba2 - bsps: Add flash wrapper for Xilinx GQSPI

  • a694194c - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Gedare Bloom

2024-06-06T20:29:19.524Z

requested review from @opticron

Author: Amar Takhar

2024-06-06T20:31:07.193Z

approved this merge request

Author: Gedare Bloom

2024-06-06T20:31:42.013Z

resolved all threads

Author: Amar Takhar

2024-06-06T20:33:04.366Z

unapproved this merge request

Author: Kinsey Moore

2024-06-06T22:08:37.107Z

added 4 commits

  • e1be6899 - 1 commit from branch rtems/rtos:main

  • 25b0f12f - build: Fix build issues with xqspipsu on versal

  • a621ba39 - bsps: Add flash wrapper for Xilinx GQSPI

  • 9a687abe - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Aaron Nyholm

2024-06-07T04:27:23.242Z

added 4 commits

  • cbe60cea - 1 commit from branch rtems/rtos:main

  • f6fc5539 - build: Fix build issues with xqspipsu on versal

  • ae6b5a43 - bsps: Add flash wrapper for Xilinx GQSPI

  • e258664b - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Aaron Nyholm

2024-06-07T04:27:37.816Z

reset approvals from @gedare by pushing to the branch

Author: Aaron Nyholm

2024-06-07T05:27:09.426Z

added 2 commits

  • 04c085d8 - bsps: Add flash wrapper for Xilinx GQSPI

  • 1f2fa116 - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Kinsey Moore

2024-06-07T13:53:52.273Z

resolved all threads

Author: Kinsey Moore

2024-06-09T23:32:34.937Z

With this change, the only existing consumer should also be updated in bsps/aarch64/xilinx-zynqmp/jffs2_xqspipsu.c. Other than that, everything looks ready.

Author: Aaron Nyholm

2024-06-09T23:32:34.937Z

Updated

Author: Aaron Nyholm

2024-06-09T23:31:56.395Z

added 2 commits

  • 5d244bc2 - bsps: Add flash wrapper for Xilinx GQSPI

  • 82b22eb7 - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Aaron Nyholm

2024-06-09T23:32:34.979Z

resolved all threads

Author: Kinsey Moore

2024-06-10T14:55:16.422Z

approved this merge request

Author: Gedare Bloom

2024-06-10T17:57:49.202Z

approved this merge request

Author: Gedare Bloom

2024-06-10T17:58:07.533Z

added 10 commits

  • 82b22eb7…4f1b0ca2 - 7 commits from branch rtems/rtos:main

  • fb4f9f8c - build: Fix build issues with xqspipsu on versal

  • e950c4d7 - bsps: Add flash wrapper for Xilinx GQSPI

  • 7bfe79c4 - libmisc/shell: Improve print messages for flashdev command

Compare with previous version

Author: Sebastian Huber

2024-06-11T06:05:12.301Z

This change causes build issues:

/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c: In function 'QspiPsu_NOR_Read':
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:965:10: error: 'count' undeclared (first use in this function)
965 |   while (count > XQSPI_FLASH_MAX_READ_SIZE) {
|          ^~~~~
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:965:10: note: each undeclared identifier is reported only once for each function it appears in
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:971:7: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
971 |       memcpy(ReadBfr, tmp_buffer + startAlign,
|       ^~~~~~
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:19:1: note: include '<string.h>' or provide a declaration of 'memcpy'
18 | #include <rtems.h>
+++ |+#include <string.h>
19 |
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:971:7: warning: incompatible implicit declaration of built-in function 'memcpy' [-Wbuiltin-declaration-mismatch]
971 |       memcpy(ReadBfr, tmp_buffer + startAlign,
|       ^~~~~~
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:971:7: note: include '<string.h>' or provide a declaration of 'memcpy'
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:975:7: error: 'buffer' undeclared (first use in this function); did you mean 'setbuffer'?
975 |       buffer = buffer + XQSPI_FLASH_MAX_READ_SIZE - startAlign;
|       ^~~~~~
|       setbuffer
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:976:7: error: 'offset' undeclared (first use in this function); did you mean 'off_t'?
976 |       offset = offset + XQSPI_FLASH_MAX_READ_SIZE;
|       ^~~~~~
|       off_t
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:987:5: warning: passing argument 4 of 'QspiPsu_NOR_Read' from incompatible pointer type [-Wincompatible-pointer-types]
987 |     &tmp_buffer);
|     ^~~~~~~~~~~
|     |
|     uint8_t ** {aka unsigned char **}
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:952:7: note: expected 'u8 *' {aka 'unsigned char *'} but argument is of type 'uint8_t **' {aka 'unsigned char **'}
952 |   u8 *ReadBfr
|   ~~~~^~~~~~~
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:990:5: warning: incompatible implicit declaration of built-in function 'memcpy' [-Wbuiltin-declaration-mismatch]
990 |     memcpy(ReadBfr, tmp_buffer + startAlign, ByteCount);
|     ^~~~~~
/home/EB/sebastian_h/src/rtems/bsps/shared/dev/spi/xqspipsu-flash-helper.c:990:5: note: include '<string.h>' or provide a declaration of 'memcpy'

Waf: Leaving directory `/tmp/sh/b-rtems/aarch64/xilinx_zynqmp_ilp32_qemu'

Author: Sebastian Huber

2024-06-11T11:43:50.495Z

For a fix see !67.

Author: Sebastian Huber

2024-06-11T11:44:43.429Z

Did this ever work? You call QspiPsu_NOR_Read() recursively here.

Author: Kinsey Moore

2024-06-11T13:11:29.063Z

This piece of code was formerly external to the flash helper and got moved here on my request because it’s generic and useful functionality to have. It looks like it didn’t get refactored or an old version of it slipped in.

Author: Sebastian Huber

2024-06-11T13:13:40.080Z

I got it to compile, but I really don’t know if it is functionally all right, see !67.

62 - aarch64/xilinx-zynqmp: Small improvements

Id

62

State

merged

Merged by

Gedare Bloom

Merged at

2024-06-10T18:01:35.075Z

Assignee(s)

Sebastian Huber

Reviewer(s)

Kinsey Moore

Created

2024-06-07T07:05:05.754Z

Updated

2024-06-10T18:01:36.567Z

Milestone

6.1

Labels

arch:aarch64

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/62

Commit

28c7475b173da46bab8f4254447d92734818d440

Author: Sebastian Huber

2024-06-07T07:05:05.862Z

requested review from @opticron

Author: Sebastian Huber

2024-06-07T07:05:06.902Z

assigned to @sebhub

Author: Kinsey Moore

2024-06-07T12:22:05.434Z

approved this merge request

Author: Sebastian Huber

2024-06-09T14:45:26.666Z

added 1 commit

  • 81d03937 - aarch64/xilinx-zynqmp: Relocate RAM area

Compare with previous version

Author: Sebastian Huber

2024-06-09T14:45:39.342Z

reset approvals from @opticron by pushing to the branch

Author: Kinsey Moore

2024-06-10T14:56:25.517Z

approved this merge request

Author: Gedare Bloom

2024-06-10T18:00:59.219Z

approved this merge request

Author: Gedare Bloom

2024-06-10T18:01:11.481Z

added 18 commits

  • 81d03937…7bfe79c4 - 10 commits from branch rtems/rtos:main

  • 1421b9f7 - bsps/aarch64: Use BSP fatal error

  • 36e596a0 - bsps/aarch64: Use interrupt entry for IPI

  • ce3de685 - bsps/aarch64: Always set the start vector table

  • 41b597e8 - aarch64/xilinx-zynqmp: Use forward declaration

  • b9148332 - aarch64/xilinx-zynqmp: Include standard header

  • b826e20d - aarch64/xilinx-zynqmp: Add BSP Doxygen group

  • 80a22dc0 - aarch64/xilinx-zynqmp: Replace file header

  • 28c7475b - aarch64/xilinx-zynqmp: Relocate RAM area

Compare with previous version

63 - BSP fatal extension improvements

Id

63

State

merged

Merged by

Gedare Bloom

Merged at

2024-06-10T17:33:20.022Z

Assignee(s)

Sebastian Huber

Created

2024-06-07T07:21:09.096Z

Updated

2024-06-10T17:33:21.467Z

Milestone

6.1

Labels

bsp

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/63

Commit

4f1b0ca27aabc6eee7a3448413d2e14837db32a0

Author: Sebastian Huber

2024-06-07T07:21:09.264Z

assigned to @sebhub

Author: Kinsey Moore

2024-06-07T12:24:09.682Z

approved this merge request

Author: Gedare Bloom

2024-06-10T17:32:46.801Z

approved this merge request

Author: Gedare Bloom

2024-06-10T17:32:57.082Z

added 7 commits

  • 6a597445…fc68da47 - 5 commits from branch rtems/rtos:main

  • 0bbb25b1 - bsps: Disable interrupts in fatal extension

  • 4f1b0ca2 - bsps: Request SMP shutdown in fatal extension

Compare with previous version

57 - rtems: Clarify rtems_interrupt_set_priority()

Id

57

State

merged

Merged by

Kinsey Moore

Merged at

2024-06-06T23:42:39.733Z

Assignee(s)

Sebastian Huber

Created

2024-06-04T09:34:53.980Z

Updated

2024-06-06T23:42:41.867Z

Milestone

6.1

Labels

rtems::kernel

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/57

Commit

cbe60cea71a07106922b4b4db52a912216987962

Summary

rtems: Clarify rtems_interrupt_set_priority()

Update #5002.

Author: Sebastian Huber

2024-06-04T09:34:54.076Z

assigned to @sebhub

Author: Gedare Bloom

2024-06-06T21:02:32.962Z

approved this merge request

Author: Kinsey Moore

2024-06-06T23:41:16.072Z

added 14 commits

  • b2bf0691…e1be6899 - 13 commits from branch rtems/rtos:main

  • cbe60cea - rtems: Clarify rtems_interrupt_set_priority()

Compare with previous version

Author: Kinsey Moore

2024-06-06T23:42:28.392Z

approved this merge request

58 - smpschedaffinity02: Fix sporadic test failures

Id

58

State

merged

Merged by

Amar Takhar

Merged at

2024-06-06T21:49:33.909Z

Created

2024-06-04T18:30:09.209Z

Updated

2024-06-06T21:49:35.212Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/58

Commit

e1be689980bacbdaca279783ba184a89c1bb0ee8

Summary

smpschedaffinity02: Fix sporadic test failures

Under rare timing conditions, the polled mutex obtain can favour one processor and starve the other. This can lead to test failures.

Author: Sebastian Huber

2024-06-06T05:42:41.191Z

added 3 commits

  • 82d5aabf…42ad53f3 - 2 commits from branch rtems/rtos:main

  • e1be6899 - smpschedaffinity02: Fix sporadic test failures

Compare with previous version

Author: Gedare Bloom

2024-06-06T21:03:30.726Z

approved this merge request

Author: Amar Takhar

2024-06-06T21:49:29.756Z

approved this merge request

46 - score: Add _SMP_barrier_Wait_for_other()

Id

46

State

merged

Merged by

Amar Takhar

Merged at

2024-06-04T22:01:17.977Z

Assignee(s)

Sebastian Huber

Created

2024-05-24T06:45:18.806Z

Updated

2024-06-04T22:01:20.976Z

Milestone

6.1

Labels

rtems::score

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/46

Commit

25ba67963aa23dff4fbe87a2e0c56b8c011cdf8a

Summary

score: Add _SMP_barrier_Wait_for_other()

This function may be used to ensure that a count of processors performed a set of actions and then wait on the barrier performing only memory loads (no memory stores).

Author: Sebastian Huber

2024-05-24T06:45:18.898Z

assigned to @sebhub

Author: Sebastian Huber

2024-05-24T06:54:07.941Z

mentioned in merge request !44

Author: Gedare Bloom

2024-05-31T20:01:31.208Z

approved this merge request

Author: Amar Takhar

2024-06-04T22:00:57.916Z

added 16 commits

  • e1f328e9…6c66526e - 15 commits from branch rtems/rtos:main

  • 25ba6796 - score: Add _SMP_barrier_Wait_for_other()

Compare with previous version

Author: Amar Takhar

2024-06-04T22:01:13.788Z

approved this merge request

52 - x86_64/include/rtems/score/cpuimpl.h: Relicense to 2-BSD

Id

52

State

merged

Merged by

Chris Johns

Merged at

2024-05-28T21:24:10.333Z

Assignee(s)

Joel Sherrill

Created

2024-05-28T20:47:38.908Z

Updated

2024-05-28T21:24:12.050Z

Milestone

6.1

Labels

cpukit

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/52

Commit

e63c867104f3bf63d66dbfd067c15a914debb228

Summary

x86_64/include/rtems/score/cpuimpl.h: Relicense to 2-BSD

This file had two copyrights but was missed in the earlier review. Both parties had given permission.

Update #3053.

Author: Joel Sherrill

2024-05-28T20:47:39.070Z

assigned to @joel

Author: Amar Takhar

2024-05-28T20:54:02.637Z

approved this merge request

Author: Chris Johns

2024-05-28T21:24:02.688Z

approved this merge request

31 - build: Simplify wscript code

Id

31

State

merged

Merged by

Gedare Bloom

Merged at

2024-05-23T20:56:04.723Z

Created

2024-05-14T05:51:07.181Z

Updated

2024-05-23T20:56:07.413Z

Milestone

6.1

Labels

rtems::build

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/31

Commit

a85402f76f7a249eebef488166faba06d5b52add

Summary

Author: Chris Johns

2024-05-14T05:57:55.652Z

approved this merge request

Author: Kinsey Moore

2024-05-21T20:27:23.085Z

added 8 commits

  • 31aaf164…cfb9f96c - 7 commits from branch rtems/rtos:main

  • 7b5c9267 - build: Simplify wscript code

Compare with previous version

Author: Chris Johns

2024-05-23T00:00:20.598Z

added 8 commits

  • 7b5c9267…e74cea41 - 7 commits from branch rtems/rtos:main

  • db570c67 - build: Simplify wscript code

Compare with previous version

Author: Gedare Bloom

2024-05-23T20:55:24.829Z

added 3 commits

  • db570c67…3225f69d - 2 commits from branch rtems/rtos:main

  • a85402f7 - build: Simplify wscript code

Compare with previous version

Author: Gedare Bloom

2024-05-23T20:55:53.631Z

approved this merge request

41 - posix: Fixed header comment of aio_read.c

Id

41

State

merged

Merged by

Gedare Bloom

Merged at

2024-05-23T19:10:33.860Z

Created

2024-05-21T16:57:26.125Z

Updated

2024-05-23T19:10:36.532Z

Milestone

6.1

Labels

api::posix

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/41

Commit

d1a38c7749c7f4f9a84b7ccdc29ad38a780a4069

Summary

Corrected the header comment of aio_read.c

Fixes #5015

Author: Alessandro Nardin

2024-05-21T16:58:01.980Z

changed the description

Author: Joel Sherrill

2024-05-23T19:05:34.870Z

Can you convert the documentation in all aio*.c to Doxygen? This style of comments dates from the earliest days of RTEMS.

Author: Alessandro Nardin

2024-05-23T19:05:34.870Z

I was looking at the Doxygen Guidelines in the RTEMS documentation and it looks like every function declaration should be documented in the header. Right now the only documented function declaration is aio_cancel(). Should i move the documentation present in the various aio*.c files in aio.h ?

Author: Alessandro Nardin

2024-05-23T08:43:58.657Z

changed this line in version 4 of the diff

Author: Kinsey Moore

2024-05-21T20:22:30.762Z

added 2 commits

  • cfb9f96c - 1 commit from branch rtems/rtos:main

  • 7ba99e25 - Fixed header comment of aio_read.c

Compare with previous version

Author: Chris Johns

2024-05-21T23:00:23.399Z

approved this merge request

Author: Alessandro Nardin

2024-05-23T07:07:59.312Z

added 8 commits

  • 7ba99e25…e74cea41 - 7 commits from branch rtems/rtos:main

  • b4118cd9 - Merge branch rtems:main into aio-read-correction

Compare with previous version

Author: Alessandro Nardin

2024-05-23T08:43:58.855Z

added 1 commit

  • ae771d14 - fixed style in aio_read.c and converted documentation to doxygen

Compare with previous version

Author: Alessandro Nardin

2024-05-23T08:44:14.296Z

reset approvals from @chris by pushing to the branch

Author: Joel Sherrill

2024-05-23T18:40:29.062Z

approved this merge request

Author: Gedare Bloom

2024-05-23T19:05:34.886Z

resolved all threads

Author: Gedare Bloom

2024-05-23T19:07:10.872Z

added 3 commits

  • 80c94eef - 1 commit from branch rtems/rtos:main

  • b04e2db3 - Fixed header comment of aio_read.c

  • d1a38c77 - fixed style in aio_read.c and converted documentation to doxygen

Compare with previous version

Author: Gedare Bloom

2024-05-23T19:08:26.880Z

changed title from Fixed header comment of aio_read.c to {+posix: +}Fixed header comment of aio_read.c

Author: Gedare Bloom

2024-05-23T19:08:55.766Z

approved this merge request

12 - arm: Fix Armv7-M floating-point support

Id

12

State

merged

Merged by

Kinsey Moore

Merged at

2024-05-22T01:52:07.631Z

Created

2024-05-02T11:59:25.894Z

Updated

2024-05-22T01:52:10.162Z

Milestone

6.1

Labels

arch:arm

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/12

Commit

e74cea4172ee8564bef5f8500c5dd07512257d99

The _ARMV7M_Pendable_service_call() and _ARMV7M_Supervisor_call() work as a team. The –ef and ++ef is there to preserve the original exception frame across the jump to and from _ARMV7M_Thread_dispatch().

void _ARMV7M_Pendable_service_call( void )
{
Per_CPU_Control *cpu_self = _Per_CPU_Get();

/*
* We must check here if a thread dispatch is allowed.  Right after a
* "msr basepri_max, %[basepri]" instruction an interrupt service may
still
* take place.  However, pendable service calls that are activated during
* this interrupt service may be delayed until interrupts are enable
again.
*/
if (
( cpu_self->isr_nest_level |
cpu_self->thread_dispatch_disable_level ) == 0
) {
ARMV7M_Exception_frame *ef;

cpu_self->isr_nest_level = 1;

_ARMV7M_SCB->icsr = ARMV7M_SCB_ICSR_PENDSVCLR;
_ARMV7M_Trigger_lazy_floating_point_context_save();

At this point, the floating point context should be saved on the
exception frame.  The FPCCR.LSPACT bit should be 0, to indicate that lazy
state preservation is no longer active.

ef = (ARMV7M_Exception_frame *) _ARMV7M_Get_PSP();
--ef;
_ARMV7M_Set_PSP( (uint32_t) ef );

This new exception frame is just there to jump to
_ARMV7M_Thread_dispatch(). Here was the problem, that FPCCR.LSPACT was
not set to 1.  This resulted in a floating-point context from
uninitialized memory which could corrupt the floating-point state.  See
also:

https://developer.arm.com/documentation/ddi0403/d/System-Level-Architecture/System-Level-Programmers--Model/ARMv7-M-exception-model/Exception-return-behavior?lang=en

/*
* According to "ARMv7-M Architecture Reference Manual" section B1.5.6
* "Exception entry behavior" the return address is half-word aligned.
*/
ef->register_pc = (void *)
((uintptr_t) _ARMV7M_Thread_dispatch & ~((uintptr_t) 1));

ef->register_xpsr = 0x01000000U;
}
}

Close #4923.

Author: Sebastian Huber

2024-05-02T12:01:45.890Z

mentioned in merge request !10

Author: Amar Takhar

2024-05-06T05:40:00.789Z

added 9 commits

  • 75cc5fd8…33f92239 - 8 commits from branch rtems/rtos:main

  • 0a5b3653 - arm: Fix Armv7-M floating-point support

Compare with previous version

Author: Kinsey Moore

2024-05-07T23:18:02.092Z

added 10 commits

  • 0a5b3653…1f4e0c10 - 8 commits from branch rtems/rtos:main

  • 578b179c - bsps: Use interrupt entry in clock driver

  • 79c73681 - arm: Fix Armv7-M floating-point support

Compare with previous version

Author: Sebastian Huber

2024-05-13T05:00:39.914Z

See discussion in !10, this merge request should be checked in and !10 should be closed.

Author: Kinsey Moore

2024-05-17T14:07:25.368Z

added 14 commits

  • 79c73681…ab8817ca - 13 commits from branch rtems/rtos:main

  • 5c02691f - arm: Fix Armv7-M floating-point support

Compare with previous version

Author: Joel Sherrill

2024-05-17T14:11:28.870Z

approved this merge request

Author: Kinsey Moore

2024-05-17T14:18:59.213Z

@cedric I think the approvals setup is now live and functional. I can’t approve because I clicked rebase and became a committer, but you should be able to approve and then it can be merged.

Author: Gedare Bloom

2024-05-17T14:28:51.445Z

approved this merge request

Author: Kinsey Moore

2024-05-22T01:31:14.388Z

added 13 commits

  • 5c02691f…2c03b41f - 12 commits from branch rtems/rtos:main

  • 8039398e - arm: Fix Armv7-M floating-point support

Compare with previous version

Author: Kinsey Moore

2024-05-22T01:46:03.381Z

added 2 commits

  • b874f4c9 - 1 commit from branch rtems/rtos:main

  • e74cea41 - arm: Fix Armv7-M floating-point support

Compare with previous version

30 - cpukit/libdl/aarch64: Improve debug output

Id

30

State

merged

Merged by

Chris Johns

Merged at

2024-05-21T23:28:17.714Z

Assignee(s)

Kinsey Moore

Created

2024-05-10T16:06:27.044Z

Updated

2024-05-21T23:28:18.948Z

Milestone

6.1

Labels

arch:aarch64, cpukit::dl

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/30

Commit

2c03b41fdcd5a9efe49e1103e5762a8d9073a13d

Summary

This rearranges the debug output so that more information is available on a failed alignment check.

Author: Kinsey Moore

2024-05-10T16:06:27.216Z

assigned to @opticron

Author: Joel Sherrill

2024-05-21T20:12:50.322Z

Looks good to hopefully improve catching an error.

Author: Joel Sherrill

2024-05-21T20:12:54.840Z

approved this merge request

Author: Kinsey Moore

2024-05-21T20:18:30.825Z

added 8 commits

  • c132c9bb…cfb9f96c - 7 commits from branch rtems/rtos:main

  • 97466a03 - cpukit/libdl/aarch64: Improve debug output

Compare with previous version

Author: Chris Johns

2024-05-21T23:28:00.834Z

approved this merge request

Author: Chris Johns

2024-05-21T23:28:05.534Z

added 5 commits

  • 97466a03…f0944277 - 4 commits from branch rtems/rtos:main

  • 2c03b41f - cpukit/libdl/aarch64: Improve debug output

Compare with previous version

36 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Id

36

State

merged

Merged by

Chris Johns

Merged at

2024-05-21T22:57:51.028Z

Assignee(s)

Kinsey Moore

Created

2024-05-17T19:25:48.605Z

Updated

2024-05-21T22:57:52.851Z

Milestone

6.1

Labels

arch:arm

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/36

Commit

7eb3ef09b06ff19ecb32c932866f53ea21c8b12c

Summary

spec/xilinx-zynqmp-rpu: Calculate correct RAM area

There were some problems in the math calculating RAM length and NOCACHE origin location. These have been resolved in this patch allowing RTEMS RAM space to be relocated above 0xfe00000 to better accomodate other elements in the system.

Author: Kinsey Moore

2024-05-17T19:25:48.811Z

assigned to @opticron

Author: Kinsey Moore

2024-05-17T19:26:05.012Z

added 4 commits

  • 3e837678…47808714 - 2 commits from branch rtems/rtos:main

  • 96fa9ad2 - cpukit/libdl/aarch64: Improve debug output

  • 070cfd46 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Compare with previous version

Author: Kinsey Moore

2024-05-17T19:27:57.009Z

added 1 commit

  • 40bfc0d7 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Compare with previous version

Author: Kinsey Moore

2024-05-17T19:58:02.561Z

added 2 commits

  • fafd85e1 - 1 commit from branch rtems/rtos:main

  • 17615f71 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Compare with previous version

Author: Amar Takhar

2024-05-20T02:37:10.113Z

Just testing.

Author: Kinsey Moore

2024-05-20T03:03:36.802Z

added 3 commits

  • 17615f71…e95dabc7 - 2 commits from branch rtems/rtos:main

  • 7eceeba6 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Compare with previous version

Author: Sebastian Huber

2024-05-21T08:53:42.005Z

This change is fine. I have a larger patch set for the RPU in my queue which touches also this area, however, it depends on !16.

Author: Kinsey Moore

2024-05-21T17:37:32.905Z

added 2 commits

  • 79b385c8 - 1 commit from branch rtems/rtos:main

  • 6f6a1691 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Compare with previous version

Author: Joel Sherrill

2024-05-21T20:07:43.857Z

i reviewed this and am ok. Hopefully a second approval can push this over the line.

Author: Joel Sherrill

2024-05-21T20:07:48.486Z

approved this merge request

Author: Kinsey Moore

2024-05-21T20:17:13.541Z

added 2 commits

  • cfb9f96c - 1 commit from branch rtems/rtos:main

  • 63dddbdb - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Compare with previous version

Author: Chris Johns

2024-05-21T22:54:27.551Z

approved this merge request

Author: Chris Johns

2024-05-21T22:55:15.916Z

added 2 commits

  • fca3f2b8 - 1 commit from branch rtems/rtos:main

  • 7eb3ef09 - spec/xilinx-zynqmp-rpu: Calculate correct RAM area

Compare with previous version

17 - rtems: Add get/set interrupt priorities

Id

17

State

merged

Merged by

Kinsey Moore

Merged at

2024-05-10T15:02:18.598Z

Created

2024-05-02T13:00:25.078Z

Updated

2024-05-10T15:02:20.826Z

Milestone

6.1

Labels

arch:arm

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/17

Commit

ab8817ca03a2518679edccea7d1346764a27451c

Summary

Add directives to get and set the priority of an interrupt vector.

Implement the directives for the following BSP families:

  • arm/lpc24xx

  • arm/lpc32xx

  • powerpc/mpc55xxevb

  • powerpc/qoriq

Implement the directives for the following interrupt controllers:

  • GICv2 and GICv3 (arm and aarch64)

  • NVIC (arm)

  • PLIC (riscv)

Update #5002.

Author: Kinsey Moore

2024-05-07T19:15:20.743Z

added 8 commits

  • d1618873…f5b52a3a - 7 commits from branch rtems/rtos:main

  • 4b19581f - rtems: Add get/set interrupt priorities

Compare with previous version

Author: Kinsey Moore

2024-05-07T20:20:30.374Z

The original implementations of these functions handle non-ARCH_V4 builds while the new versions do not. Was this functionality unused?

Author: Kinsey Moore

2024-05-07T20:20:30.374Z

Disregard, I see that the functionality mentioned was broken out into a separate implementation.

Author: Kinsey Moore

2024-05-07T20:20:30.391Z

resolved all threads

Author: Kinsey Moore

2024-05-07T21:01:13.316Z

approved this merge request

Author: Chris Johns

2024-05-08T07:37:30.784Z

Is priority unused?

If there is no debug bsp_interrupt_assert becomes ((void) 0) so does that mean vector is unused?

I will not comment on the other cases in this and the other files and assume this comment covers those cases as well.

Author: Sebastian Huber

2024-05-08T07:37:30.784Z

This is the version for BSPs which have no real implementation of this new API.

Author: Chris Johns

2024-05-08T07:37:30.784Z

Do we get warnings now? If not why not?

Author: Sebastian Huber

2024-05-08T07:37:30.784Z

Unused parameter warnings are not enabled as far as I know.

Author: Chris Johns

2024-05-08T07:37:30.784Z

Ah OK then turning it on would cause a lot of problems.

Author: Chris Johns

2024-05-08T07:35:54.055Z

Is this more a case of not supported on the BSP/arch? Would saying this help someone who sees the interface but does not know the BSP specifics understand what the error is?

Author: Sebastian Huber

2024-05-08T07:35:54.055Z

This error is returned if there is no real implementation or the interrupt controller doesn’t support priorities. It is also associated with the can_get_priority attribute.

Author: Chris Johns

2024-05-08T07:35:54.055Z

Makes sense. Can this be added?

Author: Sebastian Huber

2024-05-08T07:35:44.643Z

changed this line in version 4 of the diff

Author: Sebastian Huber

2024-05-08T07:35:54.055Z

Ok, I updated the documentation.

Author: Chris Johns

2024-05-08T07:25:36.056Z

Is <= OK or should it be <? The test as is means MPC55XX_INTC_DISABLED_PRIORITY is a valid priority?

If it is valid then I suggest this is noted in a comment.

Author: Sebastian Huber

2024-05-08T07:25:36.056Z

Yes, 15 is a valid priority value. The effect is that this interrupt is disabled.

Author: Sebastian Huber

2024-05-08T07:23:14.535Z

changed this line in version 3 of the diff

Author: Sebastian Huber

2024-05-08T07:25:36.056Z

I added a comment.

Author: Chris Johns

2024-05-08T07:25:51.695Z

Same comment as MPC55XX. Is this test valid or should it be <?

Author: Sebastian Huber

2024-05-08T07:23:15.328Z

changed this line in version 3 of the diff

Author: Sebastian Huber

2024-05-08T07:25:51.695Z

I added a comment.

Author: Chris Johns

2024-05-08T07:26:16.642Z

Am I to assume the 15 is related to the comment in the header file about the PIC value?

Should this be a define from that set so a check takes to those defines and so the comment?

Author: Sebastian Huber

2024-05-08T07:23:15.791Z

changed this line in version 3 of the diff

Author: Sebastian Huber

2024-05-08T07:26:16.642Z

I replaced the UINT32_C(15) with QORIQ_PIC_PRIORITY_DISABLED.

Author: Sebastian Huber

2024-05-08T07:23:16.009Z

added 3 commits

  • 4b19581f…40ddcf95 - 2 commits from branch rtems/rtos:main

  • 6f1503b9 - rtems: Add get/set interrupt priorities

Compare with previous version

Author: Sebastian Huber

2024-05-08T07:23:29.833Z

reset approvals from @opticron by pushing to the branch

Author: Sebastian Huber

2024-05-08T07:27:34.043Z

I also updated the documentation to cross reference rtems_interrupt_set_priority() and CONFIGURE_INTERRUPT_STACK_SIZE.

Author: Sebastian Huber

2024-05-08T07:35:44.894Z

added 1 commit

  • 78bf4217 - rtems: Add get/set interrupt priorities

Compare with previous version

Author: Chris Johns

2024-05-08T07:37:30.815Z

resolved all threads

Author: Chris Johns

2024-05-08T07:38:22.984Z

approved this merge request

Author: Kinsey Moore

2024-05-10T13:24:50.811Z

added 5 commits

  • 78bf4217…f6c8726c - 4 commits from branch rtems/rtos:main

  • 554a108e - rtems: Add get/set interrupt priorities

Compare with previous version

Author: Kinsey Moore

2024-05-10T13:26:27.362Z

added 8 commits

  • 554a108e…89ccc65d - 7 commits from branch rtems/rtos:main

  • ab8817ca - rtems: Add get/set interrupt priorities

Compare with previous version

Author: Kinsey Moore

2024-05-10T15:02:12.567Z

approved this merge request

20 - Synchronize timecounter support with FreeBSD 2024-05-06

Id

20

State

merged

Merged by

Kinsey Moore

Merged at

2024-05-10T13:26:11.427Z

Reviewer(s)

Chris Johns

Created

2024-05-06T14:20:28.124Z

Updated

2024-05-10T13:26:13.740Z

Milestone

6.1

Labels

rtems::score

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/20

Commit

89ccc65d1a4d8d6aea6b21551296aedd19d5a034

Summary

Author: Chris Johns

2024-05-06T23:03:53.735Z

approved this merge request

Author: Chris Johns

2024-05-07T05:11:26.927Z

requested review from @chris

Author: Sebastian Huber

2024-05-07T09:14:32.467Z

added 15 commits

  • d802b343…168bcd2a - 5 earlier commits

  • 25d227f1 - bsps/arm: Add Doxygen group for Armv7-M SysTick

  • c18851ba - bsps/arm: Add CMSIS files to Doxygen group

  • 30413b08 - bsps/arm: Fix Doxygen group assignment

  • 982ee02e - sys/sys: further adoption of SPDX licensing ID tags.

  • 94a954a8 - spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

  • 5fc0796d - kern_ntptime: Fix undefined behavior of the shift operator

  • 4bd8af9b - sys: Remove $FreeBSD$: two-line .h pattern

  • 5dba74cb - sys: Remove $FreeBSD$: one-line .c pattern

  • b3aacb6e - timerfd: Move implementation from linux compat to cpukit/score/src

  • df167273 - Remove a reference to xrpu from timetc.h

Compare with previous version

Author: Sebastian Huber

2024-05-07T09:14:45.468Z

reset approvals from @chris by pushing to the branch

Author: Sebastian Huber

2024-05-07T09:15:43.358Z

added 7 commits

  • b8c47bbc - sys/sys: further adoption of SPDX licensing ID tags.

  • e5641803 - spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

  • 51753a2f - kern_ntptime: Fix undefined behavior of the shift operator

  • 70863e90 - sys: Remove $FreeBSD$: two-line .h pattern

  • f37f0f6d - sys: Remove $FreeBSD$: one-line .c pattern

  • f28fd988 - timerfd: Move implementation from linux compat to cpukit/score/src

  • 34f385e6 - Remove a reference to xrpu from timetc.h

Compare with previous version

Author: Sebastian Huber

2024-05-07T09:16:17.646Z

I updated the merge request to the new main.

Author: Sebastian Huber

2024-05-07T19:19:27.255Z

added 13 commits

  • 34f385e6…f5b52a3a - 6 commits from branch rtems/rtos:main

  • 0d880b6c - sys/sys: further adoption of SPDX licensing ID tags.

  • 9fe57e7d - spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

  • a4834817 - kern_ntptime: Fix undefined behavior of the shift operator

  • f46781a8 - sys: Remove $FreeBSD$: two-line .h pattern

  • e0092f1d - sys: Remove $FreeBSD$: one-line .c pattern

  • 9a1fd2e9 - timerfd: Move implementation from linux compat to cpukit/score/src

  • 497b1468 - Remove a reference to xrpu from timetc.h

Compare with previous version

Author: Chris Johns

2024-05-08T07:52:33.458Z

approved this merge request

Author: Chris Johns

2024-05-08T07:53:30.488Z

added 9 commits

  • 497b1468…40ddcf95 - 2 commits from branch rtems/rtos:main

  • ac64ff71 - sys/sys: further adoption of SPDX licensing ID tags.

  • f4385965 - spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

  • 8f2adbe6 - kern_ntptime: Fix undefined behavior of the shift operator

  • 11724e5a - sys: Remove $FreeBSD$: two-line .h pattern

  • f898cbdb - sys: Remove $FreeBSD$: one-line .c pattern

  • 9077f5bf - timerfd: Move implementation from linux compat to cpukit/score/src

  • eadfdc70 - Remove a reference to xrpu from timetc.h

Compare with previous version

Author: Kinsey Moore

2024-05-10T13:24:40.607Z

added 11 commits

  • eadfdc70…f6c8726c - 4 commits from branch rtems/rtos:main

  • b294ef23 - sys/sys: further adoption of SPDX licensing ID tags.

  • e11536c3 - spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

  • 42649240 - kern_ntptime: Fix undefined behavior of the shift operator

  • 770ef97a - sys: Remove $FreeBSD$: two-line .h pattern

  • 7867005d - sys: Remove $FreeBSD$: one-line .c pattern

  • c71d561b - timerfd: Move implementation from linux compat to cpukit/score/src

  • 89ccc65d - Remove a reference to xrpu from timetc.h

Compare with previous version

Author: Kinsey Moore

2024-05-10T13:26:08.026Z

approved this merge request

14 - Build optimizations for arm BSPs

Id

14

State

merged

Merged by

Kinsey Moore

Merged at

2024-05-10T13:24:28.030Z

Reviewer(s)

Chris Johns

Created

2024-05-02T12:48:48.391Z

Updated

2024-05-10T13:24:29.986Z

Milestone

6.1

Labels

rtems::build

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/14

Commit

f6c8726cb7d39369f3341e62d5d2b86793896f02

Author: Sebastian Huber

2024-05-02T12:54:29.284Z

changed title from Build optimizations for arm {-bsp-}s to Build optimizations for arm {+BSP+}s

Author: Sebastian Huber

2024-05-02T12:54:43.770Z

changed the description

Author: Chris Johns

2024-05-06T03:59:43.102Z

approved this merge request

Author: Chris Johns

2024-05-06T04:01:20.193Z

I struggled with the name of this MR. I was looking for code optimizations for ARM BSPs and there are none.

Out of interest how are the changes build system optimizations?

Author: Sebastian Huber

2024-05-07T04:43:32.055Z

Build tasks are moved from shared items to BSP items which actually use them.

Author: Amar Takhar

2024-05-06T05:34:38.528Z

added 5 commits

  • bd2fee87…86dcfc7c - 2 commits from branch rtems/rtos:main

  • bc48bbd0 - bsps/arm: Move BSP-specific header file installs

  • 16e441aa - bsps/arm: Use shared object for ARM920 MMU support

  • f22f5f40 - bsps/arm: Move BSP-specific header file

Compare with previous version

Author: Amar Takhar

2024-05-06T05:40:19.539Z

added 9 commits

  • f22f5f40…33f92239 - 6 commits from branch rtems/rtos:main

  • 5500eb7d - bsps/arm: Move BSP-specific header file installs

  • 5f00fd44 - bsps/arm: Use shared object for ARM920 MMU support

  • 4e19f5d2 - bsps/arm: Move BSP-specific header file

Compare with previous version

Author: Amar Takhar

2024-05-06T05:42:31.970Z

Sorry for the noise just testing this out. I’m setting up some CI to help with merge trains.

Author: Chris Johns

2024-05-07T04:44:13.369Z

requested review from @chris

Author: Sebastian Huber

2024-05-08T14:29:44.737Z

added 12 commits

  • 4e19f5d2…40ddcf95 - 9 commits from branch rtems/rtos:main

  • 08c21318 - bsps/arm: Move BSP-specific header file installs

  • d868a085 - bsps/arm: Use shared object for ARM920 MMU support

  • 89443617 - bsps/arm: Move BSP-specific header file

Compare with previous version

Author: Kinsey Moore

2024-05-10T13:20:48.505Z

added 4 commits

  • dfc147fd - 1 commit from branch rtems/rtos:main

  • 5a3a85cc - bsps/arm: Move BSP-specific header file installs

  • ee7f8474 - bsps/arm: Use shared object for ARM920 MMU support

  • f6c8726c - bsps/arm: Move BSP-specific header file

Compare with previous version

Author: Kinsey Moore

2024-05-10T13:24:04.277Z

approved this merge request

27 - aarch64/xilinx-zynqmp: Enable errata workarounds

Id

27

State

merged

Merged by

Kinsey Moore

Merged at

2024-05-08T22:09:44.553Z

Created

2024-05-08T09:24:40.238Z

Updated

2024-05-08T22:09:47.504Z

Milestone

6.1

Labels

arch:aarch64

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/27

Commit

dfc147fd33da7cd06e2c26b21cd669dfe1ce66d9

Summary

aarch64/xilinx-zynqmp: Enable errata workarounds

Close #5003.

Author: Sebastian Huber

2024-05-08T10:19:47.869Z

added 1 commit

  • dfc147fd - aarch64/xilinx-zynqmp: Enable errata workarounds

Compare with previous version

Author: Sebastian Huber

2024-05-08T10:20:53.455Z

This change is required to build the Cortex-A53 based BSPs with the latest tools.

Author: Kinsey Moore

2024-05-08T22:09:31.642Z

Thanks for adding the no-outline-atomics flags to the generic A53 BSPs. I didn’t realize that A53 cores can’t support FEAT_LSE as per documentation and I’m surprised outline atomics are enabled when the A53 core is selected by the CPU flag.

Author: Sebastian Huber

2024-05-08T22:09:31.642Z

I am not sure if the no-outline-atomics flag is actually redundant. I used it also for the multilib configuration.

Author: Kinsey Moore

2024-05-08T22:09:31.642Z

It was when I tested on zynqmp which is why it’s there. GCC was generating instructions from FEAT_LSE and throwing undefined instruction errors. No idea if it’s still necessary.

Author: Kinsey Moore

2024-05-08T22:09:36.470Z

If we’re going to rearrange these, should we arrange them alphabetically? Applies to the other change as well.

Author: Sebastian Huber

2024-05-08T22:09:36.470Z

They are sorted from general to specific and match with the multilib configuration.

Author: Chris Johns

2024-05-08T21:51:55.618Z

approved this merge request

Author: Kinsey Moore

2024-05-08T22:09:23.677Z

approved this merge request

Author: Kinsey Moore

2024-05-08T22:09:36.490Z

resolved all threads

23 - bsps: Use interrupt entry in clock driver

Id

23

State

merged

Merged by

Chris Johns

Merged at

2024-05-07T23:37:02.598Z

Created

2024-05-07T09:19:32.656Z

Updated

2024-05-07T23:37:09.255Z

Milestone

6.1

Labels

arch:arm

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/23

Commit

40ddcf95800fabff71aa3238e0c284cde0599263

Summary

Submit again since commits disappeared.

Author: Kinsey Moore

2024-05-07T23:21:34.304Z

added 8 commits

  • 1c713394…1f4e0c10 - 7 commits from branch rtems/rtos:main

  • 40ddcf95 - bsps: Use interrupt entry in clock driver

Compare with previous version

Author: Kinsey Moore

2024-05-07T23:36:17.307Z

approved this merge request

Author: Chris Johns

2024-05-07T23:36:58.074Z

approved this merge request

24 - bsps/powerpc: Introduction of interrupt locks

Id

24

State

merged

Merged by

Chris Johns

Merged at

2024-05-07T21:14:28.989Z

Created

2024-05-07T16:31:05.542Z

Updated

2024-05-07T21:14:28.981Z

Milestone

6.1

Labels

arch:powerpc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/24

Commit

1f4e0c1036d7a814a7ce854436b5f7b82f92ef61

Summary

bsps/powerpc: Introduction of interrupt locks

Interrupt locks are introduced in shared vme device drivers to enable compilation in an SMP configuration of the qoriq BSP.

This merge request replicates the changes added in !11 that have been lost.

Author: Vincenzo Calabretta

2024-05-07T16:34:20.406Z

mentioned in merge request !11

Author: Chris Johns

2024-05-07T21:14:20.298Z

From !11 which was lost due to the history rewrite.

The changes had a review on the devel@ mailing list before we moved to GitLab. The important detail is:

Hello Chris, it is tested on an MVME2500 which uses the powerpc/qoriq_e500 in an SMP configuration. Best regards Christian On 2024-04-18 04:04, Chris Johns wrote:

Hi Vincenzo,

Welcome to RTEMS. What hardware in the shared VME PowerPC family of BSPS has this change been

tested on? Thanks Chris

I am happy with this. Any regressions on other shared PowerPC BSPs can be covered by new issues.

Author: Chris Johns

2024-05-07T21:14:22.645Z

approved this merge request

5 - Drop index.html from directory it loads by default.

Id

5

State

merged

Merged by

Amar Takhar

Merged at

2024-04-29T04:25:33.999Z

Created

2024-04-27T06:06:57.836Z

Updated

2024-04-29T04:25:35.967Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/5

Commit

3d8ddd62306ebc4b29ccb5f227052654086f51da

Summary

Drop index.html from directory it loads by default.

Testing out the new approvers setup.

Refs administration/gitlab#35

Author: Amar Takhar

2024-04-27T06:08:50.192Z

approved this merge request

Author: Chris Johns

2024-04-29T04:23:49.272Z

Loos good. Thanks for the clean up.

Author: Chris Johns

2024-04-29T04:23:52.505Z

approved this merge request

4 - Add an additional line for consistency.

Id

4

State

merged

Merged by

Amar Takhar

Merged at

2024-04-27T01:33:53.970Z

Created

2024-04-26T17:53:56.934Z

Updated

2024-04-27T01:33:55.251Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/4

Commit

fb3d4a8f5abf116905c18e69c7bdf755d04e0dd6

Summary

Add an additional line for consistency.

This is also to test the merge template which just sets the milestone.

Author: Amar Takhar

2024-04-26T23:56:32.059Z

Still unsure why the milestone is not being set when I can set it the comments. See:

Author: Amar Takhar

2024-04-26T23:57:01.252Z

Yes it just set OK but not from the Default template.

Author: Amar Takhar

2024-04-27T01:27:22.530Z

approved this merge request

Author: Chris Johns

2024-04-27T01:31:58.670Z

approved this merge request

2 - bsp/arm/zynq: Move README to README.md

Id

2

State

merged

Merged by

Chris Johns

Merged at

2024-04-25T22:06:59.729Z

Assignee(s)

Chris Johns

Created

2024-04-25T22:03:48.504Z

Updated

2024-04-25T22:07:01.003Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/2

Commit

7db19489176bc099d76486e0f4b7ea81c416eb6a

Author: Chris Johns

2024-04-25T22:03:48.644Z

assigned to @chris

Author: Amar Takhar

2024-04-25T22:04:49.656Z

approved this merge request

Author: Kinsey Moore

2024-04-25T22:06:12.343Z

approved this merge request

1 - Convert README to MarkDown

Id

1

State

merged

Merged by

Amar Takhar

Merged at

2024-04-25T04:50:59.852Z

Created

2024-04-24T22:29:39.834Z

Updated

2024-04-25T05:50:36.552Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1

Commit

3fc3a4f8598a5e4a9d06410931fa654f718978f5

In preparation for moving to MarkDown.

Author: Amar Takhar

2024-04-24T22:30:12.665Z

added 5 commits

  • bb7d37df…912d7572 - 3 commits from branch rtems/rtos:main

  • ba8bcfeb - Rename README to README.md

  • 710880c2 - Convert README to MarkDown.

Compare with previous version

Author: Chris Johns

2024-04-25T01:13:15.693Z

I like RTEMS in the title for those who may not pick up the what it stands for. What about:

RTEMS - Real-Time Executive for Multiprocessing Systems

?

Author: Amar Takhar

2024-04-25T01:13:15.693Z

The very first sentence right after that says RTEMS I removed it because it was silly seeing it twice and it’s hard to make the next sentence work without saying RTEMS.

Author: Chris Johns

2024-04-25T01:13:15.693Z

I have not viewed a rendered version and I have now by browsing the files under the commit (nice :smile:). It looks good.

Author: Chris Johns

2024-04-25T01:17:55.575Z

What about an update here while we make the change and say the license is permissive?

Author: Amar Takhar

2024-04-25T01:17:55.575Z

I’m converting to MarkDown right now I didn’t even read the content really other than capitalising the first letters. We can make changes after it’s converted?

Author: Chris Johns

2024-04-25T00:47:06.918Z

Looks good.

Do we want to add support is via RTEMS GitLab?

Author: Amar Takhar

2024-04-25T01:17:55.594Z

resolved all threads

Author: Chris Johns

2024-04-25T01:24:38.795Z

approved this merge request

Author: Amar Takhar

2024-04-25T01:30:19.147Z

I’m going to close this because we’ve hit a bug in GitLab. I’ve turned off ‘pipeline must succeed’ but it’s not doing anything so will re-submit see:

Author: Chris Johns

2024-04-25T01:33:57.391Z

approved this merge request

Author: Amar Takhar

2024-04-25T01:44:31.233Z

Closing the merge request and re-opening has fixed the pipeline issue. We aren’t launching with pipelines so for now we’ll keep the requirement off.

Author: Amar Takhar

2024-04-25T03:25:16.510Z

added 3 commits

  • bbe12d62 - 1 commit from branch rtems/rtos:main

  • 5b5c4a05 - Rename README to README.md

  • 3fc3a4f8 - Convert README to MarkDown.

Compare with previous version

Author: Amar Takhar

2024-04-25T04:05:28.625Z

approved this merge request

Author: Amar Takhar

2024-04-25T04:05:52.736Z

Enabled self approval for testing purposes.

Author: Chris Johns

2024-04-25T04:50:15.270Z

approved this merge request

Author: Amar Takhar

2024-04-25T05:50:36.520Z

mentioned in issue administration/gitlab#15

60 - Resolve “MicroBlaze BSPs modify carry flag before MSR is saved” (closed)

Id

60

State

closed

Closed by

Kinsey Moore

Created

2024-06-06T23:34:26.152Z

Closed

2024-06-11T14:47:20.912Z

Updated

2024-06-11T14:47:20.897Z

Milestone

6.1

Labels

bsp, priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/60

Commit

4492fc1d66863846867e010619dda167e04bd6d2

Summary

Closes #4962

Author: Kinsey Moore

2024-06-06T23:38:08.399Z

added 1 commit

  • 87ee0df9 - microblaze: Move interrupt context save to BSP

Compare with previous version

Author: Kinsey Moore

2024-06-06T23:38:19.095Z

marked this merge request as ready

Author: Sebastian Huber

2024-06-07T13:17:05.879Z

I suggest to remove bsps/microblaze/microblaze_fpga/start/_interrupt_handler.S and move the prologue to _ISR_Handler. Then rename _ISR_Handler to _interrupt_handler (or replace the uses of _interrupt_handler with _ISR_Handler.

Author: Gedare Bloom

2024-06-11T14:49:46.171Z

mixing tabs and spaces

Author: Gedare Bloom

2024-06-10T17:34:52.835Z

requested changes

Author: Kinsey Moore

2024-06-10T19:19:00.963Z

added 20 commits

  • 87ee0df9…28c7475b - 19 commits from branch main

  • 4492fc1d - microblaze: Move interrupt context save to BSP

Compare with previous version

Author: Kinsey Moore

2024-06-11T14:47:20.359Z

Closing this MR to move it to my personal branch since branches in the public repo are against policy.

61 - Draft: Resolve “User manual test documentation update” (closed)

Id

61

State

closed

Assignee(s)

Kinsey Moore

Closed by

Kinsey Moore

Created

2024-06-07T01:40:18.847Z

Closed

2024-06-07T01:41:19.142Z

Updated

2024-06-07T01:41:19.133Z

Milestone

6.1

Labels

doc, priority::normal, tickettype::defect, version::6

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/61

Commit

cbe60cea71a07106922b4b4db52a912216987962

Summary

Closes #4960

Author: Kinsey Moore

2024-06-07T01:40:18.997Z

assigned to @opticron

32 - This is a test MR, do not merge (closed)

Id

32

State

closed

Assignee(s)

Kinsey Moore

Reviewer(s)

Sebastian Huber

Closed by

Kinsey Moore

Created

2024-05-14T20:53:44.387Z

Closed

2024-05-22T14:28:39.692Z

Updated

2024-05-22T14:28:39.668Z

Milestone

6.1

Labels

arch:aarch64

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/32

Commit

32d9ccd44ee654a191846a054748a8cc819be69b

Summary

bsps/aarch64/a72: Avoid use of reserved INTIDs

Interrupt IDs 1020, 1021, 1022, and 1023 are reserved as special INTIDs and should be ignored for normal RTEMS operation as they signal internal changes in the interrupt controller that RTEMS itself is directly causing.

Author: Kinsey Moore

2024-05-14T20:53:44.833Z

assigned to @opticron

Author: Kinsey Moore

2024-05-14T20:53:55.266Z

requested review from @sebhub

Author: Kinsey Moore

2024-05-22T14:28:39.253Z

I think we’re done testing for now.

19 - testsuites/libtest/dl12: add DL test for incrementally linked objects (closed)

Id

19

State

closed

Reviewer(s)

Chris Johns

Closed by

Ranulfo Raphael

Created

2024-05-06T11:19:44.443Z

Closed

2024-05-07T21:26:48.628Z

Updated

2024-05-17T01:11:20.589Z

Milestone

6.1

Labels

cpukit::dl

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/19

Commit

e5a8afa75b9e6e943b56f8bca0c99ca0091265e3

Summary

testsuites/libtest/dl12: add DL test for incrementally linked objects

This commit adds a test to validate the incremental linking functionality in RTL. The test is related to issue #3740.

Author: Chris Johns

2024-05-06T23:38:32.038Z

Looks good. Thanks

Author: Chris Johns

2024-05-06T23:38:35.477Z

approved this merge request

Author: Chris Johns

2024-05-06T23:38:54.307Z

requested review from @chris

Author: Ranulfo Raphael

2024-05-07T12:08:27.159Z

added 9 commits

  • 7f7841b9…f5b52a3a - 6 commits from branch rtems/rtos:main

  • 9cc36ee2 - bsps/powerpc: Introduction of interrupt locks

  • 10fa3406 - bsps: Use interrupt entry in clock driver

  • 3cb44356 - testsuites/libtest/dl12: add DL test for incrementally linked objects

Compare with previous version

Author: Ranulfo Raphael

2024-05-07T12:21:57.154Z

added 1 commit

  • e5a8afa7 - testsuites/libtest/dl12: add DL test for incrementally linked objects

Compare with previous version

Author: Ranulfo Raphael

2024-05-07T12:24:40.777Z

Merge request updated to the new main.

Author: Ranulfo Raphael

2024-05-07T21:44:05.198Z

Reopened on a new fork in !25.

Author: Ranulfo Raphael

2024-05-17T01:11:20.524Z

mentioned in merge request !25

6 - Resolve “Migrate commits from master to main after gitlab transition” (closed)

Id

6

State

closed

Assignee(s)

Gedare Bloom

Reviewer(s)

Chris Johns, Joel Sherrill, Kinsey Moore

Closed by

Gedare Bloom

Created

2024-04-29T15:48:23.823Z

Closed

2024-04-30T15:03:22.124Z

Updated

2024-05-02T04:21:44.104Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/6

Commit

00f0d307b49097236dd10329456bb4103c283024

Summary

Closes #5005

Author: Gedare Bloom

2024-04-29T15:48:24.003Z

assigned to @gedare

Author: Gedare Bloom

2024-04-29T15:49:31.182Z

added 23 commits

  • 3d8ddd62…87f25b54 - 13 earlier commits

  • daf59b80 - bsps/arm: Improve GICv2 support

  • e0b298e6 - dev/irq: Improve Doxgyen group assignments

  • 1b74de95 - validation: Test global construction on aarch64

  • 69d4ea91 - validation: Improve bad thread dispatch validation

  • 45eb7065 - arm/xen: Fix BSP_INTERRUPT_VECTOR_COUNT

  • 25531a95 - bsps/arm: Improve GICv3 support

  • ecc6647e - bsp/qoriq: Include missing processormaskimpl.h

  • ff3b11c1 - doxygen: Fix constraints

  • 5fdd48b3 - validation: Fix typo

  • 9654b310 - bsps/aarch64/raspberrypi: Add system timer support

Compare with previous version

Author: Gedare Bloom

2024-04-29T15:49:46.015Z

marked this merge request as ready

Author: Gedare Bloom

2024-04-29T15:49:58.955Z

requested review from @chris, @joel, and @opticron

Author: Chris Johns

2024-04-30T07:35:47.276Z

approved this merge request

Author: Kinsey Moore

2024-04-30T14:23:55.448Z

added 23 commits

  • 9654b310…00f0d307 - 23 commits from branch main

Compare with previous version

Author: Gedare Bloom

2024-05-02T04:21:44.078Z

reset approvals from @chris by pushing to the branch

8 - Fix how GitLab picks up our license. (closed)

Id

8

State

closed

Closed by

Amar Takhar

Created

2024-04-30T21:37:50.207Z

Closed

2024-04-30T22:24:40.915Z

Updated

2024-04-30T22:24:40.895Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/8

Commit

a73624734f5a33396d3244f6dcdfb12f2ef3589c

Summary

Fix how GitLab picks up our license.

Most of the code in RTEMS is 2BSD we are switching the LICENSE file to 2BSD with an SPDX identifier.

The old license is now LICENSE_GPLw_exception.

Author: Amar Takhar

2024-04-30T22:24:40.429Z

We will not be addressing this now but at a later date.

Refs https://gitlab.rtems.org/administration/gitlab/-/issues/7

3 - Add an additional line for consistency. (closed)

Id

3

State

closed

Closed by

Amar Takhar

Created

2024-04-26T17:44:32.680Z

Closed

2024-04-26T17:53:31.788Z

Updated

2024-04-26T17:53:31.778Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/3

Commit

fb3d4a8f5abf116905c18e69c7bdf755d04e0dd6

Summary

Add an additional line for consistency.

This is also to test the merge template which just sets the milestone.

Author: Amar Takhar

2024-04-26T17:45:59.958Z

changed the description

Author: Amar Takhar

2024-04-26T17:46:50.717Z

Interesting the milestone is not setting itself from the default ticket template.

157 - bsps: Fold various files into README.md (opened)

Id

157

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-30T23:59:22.617Z

Updated

2024-07-30T23:59:28.211Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/157

Commit

ae986716f79ace84d34d148eff44c2fe1b3fcfe1

Summary

Author: Amar Takhar

2024-07-30T23:59:22.857Z

assigned to @amar

155 - bsps: Fold external documentation into README.md (opened)

Id

155

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-30T19:52:06.073Z

Updated

2024-07-30T22:15:49.139Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/155

Commit

488505f09cc32d0dfb4167bd022275c0571bdc77

Summary

Convert bsps/*/README to MarkDown

Some of this content is really old we will have to go through it.

Author: Amar Takhar

2024-07-30T19:52:06.323Z

assigned to @amar

Author: Amar Takhar

2024-07-30T22:15:49.208Z

changed title from {-Convert bsps/*/README to MarkDown-} to {+bsps: Fold external documentation into README.md+}

Author: Amar Takhar

2024-07-30T22:16:27.793Z

That is so annoying when you set a depend it doesn’t realise what the merge order is and doesn’t realise to exclude that title.

153 - Convert LICENSE to LICENSE.md (opened)

Id

153

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-30T04:09:20.428Z

Updated

2024-07-30T14:16:39.742Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/153

Commit

b318719e86fb6502271e5195aa3aa3510531c405

Summary

Author: Amar Takhar

2024-07-30T04:09:20.601Z

assigned to @amar

Author: Amar Takhar

2024-07-30T04:12:22.305Z

added 1 commit

  • b318719e - Convert LICENSE to LICENSE.md

Compare with previous version

Author: Kinsey Moore

2024-07-30T14:16:39.653Z

approved this merge request

146 - cpukit: Convert cpukit/*/README to MarkDown (opened)

Id

146

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-29T08:07:06.281Z

Updated

2024-07-30T05:02:31.964Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/146

Commit

25f0be6b4a67723b652e684a39ff56752d8a73b3

Summary

cpukit: Convert cpukit/*/README to MarkDown

There are a lot of README files this is just a cursory glance to convert but will render fine online. If they don’t we can make changes.

Author: Amar Takhar

2024-07-29T08:07:06.447Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T13:18:28.908Z

approved this merge request

Author: Kinsey Moore

2024-07-29T16:59:31.687Z

The merge request check improperly detects a merge ~~request~~ commit where there is none

Author: Amar Takhar

2024-07-29T16:59:01.900Z

What do you mean? I see it there it’s open !138

Author: Kinsey Moore

2024-07-29T16:59:01.900Z

My bad, I misread it and thought you had implemented the merge commit detector.

Author: Amar Takhar

2024-07-29T16:42:23.434Z

Look under the checks there is a box that says ‘Depends on 1 merge request being merged’. Once that one is merged the 1st change in this one will go away.

Author: Kinsey Moore

2024-07-29T16:59:01.920Z

resolved all threads

Author: Amar Takhar

2024-07-30T05:02:42.454Z

added 3 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • d14096f6 - cpukit: Convert cpukit/*/README to MarkDown

  • 25f0be6b - cpukit/libcsupport: merge TODO and CASES into README

Compare with previous version

145 - testsuites: Convert */README to MarkDown (opened)

Id

145

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-28T22:50:02.288Z

Updated

2024-07-30T05:02:29.312Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/145

Commit

a0eb4b83fd22d6ad2225951497c83a3326f73b78

Summary

Author: Amar Takhar

2024-07-28T22:50:02.537Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T15:33:22.610Z

approved this merge request

Author: Amar Takhar

2024-07-30T05:02:39.252Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • a0eb4b83 - testsuites: Convert */README to MarkDown

Compare with previous version

144 - testsuites: Convert README to MarkDown (opened)

Id

144

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-28T22:43:19.856Z

Updated

2024-07-30T05:02:27.543Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/144

Commit

eafb2bb550e0512151d226a2c6dfc472eefdebd9

Summary

testsuites: Convert README to MarkDown

This also merges PROBLEMS and README.testdata into a single README so it displays nicely in the parent directory.

Author: Amar Takhar

2024-07-28T22:43:20.009Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T15:34:28.122Z

approved this merge request

Author: Amar Takhar

2024-07-30T05:02:36.412Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • eafb2bb5 - testsuites: Convert README to MarkDown

Compare with previous version

143 - make: Convert README to MarkDown (opened)

Id

143

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-28T22:37:26.030Z

Updated

2024-07-30T05:02:24.669Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/143

Commit

dfe066dd27ec829ab2bf26dc6a1e09dbd5f4576a

Summary

Author: Amar Takhar

2024-07-28T22:37:26.177Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T15:37:14.550Z

approved this merge request

Author: Amar Takhar

2024-07-30T05:02:32.438Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • dfe066dd - make: Convert README to MarkDown

Compare with previous version

142 - Remove ACKNOWLEDGEMENTS file. (opened)

Id

142

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-28T22:27:31.507Z

Updated

2024-07-30T05:02:22.005Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/142

Commit

ed0afd723999e13390bb3f4bc3742339a222f38c

Summary

Remove ACKNOWLEDGEMENTS file.

This file is ancient and there have been many, many contributors to RTEMS that deserve equal acknowledgement.

I have opened an issue to create a new contributrors section in the documentation in the docs projects:

  • rtems/docs/rtems-docs#21

I have linked this version of the file there but this file should not ship with the next version of RTEMS given the GitLab migration it will not be converted to MarkDown

Author: Amar Takhar

2024-07-28T22:27:31.691Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T17:13:19.159Z

approved this merge request

Author: Amar Takhar

2024-07-30T05:02:24.901Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • ed0afd72 - Remove ACKNOWLEDGEMENTS file.

Compare with previous version

139 - bsps: Convert bsps/*/README to MarkDown (opened)

Id

139

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-28T07:28:39.239Z

Updated

2024-07-30T05:01:55.331Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/139

Commit

159e64e4d248908b6d47777be2494d6613bb2385

Summary

Convert bsps/*/README to MarkDown

Some of this content is really old we will have to go through it.

Author: Amar Takhar

2024-07-28T07:28:39.394Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T15:58:57.910Z

approved this merge request

Author: Amar Takhar

2024-07-30T05:01:59.912Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • 159e64e4 - Convert bsps/*/README to MarkDown

Compare with previous version

152 - Convert various files to README.md MarkDown (opened)

Id

152

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-30T04:04:32.128Z

Updated

2024-07-30T04:04:35.895Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/152

Commit

90e5c64124598e4cb9f7eef45fcb28bad6d0b372

Summary

Author: Amar Takhar

2024-07-30T04:04:32.279Z

assigned to @amar

148 - Rename COPYING to LICENSE.md (opened)

Id

148

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-29T21:39:01.924Z

Updated

2024-07-30T03:28:36.848Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/148

Commit

c21dc7db4f7431acba947751308c47785ac7a22b

Summary

Rename COPYING to LICENSE.md

This follows the current convention we’re using.

Even for source that is imported we should be renaming files following our convention to keep consistency.

Author: Amar Takhar

2024-07-29T21:39:02.067Z

assigned to @amar

Author: Kinsey Moore

2024-07-30T03:28:39.498Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • c21dc7db - Rename COPYING to LICENSE.md

Compare with previous version

149 - cpukit: Convert files to README.md MarkDown (opened)

Id

149

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-30T00:32:45.615Z

Updated

2024-07-30T03:28:12.873Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/149

Commit

7c6335e0d6f08bd148877bee739eced6dfa36882

Summary

Author: Amar Takhar

2024-07-30T00:32:45.770Z

assigned to @amar

Author: Amar Takhar

2024-07-30T00:55:32.463Z

added 1 commit

  • 7c6335e0 - cpukit: Convert files to README.md MarkDown

Compare with previous version

Author: Amar Takhar

2024-07-30T00:56:28.307Z

That is so strange I used git mv for the files then edited them but it left the moved files behind but recorded the move on commit? I had to ‘git add’ them and include them after and squash. Strange.

Author: Kinsey Moore

2024-07-30T03:28:12.796Z

approved this merge request

150 - bsps/sh/gensh2: Fold README.EVB7045F into README.md (opened)

Id

150

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-30T01:06:18.762Z

Updated

2024-07-30T03:27:36.667Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/150

Commit

e1f837af8cc77b24ac158ca9f89fe2bfc6a6f328

Summary

Author: Amar Takhar

2024-07-30T01:06:18.939Z

assigned to @amar

Author: Amar Takhar

2024-07-30T01:06:54.497Z

changed title from {-B-}sps{- -}gensh2 to {+b+}sps{+/sh/+}gensh2{+: Fold README.EVB7045F into README.md+}

Author: Amar Takhar

2024-07-30T01:55:57.675Z

added 1 commit

  • e1f837af - bsps/sh/gensh2: Fold README.EVB7045F into README.md

Compare with previous version

Author: Kinsey Moore

2024-07-30T03:27:36.590Z

approved this merge request

151 - rtc: Convert STATUS and README.* to MarkDown (opened)

Id

151

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-30T02:01:17.184Z

Updated

2024-07-30T03:26:29.498Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/151

Commit

a93187f8d4afd06c5556879976fadac4a9d7f835

Summary

Author: Amar Takhar

2024-07-30T02:01:17.361Z

assigned to @amar

Author: Kinsey Moore

2024-07-30T03:26:29.398Z

approved this merge request

141 - bsps: Convert README to MarkDown (opened)

Id

141

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-28T22:19:48.711Z

Updated

2024-07-30T01:02:00.945Z

Milestone

6.1

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/141

Commit

dae37ea1b6ae65460798b50d1ef9ef9f91c56d90

Summary

Author: Amar Takhar

2024-07-28T22:19:48.884Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T15:38:58.094Z

approved this merge request

Author: Amar Takhar

2024-07-30T01:00:41.951Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • 772b306b - Merge branch rtems:main into bsps_md3

Compare with previous version

Author: Amar Takhar

2024-07-30T01:02:04.223Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • dae37ea1 - bsps: Convert README to MarkDown

Compare with previous version

147 - testsuites/benchmarks/dhrystone: Convert documents to single README.md (opened)

Id

147

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-29T19:33:06.252Z

Updated

2024-07-29T21:20:03.913Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/147

Commit

6a4016969a94144da50fba93f98e018488dfbd13

Summary

Author: Amar Takhar

2024-07-29T19:33:06.458Z

assigned to @amar

Author: Kinsey Moore

2024-07-29T21:20:00.302Z

approved this merge request

Author: Kinsey Moore

2024-07-29T21:20:15.893Z

added 2 commits

  • 4c2e5ad9 - 1 commit from branch rtems/rtos:main

  • 6a401696 - testsuites/benchmarks/dhrystone: Convert documents to single README.md

Compare with previous version

138 - cpukit: Convert cpukit/*/README to MarkDown (opened)

Id

138

State

opened

Assignee(s)

Amar Takhar

Created

2024-07-28T06:28:13.965Z

Updated

2024-07-29T16:41:41.199Z

Milestone

6.1

Labels

doc

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/138

Commit

74d8791221022b8fa02df76acabc4a0bd60cb021

Summary

Convert cpukit/*/README to MarkDown

There are a lot of README files this is just a cursory glance to convert but will render fine online. If they don’t we can make changes.

Author: Amar Takhar

2024-07-28T06:28:14.117Z

assigned to @amar

Author: Amar Takhar

2024-07-28T07:29:00.186Z

added 1 commit

  • 74d87912 - cpukit: Convert cpukit/*/README to MarkDown

Compare with previous version

Author: Amar Takhar

2024-07-28T07:29:22.067Z

changed title from Convert cpukit/*/README to MarkDown to {+cpukit: +}Convert cpukit/*/README to MarkDown

Author: Kinsey Moore

2024-07-29T15:43:12.887Z

approved this merge request

Author: Amar Takhar

2024-07-29T16:41:41.150Z

mentioned in merge request !146

121 - Draft: Simplify termination procedure (opened)

Id

121

State

opened

Assignee(s)

Sebastian Huber

Created

2024-07-17T17:07:44.581Z

Updated

2024-07-26T11:08:51.730Z

Milestone

6.1

Labels

rtems::testing

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/121

Commit

b545ef3817042c23d9ccc4afb989ae1ccbc6a734

Summary

This patch set unifies the BSP fatal extension so that all BSP use the default implementation.

The bsp_reset() function is marked as no return and has now fatal source/code parameters.

In _Terminate(), everything after invoking the fatal extensions is essentially dead code. Simplify this code block and provide a reasonable safe fall-back for badly configured applications. Just disable masked interrupts and execute an idle loop.

Remove the now unused _CPU_Fatal_halt() handler.

Author: Sebastian Huber

2024-07-17T17:07:44.747Z

assigned to @sebhub

Author: Gedare Bloom

2024-07-18T11:42:25.880Z

Is this ready to review?

Author: Sebastian Huber

2024-07-18T11:42:25.880Z

Yes, however, I have to rebuild the BSPs after the resent changes with an updated tool set.

Author: Sebastian Huber

2024-07-18T08:29:22.515Z

marked this merge request as draft

Author: Sebastian Huber

2024-07-18T08:29:22.540Z

changed title from {-bsp/altera-cyclone-v: Use default fatal extension-} to {+Draft: Simplify termination procedure+}

Author: Sebastian Huber

2024-07-18T08:29:22.563Z

changed the description

Author: Sebastian Huber

2024-07-18T08:32:50.271Z

changed the description

Author: Sebastian Huber

2024-07-18T09:43:37.509Z

added 21 commits

  • 10ed4a9c…5c5b4b83 - 5 commits from branch rtems/rtos:main

  • 5c5b4b83…2c898dce - 6 earlier commits

  • d3ecf82b - bsp/virtex5: Use default fatal extension

  • e0134508 - bsps/sparc: Use default fatal extension

  • fee77aa0 - bsp/niagara: Use default fatal extension

  • 3f23053f - bsp/mrm332: Remove unused file

  • 32f6c054 - bsp/mcf5225x: Remove unused file

  • 71727419 - bsps: Simplify build

  • 45f3ed0f - nios2: Use higher level error handling

  • d1ff149e - score: Mark _CPU_Thread_Idle_body() as no-return

  • 4be5cead - score: Simplify _Terminate()

  • ebeef7d8 - score: Remove unused _CPU_Fatal_halt()

Compare with previous version

Author: Sebastian Huber

2024-07-18T11:40:46.715Z

marked this merge request as ready

Author: Sebastian Huber

2024-07-18T11:42:25.899Z

resolved all threads

Author: Sebastian Huber

2024-07-20T08:12:17.446Z

added 19 commits

  • ebeef7d8…7333afe0 - 3 commits from branch rtems/rtos:main

  • 7333afe0…4f322083 - 6 earlier commits

  • 0cb77afa - bsp/virtex5: Use default fatal extension

  • 6611ad17 - bsps/sparc: Use default fatal extension

  • 7a563c29 - bsp/niagara: Use default fatal extension

  • f5251514 - bsp/mrm332: Remove unused file

  • 05cf991c - bsp/mcf5225x: Remove unused file

  • 9e912218 - bsps: Simplify build

  • 5359662c - nios2: Use higher level error handling

  • 45135c3a - score: Mark _CPU_Thread_Idle_body() as no-return

  • bee39921 - score: Simplify _Terminate()

  • 724b686c - score: Remove unused _CPU_Fatal_halt()

Compare with previous version

Author: Kinsey Moore

2024-07-26T00:49:09.050Z

added 24 commits

  • 724b686c…8fd3ed26 - 8 commits from branch rtems/rtos:main

  • 8fd3ed26…f3e3c943 - 6 earlier commits

  • 009200e1 - bsp/virtex5: Use default fatal extension

  • 8c736cbe - bsps/sparc: Use default fatal extension

  • e79e1e88 - bsp/niagara: Use default fatal extension

  • 90243870 - bsp/mrm332: Remove unused file

  • fcef225d - bsp/mcf5225x: Remove unused file

  • 155d8fa8 - bsps: Simplify build

  • 0a262033 - nios2: Use higher level error handling

  • 93de880e - score: Mark _CPU_Thread_Idle_body() as no-return

  • adb247b9 - score: Simplify _Terminate()

  • b545ef38 - score: Remove unused _CPU_Fatal_halt()

Compare with previous version

Author: Kinsey Moore

2024-07-26T01:19:30.697Z

Thanks for the massive cleanup effort and sorry it took me so long to get to/through it.

Author: Kinsey Moore

2024-07-26T01:19:37.408Z

approved this merge request

Author: Sebastian Huber

2024-07-26T11:08:51.776Z

marked this merge request as draft

Author: Sebastian Huber

2024-07-26T11:09:21.623Z

Thanks for the review. I will change the procedure to do the interrupt disable earlier.

123 - Draft: cpukit/libfs/jffs2: Prevent memory corruption due to corrupted data (opened)

Id

123

State

opened

Assignee(s)

Kinsey Moore

Created

2024-07-23T14:38:09.073Z

Updated

2024-07-24T21:27:49.728Z

Milestone

6.1

Labels

filesystem::jffs2

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/123

Commit

46e52b1fbf64cbfc4800120fa9912b8a52a3554b

Summary

cpukit/libfs/jffs2: Prevent memory corruption due to corrupted data

The rtime decompression routine does not fully check bounds during the entirety of the decompression pass and can corrupt memory outside the decompression buffer if the compressed data is corrupted. This adds the required check to prevent this failure mode.

Updates #5072

Author: Kinsey Moore

2024-07-23T14:38:09.260Z

assigned to @opticron

Author: Kinsey Moore

2024-07-23T14:39:30.720Z

This was discovered upon reviewing the failure mode induced by #5072 with multiple JFFS2 filesystems using the same decompression buffer. I’m waiting for external verification before I mark this draft as ready.

Author: Kinsey Moore

2024-07-23T14:39:49.654Z

This fix will also need to be pushed upstream.

Author: Kinsey Moore

2024-07-23T20:48:23.999Z

added 1 commit

  • a0106305 - cpukit/libfs/jffs2: Prevent memory corruption due to corrupted data

Compare with previous version

Author: Kinsey Moore

2024-07-24T13:33:17.875Z

added 2 commits

  • e58ff898 - 1 commit from branch rtems/rtos:main

  • 9f98c2e8 - cpukit/libfs/jffs2: Prevent memory corruption due to corrupted data

Compare with previous version

Author: Kinsey Moore

2024-07-24T14:29:59.642Z

added 2 commits

  • 3b96aadd - 1 commit from branch rtems/rtos:main

  • 46e52b1f - cpukit/libfs/jffs2: Prevent memory corruption due to corrupted data

Compare with previous version

Author: Kinsey Moore

2024-07-24T21:27:49.687Z

I have submitted this patch upstream to the maintainers for the JFFS2 code in the Linux kernel.

Author: Amar Takhar

2024-07-24T21:27:49.687Z

Got a link just so we can have it here?

Author: Kinsey Moore

2024-07-24T21:27:49.687Z

Unfortunately, no. This subsystem doesn’t use a ML and the MAINTAINERS file directs you to email two people individually and that they only accept the random odd fix. This subsystem is basically on life support.

Author: Amar Takhar

2024-07-24T21:27:49.687Z

I see! That’s not unusual at least it’s recorded why there aren’t any details. Thanks! :)

Author: Amar Takhar

2024-07-24T20:46:04.056Z

resolved all threads

Author: Kinsey Moore

2024-07-24T21:09:24.438Z

resolved all threads

Author: Amar Takhar

2024-07-24T21:27:49.709Z

resolved all threads

124 - bsps/aarch64: Homogenize ZynqMP ECC info structs (opened)

Id

124

State

opened

Assignee(s)

Kinsey Moore

Created

2024-07-24T20:17:47.988Z

Updated

2024-07-24T20:17:54.457Z

Milestone

6.1

Labels

arch:aarch64

Link

https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/124

Commit

23db7d60fa8acb333d1a832bf7f1f26ab675b354

Summary

bsps/aarch64: Homogenize ZynqMP ECC info structs

This fixes the ECC info struct naming such that they all use the _Info suffix. This also adds comments describing which structures are paired with which event types.

Author: Kinsey Moore

2024-07-24T20:17:48.155Z

assigned to @opticron

Author: Kinsey Moore

2024-07-24T20:17:57.013Z

added 3 commits

  • 7b8ec89f…3b96aadd - 2 commits from branch rtems/rtos:main

  • 23db7d60 - bsps/aarch64: Homogenize ZynqMP ECC info structs

Compare with previous version