Setting all the priority bits to preempt priority makes the configuration much simpler and therefore, is still recommended for v8M ports.
Consider the following example where 3 priority bits are implemented and priority group is set to 5:
000 | Priority Level 0, Sub priority Level 0
001 | Priority Level 0, Sub priority Level 1
----|---------------------------------------
010 | Priority Level 2, Sub priority Level 0
011 | Priority Level 2, Sub priority Level 1
----|---------------------------------------
100 | Priority Level 4, Sub priority Level 0
101 | Priority Level 4, Sub priority Level 1
----|---------------------------------------
110 | Priority Level 6, Sub priority Level 0
111 | Priority Level 6, Sub priority Level 1
----|---------------------------------------
If the configMAX_SYSCALL_INTERRUPT_PRIORITY is set to 3, interrupts with priority 2 will also be masked in critical sections as both of them have the same priority level. Setting all the priority bits to preempt priority avoids such surprises.
Since these interrupts always need to run at the lowest priority, these are hard-coded.
Thanks.