Re: [PATCH v2 0/3] Reduce system initialization time

2022-07-14 Thread Chris Johns
OK to push Chris On 15/7/2022 4:38 pm, Sebastian Huber wrote: > This patch set reduces the system initialization time in the default > configuration. Applications can change the default behaviour through the > CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY and CONFIGURE_DIRTY_MEMORY > configuration > o

Re: [PATCH 2/3] score: Place object controls into .noinit sections

2022-07-14 Thread Chris Johns
On 15/7/2022 3:41 pm, Sebastian Huber wrote: > On 15.07.22 04:03, Chris Johns wrote: >> On 14/7/2022 11:13 pm, Sebastian Huber wrote: >>> Place the statically allocated object control blocks, local tables, and >>> thread >>> queue heads into the dedicated .noinit intput sections.  The output secti

[PATCH v2 1/3] bsps: Sort .noinit* sections

2022-07-14 Thread Sebastian Huber
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. --- bsps/aarch64/shared/start/linkcmds.base | 2 +- bsps/arm/shared/start/lin

[PATCH v2 3/3] score: Extend memory dirty/zero actions

2022-07-14 Thread Sebastian Huber
Dirty or zero also the part of the .noinit section used by RTEMS. Close #4678. --- cpukit/include/rtems/score/memory.h | 14 +++- cpukit/score/src/memorydirtyfreeareas.c | 9 - cpukit/score/src/memorynoinit.c | 45 +++ cpukit/score/src/memoryzerofreeareas.

[PATCH v2 2/3] score: Place object controls into .noinit sections

2022-07-14 Thread Sebastian Huber
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

[PATCH v2 0/3] Reduce system initialization time

2022-07-14 Thread Sebastian Huber
This patch set reduces the system initialization time in the default configuration. Applications can change the default behaviour through the CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY and CONFIGURE_DIRTY_MEMORY configuration options. v2: * Reference ticket * Improve sp54 Sebastian Huber (3): bs

Re: [PATCH 2/3] score: Place object controls into .noinit sections

2022-07-14 Thread Sebastian Huber
On 15.07.22 07:41, Sebastian Huber wrote: Placing these elements into the .noinit section reduces the system initialization time by decreasing the .bss section size. How much data do you see that is being moved out of .bss to .noinit? It depends on your application configuration. You have for

Re: [PATCH 2/3] score: Place object controls into .noinit sections

2022-07-14 Thread Sebastian Huber
On 15.07.22 04:03, Chris Johns wrote: On 14/7/2022 11:13 pm, Sebastian Huber wrote: 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. Does the data held in no-init r

Re: [PATCH 1/3] bsps: Sort .noinit* sections

2022-07-14 Thread Sebastian Huber
On 15.07.22 04:05, Chris Johns wrote: On 14/7/2022 11:13 pm, Sebastian Huber wrote: 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. How are the ar

Re: [PATCH 1/3] bsps: Sort .noinit* sections

2022-07-14 Thread Chris Johns
On 14/7/2022 11:13 pm, Sebastian Huber wrote: > 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. How are the areas initialised with a special v

Re: [PATCH 2/3] score: Place object controls into .noinit sections

2022-07-14 Thread Chris Johns
On 14/7/2022 11:13 pm, Sebastian Huber wrote: > 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. Does the data held in no-init rely on code having to initialise al

RE: [PATCH] cdtest: Restrict exceptions during sysinit

2022-07-14 Thread Kinsey Moore
I believe the logic in this patch is inverted for generating that #define. Kinsey -Original Message- From: devel On Behalf Of Sebastian Huber Sent: Wednesday, July 13, 2022 06:42 To: devel@rtems.org Subject: [PATCH] cdtest: Restrict exceptions during sysinit Exceptions during system ini

[PATCH v3 2/2] bsp/riscv: Add NOEL-V BSP

2022-07-14 Thread Daniel Cederman
From: Martin Aberg 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 followi

[PATCH v3 1/2] bsp/riscv: Work area size based on stack pointer

2022-07-14 Thread Daniel Cederman
From: Martin Aberg Remember the initial stack pointer in start.S. It can later be used to determine top of RAM. --- bsps/riscv/include/bsp/start.h| 67 .../shared/start/bspgetworkarea-fromstack.c | 76 +++ bsps/riscv/shared/start/start.S

[PATCH v3 0/2] NOEL-V BSP

2022-07-14 Thread Daniel Cederman
Thanks Joel, I have updated the license information. Martin Aberg (2): bsp/riscv: Work area size based on stack pointer bsp/riscv: Add NOEL-V BSP bsps/riscv/include/bsp/start.h| 67 ++ bsps/riscv/noel/console/console-config.c | 209 ++ bsps/riscv/noe

Re: [PATCH v2 1/2] bsp/riscv: Work area size based on stack pointer

2022-07-14 Thread Joel Sherrill
Thanks for this. The Gaisler code is in transition to the 2 paragraph BSD license, it appears that the new file has missed the SPDX marker at the top. Also please ensure the license is formatted like the others. From my quick review, it looks like the line breaks are in different places from here:

[PATCH 2/3] score: Place object controls into .noinit sections

2022-07-14 Thread Sebastian Huber
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

[PATCH 0/3] Reduce system initialization time

2022-07-14 Thread Sebastian Huber
This patch set reduces the system initialization time in the default configuration. Applications can change the default behaviour through the CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY and CONFIGURE_DIRTY_MEMORY configuration options. Sebastian Huber (3): bsps: Sort .noinit* sections score: Place

[PATCH 1/3] bsps: Sort .noinit* sections

2022-07-14 Thread Sebastian Huber
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. --- bsps/aarch64/shared/start/linkcmds.base | 2 +- bsps/arm/shared/start/linkcmds.base

[PATCH 3/3] score: Extend memory dirty/zero actions

2022-07-14 Thread Sebastian Huber
Dirty or zero also the part of the .noinit section used by RTEMS. --- cpukit/include/rtems/score/memory.h | 14 +++- cpukit/score/src/memorydirtyfreeareas.c | 9 - cpukit/score/src/memorynoinit.c | 45 + cpukit/score/src/memoryzerofreeareas.c | 9

[PATCH v2 2/2] bsp/riscv: Add NOEL-V BSP

2022-07-14 Thread Daniel Cederman
From: Martin Aberg 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 followi

[PATCH v2 1/2] bsp/riscv: Work area size based on stack pointer

2022-07-14 Thread Daniel Cederman
From: Martin Aberg Remember the initial stack pointer in start.S. It can later be used to determine top of RAM. --- bsps/riscv/include/bsp/start.h| 65 +++ .../shared/start/bspgetworkarea-fromstack.c | 53 +++ bsps/riscv/shared/start/start.S

[PATCH v2 0/2] NOEL-V BSP

2022-07-14 Thread Daniel Cederman
Thank you Sebastian for reviewing the patches. I have updated them according to your comments. Martin Aberg (2): bsp/riscv: Work area size based on stack pointer bsp/riscv: Add NOEL-V BSP bsps/riscv/include/bsp/start.h| 65 ++ bsps/riscv/noel/console/console-config.c

Re: [PATCH 0/5] NOEL-V BSP

2022-07-14 Thread Sebastian Huber
On 14/07/2022 09:59, Daniel Cederman wrote: Currently there is a problem linking the ts-validation-cache.exe test for 64-bit configurations. It fails with the following error message: bsps/riscv/shared/start/start.S:100:(.bsp_start_text+0x70): relocation truncated to fit: R_RISCV_GPREL_I against

Re: [PATCH 4/5] bsp/riscv: Add NOEL-V BSP build specification

2022-07-14 Thread Sebastian Huber
On 14/07/2022 10:00, Daniel Cederman wrote: From: Martin Aberg --- spec/build/bsps/riscv/noel/abi.yml| 48 +++ This should be merged into patch 2. Patch 3 should move before patch 2. -- embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany emai

Re: [PATCH 5/5] bsp/riscv: Add NOEL-V configuration files

2022-07-14 Thread Sebastian Huber
On 14/07/2022 10:00, Daniel Cederman wrote: From: Martin Aberg --- bsps/riscv/noel/config/noel32im.cfg | 9 + bsps/riscv/noel/config/noel32imafd.cfg | 9 + bsps/riscv/noel/config/noel64imac.cfg | 9 + bsps/riscv/noel/config/noel64imafd.cfg | 9 + bsp

Re: [PATCH 1/5] apbuart_termios: use bsp/irq.h

2022-07-14 Thread Sebastian Huber
On 14/07/2022 09:59, Daniel Cederman wrote: From: Martin Aberg The real dependency in this case is on rtems/irq-extension.h. The theme in other other console drivers is to get it via bsp/irq.h, so that pattern is followed. This API is now part of the Interrupt Manager. Is this patch still nec

Re: [PATCH] cdtest: Restrict exceptions during sysinit

2022-07-14 Thread Chris Johns
On 14/7/2022 6:39 pm, Sebastian Huber wrote: > I think the message is clear, applications should start their work in the > initialization thread. I have reviewed the test and yes I agree. The work can start in global constrictors but they should work. I think C++ should be used very carefully with

Re: [PATCH] samples/cdtest: Test execeptions during system init

2022-07-14 Thread Chris Johns
On 14/7/2022 4:02 pm, Sebastian Huber wrote: > On 14/07/2022 02:31, Chris Johns wrote: >> On 13/7/2022 6:42 pm, Sebastian Huber wrote: >>> On 01/07/2022 12:02, Sebastian Huber wrote: +static void early_exception() +{ +    try +    { +  throw "early exception"; + 

Re: [PATCH] cdtest: Restrict exceptions during sysinit

2022-07-14 Thread Sebastian Huber
On 14/07/2022 10:33, Chris Johns wrote: On 14/7/2022 4:08 pm, Sebastian Huber wrote: On 14/07/2022 02:36, Chris Johns wrote: Exceptions during system initialization work only on targets which do not need a registration of exception frames during the global construction.  In particular, target

Re: [PATCH] cdtest: Restrict exceptions during sysinit

2022-07-14 Thread Chris Johns
On 14/7/2022 4:08 pm, Sebastian Huber wrote: > On 14/07/2022 02:36, Chris Johns wrote: >>> Exceptions during system initialization work only on targets which do not >>> need >>> a registration of exception frames during the global construction.  In >>> particular, targets which use the DWARF2 unwi

[PATCH 5/5] bsp/riscv: Add NOEL-V configuration files

2022-07-14 Thread Daniel Cederman
From: Martin Aberg --- bsps/riscv/noel/config/noel32im.cfg | 9 + bsps/riscv/noel/config/noel32imafd.cfg | 9 + bsps/riscv/noel/config/noel64imac.cfg | 9 + bsps/riscv/noel/config/noel64imafd.cfg | 9 + bsps/riscv/noel/config/noel64imafdc.cfg | 9 +

[PATCH 4/5] bsp/riscv: Add NOEL-V BSP build specification

2022-07-14 Thread Daniel Cederman
From: Martin Aberg --- spec/build/bsps/riscv/noel/abi.yml| 48 +++ spec/build/bsps/riscv/noel/bspnoel32im.yml| 19 ++ spec/build/bsps/riscv/noel/bspnoel32imafd.yml | 19 ++ spec/build/bsps/riscv/noel/bspnoel64imac.yml | 19 ++ spec/build/bsps/riscv/noel/b

[PATCH 3/5] bsp/riscv: Work area size based on stack pointer

2022-07-14 Thread Daniel Cederman
From: Martin Aberg Remember the initial stack pointer in start.S. It can later be used to determine top of RAM. --- bsps/riscv/include/bsp/start.h| 65 +++ .../shared/start/bspgetworkarea-fromstack.c | 53 +++ bsps/riscv/shared/start/start.S

[PATCH 2/5] bsp/riscv: Add NOEL-V BSP

2022-07-14 Thread Daniel Cederman
From: Martin Aberg 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 followi

[PATCH 0/5] NOEL-V BSP

2022-07-14 Thread Daniel Cederman
Hello, This patch set adds support for the NOEL-V RISC-V processors. Currently there is a problem linking the ts-validation-cache.exe test for 64-bit configurations. It fails with the following error message: bsps/riscv/shared/start/start.S:100:(.bsp_start_text+0x70): relocation truncated to fit

[PATCH 1/5] apbuart_termios: use bsp/irq.h

2022-07-14 Thread Daniel Cederman
From: Martin Aberg The real dependency in this case is on rtems/irq-extension.h. The theme in other other console drivers is to get it via bsp/irq.h, so that pattern is followed. --- bsps/shared/grlib/uart/apbuart_termios.c | 1 + 1 file changed, 1 insertion(+) diff --git a/bsps/shared/grlib/ua