mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-12-23 02:42:09 +00:00
exo: add config item for rcm patch detection (note TODO)
This commit is contained in:
parent
fd4d6a4e55
commit
4d76f4d79c
4 changed files with 14 additions and 0 deletions
|
@ -264,6 +264,10 @@ uint32_t configitem_get(bool privileged, ConfigItem item, uint64_t *p_outvalue)
|
||||||
/* UNOFFICIAL: Gets information about the current exosphere git commit hash. */
|
/* UNOFFICIAL: Gets information about the current exosphere git commit hash. */
|
||||||
*p_outvalue = ATMOSPHERE_RELEASE_VERSION_HASH;
|
*p_outvalue = ATMOSPHERE_RELEASE_VERSION_HASH;
|
||||||
break;
|
break;
|
||||||
|
case CONFIGITEM_HAS_RCM_BUG_PATCH:
|
||||||
|
/* UNOFFICIAL: Gets whether this unit has the RCM bug patched. */
|
||||||
|
*p_outvalue = (int)(fuse_has_rcm_bug_patch());;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
result = 2;
|
result = 2;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -44,6 +44,7 @@ typedef enum {
|
||||||
CONFIGITEM_NEEDS_REBOOT = 65001,
|
CONFIGITEM_NEEDS_REBOOT = 65001,
|
||||||
CONFIGITEM_NEEDS_SHUTDOWN = 65002,
|
CONFIGITEM_NEEDS_SHUTDOWN = 65002,
|
||||||
CONFIGITEM_EXOSPHERE_VERHASH = 65003,
|
CONFIGITEM_EXOSPHERE_VERHASH = 65003,
|
||||||
|
CONFIGITEM_HAS_RCM_BUG_PATCH = 65004,
|
||||||
} ConfigItem;
|
} ConfigItem;
|
||||||
|
|
||||||
#define REBOOT_KIND_NO_REBOOT 0
|
#define REBOOT_KIND_NO_REBOOT 0
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include "exocfg.h"
|
#include "exocfg.h"
|
||||||
|
|
||||||
#include "masterkey.h"
|
#include "masterkey.h"
|
||||||
|
|
||||||
/* Prototypes for internal commands. */
|
/* Prototypes for internal commands. */
|
||||||
void fuse_make_regs_visible(void);
|
void fuse_make_regs_visible(void);
|
||||||
|
|
||||||
|
@ -257,3 +258,9 @@ void fuse_get_hardware_info(void *dst) {
|
||||||
|
|
||||||
memcpy(dst, hw_info, 0x10);
|
memcpy(dst, hw_info, 0x10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool fuse_has_rcm_bug_patch(void) {
|
||||||
|
/* Patched units have this bit set in reserved_sw, according to reports. */
|
||||||
|
/* TODO: Is there an ipatch we should check? This should be researched. */
|
||||||
|
return (FUSE_CHIP_REGS->FUSE_RESERVED_SW & 0x80) != 0;
|
||||||
|
}
|
||||||
|
|
|
@ -215,4 +215,6 @@ uint32_t fuse_get_hardware_type(void);
|
||||||
uint32_t fuse_get_retail_type(void);
|
uint32_t fuse_get_retail_type(void);
|
||||||
void fuse_get_hardware_info(void *dst);
|
void fuse_get_hardware_info(void *dst);
|
||||||
|
|
||||||
|
bool fuse_has_rcm_bug_patch(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue