+ boolean_t boot_arg_value;
+
+ if (!PE_parse_boot_argn("debug", &DEBUGFlag, sizeof (DEBUGFlag)))
+ DEBUGFlag = 0;
+
+ gPEKernelConfigurationBitmask = 0;
+
+ if (!PE_parse_boot_argn("assertions", &boot_arg_value, sizeof(boot_arg_value))) {
+#if MACH_ASSERT
+ boot_arg_value = TRUE;
+#else
+ boot_arg_value = FALSE;
+#endif
+ }
+ gPEKernelConfigurationBitmask |= (boot_arg_value ? kPEICanHasAssertions : 0);
+
+ if (!PE_parse_boot_argn("statistics", &boot_arg_value, sizeof(boot_arg_value))) {
+#if DEVELOPMENT || DEBUG
+ boot_arg_value = TRUE;
+#else
+ boot_arg_value = FALSE;
+#endif
+ }
+ gPEKernelConfigurationBitmask |= (boot_arg_value ? kPEICanHasStatistics : 0);
+
+#if SECURE_KERNEL
+ boot_arg_value = FALSE;
+#else
+ if (!PE_i_can_has_debugger(NULL)) {
+ boot_arg_value = FALSE;
+ } else if (!PE_parse_boot_argn("diagnostic_api", &boot_arg_value, sizeof(boot_arg_value))) {
+ boot_arg_value = TRUE;
+ }
+#endif
+ gPEKernelConfigurationBitmask |= (boot_arg_value ? kPEICanHasDiagnosticAPI : 0);
+