Behavior of procnto-v6 shm_ctl()

The ARMv6 procnto-v6 removes the 32 MB process address space limit:

The procnto-v6 microkernel doesn't implement the ARM-specific global memory region implemented by the non-ARMv6 procnto. This means that shm_ctl() no longer has any ARM-specific special behavior. The shm_ctl() function exhibits the following:

If code must run on both ARMv6 and non-ARMv6 processors, you must check the __cpu_flags value at runtime to select the correct implementation. For example:

if (__cpu_flags & ARM_CPU_FLAG_V6) {
   /*
   * Code for ARMv6 processor only
   */
   } else {
     /*
     * Code for non-ARMv6 processor only
     */
     }