diff --git a/exosphere/rebootstub/src/start.s b/exosphere/rebootstub/src/start.s index e29bd0acc..3fce7d9f2 100644 --- a/exosphere/rebootstub/src/start.s +++ b/exosphere/rebootstub/src/start.s @@ -18,14 +18,10 @@ .align 4 .global _start _start: - adr r0, reboot_type - ldr r0, [r0] + ldr r0, reboot_type cmp r0, #0x0 beq do_shutdown b jump_to_reboot_payload - nop - nop - nop reboot_type: .word 0x00000001 diff --git a/exosphere/src/configitem.c b/exosphere/src/configitem.c index c0f1a262d..7029297d3 100644 --- a/exosphere/src/configitem.c +++ b/exosphere/src/configitem.c @@ -101,7 +101,7 @@ uint32_t configitem_set(bool privileged, ConfigItem item, uint64_t value) { MAKE_REG32(MMIO_GET_DEVICE_ADDRESS(MMIO_DEVID_AMS_IRAM_PAGE) + i) = read32le(rebootstub_bin, i); } /* Tell rebootstub to shut down. */ - MAKE_REG32(MMIO_GET_DEVICE_ADDRESS(MMIO_DEVID_AMS_IRAM_PAGE) + 0x20) = 0x0; + MAKE_REG32(MMIO_GET_DEVICE_ADDRESS(MMIO_DEVID_AMS_IRAM_PAGE) + 0x10) = 0x0; ams_unmap_irampage(); MAKE_REG32(MMIO_GET_DEVICE_ADDRESS(MMIO_DEVID_RTC_PMC) + 0x400ull) = 0x10;