Notice: We have migrated to GitLab launching 2024-05-01 see here:

#4736 assigned defect

RISC-V - ISR_stack allocation and usage by harts > CONFIGURE_MAXIMUM_PROCESSORS

Reported by: Lucian-Raul Silistru Owned by: Hesham Almatary
Priority: normal Milestone: 6.1
Component: arch/riscv Version: 5
Severity: normal Keywords:
Cc: Blocked By:


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?

Change History (5)

comment:1 Changed on 10/07/22 at 05:06:16 by Sebastian Huber

This is a bug. The arm start.S does not have this issue for example.

comment:2 Changed on 10/07/22 at 05:07:44 by Sebastian Huber

Milestone: 6.1

comment:3 Changed on 11/30/22 at 00:03:38 by Chris Johns

Status update?

comment:4 Changed on 06/22/23 at 21:00:39 by Joel Sherrill

Owner: set to Hesham Almatary
Status: newassigned

Hesham.. can you please take a shot at this?

comment:5 Changed on 06/22/23 at 21:07:55 by Joel Sherrill

Summary: ISR_stack allocation and usage by harts > CONFIGURE_MAXIMUM_PROCESSORSRISC-V - ISR_stack allocation and usage by harts > CONFIGURE_MAXIMUM_PROCESSORS
Note: See TracTickets for help on using tickets.