+ for (i = 0; i < ret; i++) {
+ if (arm_feature(env, m_systemreg_def[i].feature)) {
+ g_string_append_printf(s,
+ "<reg name=\"%s\" bitsize=\"32\" regnum=\"%d\"/>\n",
+ m_systemreg_def[i].name, base_reg + i);
+ }
+ }
+
+ if (arm_feature(env, ARM_FEATURE_M_SECURITY)) {
+ for (i = 0; i < ret; i++) {
+ g_string_append_printf(s,
+ "<reg name=\"%s_ns\" bitsize=\"32\" regnum=\"%d\"/>\n",
+ m_systemreg_def[i].name, base_reg + (i | M_SYSREG_NONSECURE));
+ }
+ for (i = 0; i < ret; i++) {
+ g_string_append_printf(s,
+ "<reg name=\"%s_s\" bitsize=\"32\" regnum=\"%d\"/>\n",
+ m_systemreg_def[i].name, base_reg + (i | M_SYSREG_SECURE));
+ }
+ QEMU_BUILD_BUG_ON(M_SYSREG_SECURE < M_SYSREG_NONSECURE);
+ ret |= M_SYSREG_SECURE;
+ }