mirror of
https://github.com/CTCaer/hekate
synced 2024-11-16 08:59:26 +00:00
[PKG1] Move 1.0.0 secmon to 0x4002B020
So, it's time to move 1.0.0 secmon. If we want to continue having a full featured bootloader, this change is a must. It will move the secmon to 0x4002B000 + 0x20 (to keep the values addresses aligned). It fixes relocator patch. So now the payload size limit is 160KB - .bss (~158KB).
This commit is contained in:
parent
240e465d86
commit
5796ead851
3 changed files with 8 additions and 4 deletions
2
Makefile
2
Makefile
|
@ -44,7 +44,7 @@ OBJS = $(addprefix $(BUILD)/, \
|
||||||
OBJS += $(addprefix $(BUILD)/, diskio.o ff.o ffunicode.o)
|
OBJS += $(addprefix $(BUILD)/, diskio.o ff.o ffunicode.o)
|
||||||
|
|
||||||
ARCH := -march=armv4t -mtune=arm7tdmi -mthumb -mthumb-interwork
|
ARCH := -march=armv4t -mtune=arm7tdmi -mthumb -mthumb-interwork
|
||||||
CFLAGS = $(ARCH) -Os -nostdlib -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-inline -std=gnu11# -Wall
|
CFLAGS = $(ARCH) -O2 -nostdlib -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-inline -std=gnu11# -Wall
|
||||||
LDFLAGS = $(ARCH) -nostartfiles -lgcc -Wl,--nmagic,--gc-sections
|
LDFLAGS = $(ARCH) -nostartfiles -lgcc -Wl,--nmagic,--gc-sections
|
||||||
|
|
||||||
.PHONY: all clean
|
.PHONY: all clean
|
||||||
|
|
|
@ -24,9 +24,12 @@
|
||||||
#define _BL(a, o) 0x94000000 | (((o) - (a)) >> 2) & 0x3FFFFFF
|
#define _BL(a, o) 0x94000000 | (((o) - (a)) >> 2) & 0x3FFFFFF
|
||||||
#define _NOP() 0xD503201F
|
#define _NOP() 0xD503201F
|
||||||
|
|
||||||
|
//#define SM_100_ADR 0x40014020
|
||||||
|
#define SM_100_ADR 0x4002B020
|
||||||
|
|
||||||
PATCHSET_DEF(_secmon_1_patchset,
|
PATCHSET_DEF(_secmon_1_patchset,
|
||||||
//Patch the relocator to be able to run from 0x4002D000.
|
//Patch the relocator to be able to run from SM_100_ADR.
|
||||||
//{ 0x1E0, _ADRP(0, 0x7C013000 - 0x4002D000) }
|
{ 0x1E0, _ADRP(0, 0x7C013000 - (SM_100_ADR - 0x40)) },
|
||||||
//Patch package2 decryption and signature/hash checks.
|
//Patch package2 decryption and signature/hash checks.
|
||||||
{ 0x9F0 + 0xADC, _NOP() }, //Header signature.
|
{ 0x9F0 + 0xADC, _NOP() }, //Header signature.
|
||||||
{ 0x9F0 + 0xB8C, _NOP() }, //Version.
|
{ 0x9F0 + 0xB8C, _NOP() }, //Version.
|
||||||
|
@ -103,7 +106,7 @@ PATCHSET_DEF(_kernel_5_patchset,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const pkg1_id_t _pkg1_ids[] = {
|
static const pkg1_id_t _pkg1_ids[] = {
|
||||||
{ "20161121183008", 0, 0x1900, 0x3FE0, { 2, 1, 0 }, 0x40014020, _secmon_1_patchset, _kernel_1_patchset }, //1.0.0
|
{ "20161121183008", 0, 0x1900, 0x3FE0, { 2, 1, 0 }, SM_100_ADR, _secmon_1_patchset, _kernel_1_patchset }, //1.0.0 (Patched relocator)
|
||||||
{ "20170210155124", 0, 0x1900, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_2_patchset, _kernel_2_patchset }, //2.0.0 - 2.3.0
|
{ "20170210155124", 0, 0x1900, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_2_patchset, _kernel_2_patchset }, //2.0.0 - 2.3.0
|
||||||
{ "20170519101410", 1, 0x1A00, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_3_patchset, _kernel_3_patchset }, //3.0.0
|
{ "20170519101410", 1, 0x1A00, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_3_patchset, _kernel_3_patchset }, //3.0.0
|
||||||
{ "20170710161758", 2, 0x1A00, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_3_patchset, _kernel_3_patchset }, //3.0.1 - 3.0.2
|
{ "20170710161758", 2, 0x1A00, 0x3FE0, { 0, 1, 2 }, 0x4002D000, _secmon_3_patchset, _kernel_3_patchset }, //3.0.1 - 3.0.2
|
||||||
|
|
|
@ -40,6 +40,7 @@ typedef struct _pkg1_id_t
|
||||||
u32 sec_map[3];
|
u32 sec_map[3];
|
||||||
u32 secmon_base;
|
u32 secmon_base;
|
||||||
patch_t *secmon_patchset;
|
patch_t *secmon_patchset;
|
||||||
|
patch_t *kernel_patchset;
|
||||||
} pkg1_id_t;
|
} pkg1_id_t;
|
||||||
|
|
||||||
typedef struct _pk11_hdr_t
|
typedef struct _pk11_hdr_t
|
||||||
|
|
Loading…
Reference in a new issue