mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 11:21:23 +00:00
Bugfixes
- Fixed partial dumping filename/bar position - Add return for menu function handler - More files to bootloader folder
This commit is contained in:
parent
bf816c5107
commit
7e876388b4
7 changed files with 21 additions and 16 deletions
|
@ -132,8 +132,7 @@ void config_autoboot()
|
||||||
|
|
||||||
LIST_INIT(ini_sections);
|
LIST_INIT(ini_sections);
|
||||||
|
|
||||||
u8 max_entries = 29;
|
u8 max_entries = 30;
|
||||||
bool ini_freed = true;
|
|
||||||
|
|
||||||
ment_t *ments = (ment_t *)malloc(sizeof(ment_t) * (max_entries + 3));
|
ment_t *ments = (ment_t *)malloc(sizeof(ment_t) * (max_entries + 3));
|
||||||
u32 *boot_values = (u32 *)malloc(sizeof(u32) * max_entries);
|
u32 *boot_values = (u32 *)malloc(sizeof(u32) * max_entries);
|
||||||
|
@ -146,8 +145,6 @@ void config_autoboot()
|
||||||
{
|
{
|
||||||
if (ini_parse(&ini_sections, "bootloader/hekate_ipl.ini"))
|
if (ini_parse(&ini_sections, "bootloader/hekate_ipl.ini"))
|
||||||
{
|
{
|
||||||
ini_freed = false;
|
|
||||||
|
|
||||||
// Build configuration menu.
|
// Build configuration menu.
|
||||||
ments[0].type = MENT_BACK;
|
ments[0].type = MENT_BACK;
|
||||||
ments[0].caption = "Back";
|
ments[0].caption = "Back";
|
||||||
|
@ -229,8 +226,7 @@ out2:;
|
||||||
free(ments);
|
free(ments);
|
||||||
free(boot_values);
|
free(boot_values);
|
||||||
free(boot_text);
|
free(boot_text);
|
||||||
if (!ini_freed)
|
ini_free(&ini_sections);
|
||||||
ini_free(&ini_sections);
|
|
||||||
|
|
||||||
sd_unmount();
|
sd_unmount();
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,8 @@ extern hekate_config h_cfg;
|
||||||
|
|
||||||
void tui_sbar(gfx_con_t *con, bool force_update)
|
void tui_sbar(gfx_con_t *con, bool force_update)
|
||||||
{
|
{
|
||||||
|
u32 cx, cy;
|
||||||
|
|
||||||
u32 timePassed = get_tmr_s() - h_cfg.sbar_time_keeping;
|
u32 timePassed = get_tmr_s() - h_cfg.sbar_time_keeping;
|
||||||
if (!force_update)
|
if (!force_update)
|
||||||
if (timePassed < 5)
|
if (timePassed < 5)
|
||||||
|
@ -45,7 +47,7 @@ void tui_sbar(gfx_con_t *con, bool force_update)
|
||||||
u32 battPercent = 0;
|
u32 battPercent = 0;
|
||||||
int battVoltCurr = 0;
|
int battVoltCurr = 0;
|
||||||
|
|
||||||
gfx_con_getpos(con, &con->savedx, &con->savedy);
|
gfx_con_getpos(con, &cx, &cy);
|
||||||
gfx_con_setpos(con, 0, 1260);
|
gfx_con_setpos(con, 0, 1260);
|
||||||
|
|
||||||
max17050_get_property(MAX17050_RepSOC, (int *)&battPercent);
|
max17050_get_property(MAX17050_RepSOC, (int *)&battPercent);
|
||||||
|
@ -64,7 +66,7 @@ void tui_sbar(gfx_con_t *con, bool force_update)
|
||||||
gfx_printf(con, " %k-%d mA %k%K\n",
|
gfx_printf(con, " %k-%d mA %k%K\n",
|
||||||
0xFF880000, (~battVoltCurr) / 1000, 0xFFCCCCCC, 0xFF1B1B1B);
|
0xFF880000, (~battVoltCurr) / 1000, 0xFFCCCCCC, 0xFF1B1B1B);
|
||||||
con->fntsz = prevFontSize;
|
con->fntsz = prevFontSize;
|
||||||
gfx_con_setpos(con, con->savedx, con->savedy);
|
gfx_con_setpos(con, cx, cy);
|
||||||
}
|
}
|
||||||
|
|
||||||
void tui_pbar(gfx_con_t *con, int x, int y, u32 val, u32 fgcol, u32 bgcol)
|
void tui_pbar(gfx_con_t *con, int x, int y, u32 val, u32 fgcol, u32 bgcol)
|
||||||
|
@ -187,6 +189,9 @@ void *tui_do_menu(gfx_con_t *con, menu_t *menu)
|
||||||
case MENT_BACK:
|
case MENT_BACK:
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
|
case MENT_HDLR_RE:
|
||||||
|
ent->handler(ent->data);
|
||||||
|
return NULL;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#define MENT_BACK 4
|
#define MENT_BACK 4
|
||||||
#define MENT_CAPTION 5
|
#define MENT_CAPTION 5
|
||||||
#define MENT_CHGLINE 6
|
#define MENT_CHGLINE 6
|
||||||
|
#define MENT_HDLR_RE 7
|
||||||
|
|
||||||
typedef struct _ment_t
|
typedef struct _ment_t
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
// Taken from http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf
|
// Taken from http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf
|
||||||
#define R_ARM_NONE 0
|
#define R_ARM_NONE 0
|
||||||
#define R_ARM_ABS32 2
|
#define R_ARM_ABS32 2
|
||||||
#define R_ARM_RELATIVE 23
|
|
||||||
#define R_ARM_JUMP_SLOT 22
|
#define R_ARM_JUMP_SLOT 22
|
||||||
#define R_ARM_GLOB_DAT 21
|
#define R_ARM_GLOB_DAT 21
|
||||||
|
#define R_ARM_RELATIVE 23
|
||||||
|
|
||||||
el_status el_applyrel(el_ctx *ctx, Elf_Rel *rel)
|
el_status el_applyrel(el_ctx *ctx, Elf_Rel *rel)
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,7 +57,6 @@
|
||||||
#include "power/bq24193.h"
|
#include "power/bq24193.h"
|
||||||
#include "config/config.h"
|
#include "config/config.h"
|
||||||
#include "ianos/ianos.h"
|
#include "ianos/ianos.h"
|
||||||
#include "libs/elfload/elfload.h"
|
|
||||||
|
|
||||||
//TODO: ugly.
|
//TODO: ugly.
|
||||||
gfx_ctxt_t gfx_ctxt;
|
gfx_ctxt_t gfx_ctxt;
|
||||||
|
@ -1834,7 +1833,7 @@ void auto_launch_firmware()
|
||||||
|
|
||||||
if (sd_mount())
|
if (sd_mount())
|
||||||
{
|
{
|
||||||
if (ini_parse(&ini_sections, "hekate_ipl.ini"))
|
if (ini_parse(&ini_sections, "bootloader/hekate_ipl.ini"))
|
||||||
{
|
{
|
||||||
u32 configEntry = 0;
|
u32 configEntry = 0;
|
||||||
u32 boot_entry_id = 0;
|
u32 boot_entry_id = 0;
|
||||||
|
@ -1900,10 +1899,10 @@ void auto_launch_firmware()
|
||||||
{
|
{
|
||||||
bitmap = (u8 *)sd_file_read(bootlogoCustomEntry);
|
bitmap = (u8 *)sd_file_read(bootlogoCustomEntry);
|
||||||
if (bitmap == NULL) // Custom entry bootlogo not found, trying default custom one.
|
if (bitmap == NULL) // Custom entry bootlogo not found, trying default custom one.
|
||||||
bitmap = (u8 *)sd_file_read("bootlogo.bmp");
|
bitmap = (u8 *)sd_file_read("bootloader/bootlogo.bmp");
|
||||||
}
|
}
|
||||||
else // User has not set a custom logo path.
|
else // User has not set a custom logo path.
|
||||||
bitmap = (u8 *)sd_file_read("bootlogo.bmp");
|
bitmap = (u8 *)sd_file_read("bootloader/bootlogo.bmp");
|
||||||
|
|
||||||
if (bitmap != NULL)
|
if (bitmap != NULL)
|
||||||
{
|
{
|
||||||
|
@ -1952,6 +1951,7 @@ void auto_launch_firmware()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
gfx_clear_grey(&gfx_ctxt, 0x1B);
|
||||||
BOOTLOGO = (void *)malloc(0x4000);
|
BOOTLOGO = (void *)malloc(0x4000);
|
||||||
blz_uncompress_srcdest(BOOTLOGO_BLZ, SZ_BOOTLOGO_BLZ, BOOTLOGO, SZ_BOOTLOGO);
|
blz_uncompress_srcdest(BOOTLOGO_BLZ, SZ_BOOTLOGO_BLZ, BOOTLOGO, SZ_BOOTLOGO);
|
||||||
gfx_set_rect_grey(&gfx_ctxt, BOOTLOGO, X_BOOTLOGO, Y_BOOTLOGO, 326, 544);
|
gfx_set_rect_grey(&gfx_ctxt, BOOTLOGO, X_BOOTLOGO, Y_BOOTLOGO, 326, 544);
|
||||||
|
@ -2285,7 +2285,7 @@ void print_battery_info()
|
||||||
if (sd_mount())
|
if (sd_mount())
|
||||||
{
|
{
|
||||||
char path[64];
|
char path[64];
|
||||||
emmcsn_path_impl(path, "/Dumps", "fuel_gauge.bin", NULL);
|
emmcsn_path_impl(path, "/dumps", "fuel_gauge.bin", NULL);
|
||||||
if (sd_save_to_file((u8 *)buf, 0x200, path))
|
if (sd_save_to_file((u8 *)buf, 0x200, path))
|
||||||
EPRINTF("\nError creating fuel.bin file.");
|
EPRINTF("\nError creating fuel.bin file.");
|
||||||
else
|
else
|
||||||
|
@ -2582,7 +2582,6 @@ menu_t menu_tools = {
|
||||||
|
|
||||||
ment_t ment_top[] = {
|
ment_t ment_top[] = {
|
||||||
MDEF_HANDLER("Launch firmware", launch_firmware),
|
MDEF_HANDLER("Launch firmware", launch_firmware),
|
||||||
MDEF_HANDLER("Launch ELF", launch_elf),
|
|
||||||
MDEF_MENU("Launch options", &menu_options),
|
MDEF_MENU("Launch options", &menu_options),
|
||||||
MDEF_CAPTION("---------------", 0xFF444444),
|
MDEF_CAPTION("---------------", 0xFF444444),
|
||||||
MDEF_MENU("Tools", &menu_tools),
|
MDEF_MENU("Tools", &menu_tools),
|
||||||
|
@ -2619,7 +2618,7 @@ void ipl_main()
|
||||||
ianos_loader(true, "bootloader/sys/libsys_lp0.bso", DRAM_LIB, (void *)sdram_get_params());
|
ianos_loader(true, "bootloader/sys/libsys_lp0.bso", DRAM_LIB, (void *)sdram_get_params());
|
||||||
|
|
||||||
display_init();
|
display_init();
|
||||||
//display_color_screen(0xAABBCCDD);
|
|
||||||
u32 *fb = display_init_framebuffer();
|
u32 *fb = display_init_framebuffer();
|
||||||
gfx_init_ctxt(&gfx_ctxt, fb, 720, 1280, 768);
|
gfx_init_ctxt(&gfx_ctxt, fb, 720, 1280, 768);
|
||||||
|
|
||||||
|
@ -2632,6 +2631,7 @@ void ipl_main()
|
||||||
|
|
||||||
// Enable backlight after initializing gfx
|
// Enable backlight after initializing gfx
|
||||||
//display_backlight(true);
|
//display_backlight(true);
|
||||||
|
|
||||||
set_default_configuration();
|
set_default_configuration();
|
||||||
// Load saved configuration and auto boot if enabled.
|
// Load saved configuration and auto boot if enabled.
|
||||||
auto_launch_firmware();
|
auto_launch_firmware();
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
#define CLK_RST_CONTROLLER_CLK_SYSTEM_RATE 0x30
|
#define CLK_RST_CONTROLLER_CLK_SYSTEM_RATE 0x30
|
||||||
#define CLK_RST_CONTROLLER_MISC_CLK_ENB 0x48
|
#define CLK_RST_CONTROLLER_MISC_CLK_ENB 0x48
|
||||||
#define CLK_RST_CONTROLLER_OSC_CTRL 0x50
|
#define CLK_RST_CONTROLLER_OSC_CTRL 0x50
|
||||||
|
#define CLK_RST_CONTROLLER_PLLC_BASE 0x80
|
||||||
#define CLK_RST_CONTROLLER_PLLC_MISC 0x88
|
#define CLK_RST_CONTROLLER_PLLC_MISC 0x88
|
||||||
#define CLK_RST_CONTROLLER_PLLM_BASE 0x90
|
#define CLK_RST_CONTROLLER_PLLM_BASE 0x90
|
||||||
#define CLK_RST_CONTROLLER_PLLM_MISC1 0x98
|
#define CLK_RST_CONTROLLER_PLLM_MISC1 0x98
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "../utils/types.h"
|
#include "../utils/types.h"
|
||||||
|
|
||||||
#define HOST1X_BASE 0x50000000
|
#define HOST1X_BASE 0x50000000
|
||||||
|
#define BPMP_CACHE_BASE 0x50040000
|
||||||
#define DISPLAY_A_BASE 0x54200000
|
#define DISPLAY_A_BASE 0x54200000
|
||||||
#define DSI_BASE 0x54300000
|
#define DSI_BASE 0x54300000
|
||||||
#define VIC_BASE 0x54340000
|
#define VIC_BASE 0x54340000
|
||||||
|
@ -57,6 +58,7 @@
|
||||||
#define _REG(base, off) *(vu32 *)((base) + (off))
|
#define _REG(base, off) *(vu32 *)((base) + (off))
|
||||||
|
|
||||||
#define HOST1X(off) _REG(HOST1X_BASE, off)
|
#define HOST1X(off) _REG(HOST1X_BASE, off)
|
||||||
|
#define BPMP_CACHE_CTRL(off) _REG(BPMP_CACHE_BASE, off)
|
||||||
#define DISPLAY_A(off) _REG(DISPLAY_A_BASE, off)
|
#define DISPLAY_A(off) _REG(DISPLAY_A_BASE, off)
|
||||||
#define DSI(off) _REG(DSI_BASE, off)
|
#define DSI(off) _REG(DSI_BASE, off)
|
||||||
#define VIC(off) _REG(VIC_BASE, off)
|
#define VIC(off) _REG(VIC_BASE, off)
|
||||||
|
|
Loading…
Reference in a new issue