1
0
Fork 0
forked from len0rd/rockbox

x1000: Add multiboot support

Enables multiboot for the FiiO M3K, Shanling Q1, and Eros Q native port.
Note this requires an up-to-date Rockbox _and_ bootloader.

Usage instructions will (eventually) be found on the wiki:
https://www.rockbox.org/wiki/MultibootBootloader

Change-Id: Ia2da1ad6ef611e499d2fbafa93838387bc1023ba
This commit is contained in:
Aidan MacDonald 2022-03-07 11:09:30 +00:00
parent bcbb5a8b00
commit 7243f6b343
4 changed files with 21 additions and 0 deletions

View file

@ -78,6 +78,7 @@
#define HAVE_HOTSWAP #define HAVE_HOTSWAP
#define HAVE_HOTSWAP_STORAGE_AS_MAIN #define HAVE_HOTSWAP_STORAGE_AS_MAIN
#define HAVE_MULTIDRIVE #define HAVE_MULTIDRIVE
#define HAVE_MULTIVOLUME
#define NUM_DRIVES 1 #define NUM_DRIVES 1
#define STORAGE_WANTS_ALIGN #define STORAGE_WANTS_ALIGN
#define STORAGE_NEEDS_BOUNCE_BUFFER #define STORAGE_NEEDS_BOUNCE_BUFFER
@ -103,6 +104,10 @@
#define CURRENT_BACKLIGHT 180 #define CURRENT_BACKLIGHT 180
#define CURRENT_MAX_CHG 500 // bursts higher if needed #define CURRENT_MAX_CHG 500 // bursts higher if needed
/* Multiboot */
#define HAVE_BOOTDATA
#define BOOT_REDIR "rockbox_main.aigo_erosqn"
/* USB support */ /* USB support */
#ifndef SIMULATOR #ifndef SIMULATOR
#define CONFIG_USBOTG USBOTG_DESIGNWARE #define CONFIG_USBOTG USBOTG_DESIGNWARE

View file

@ -84,6 +84,7 @@
#define HAVE_HOTSWAP #define HAVE_HOTSWAP
#define HAVE_HOTSWAP_STORAGE_AS_MAIN #define HAVE_HOTSWAP_STORAGE_AS_MAIN
#define HAVE_MULTIDRIVE #define HAVE_MULTIDRIVE
#define HAVE_MULTIVOLUME
#define NUM_DRIVES 1 #define NUM_DRIVES 1
#define STORAGE_WANTS_ALIGN #define STORAGE_WANTS_ALIGN
#define STORAGE_NEEDS_BOUNCE_BUFFER #define STORAGE_NEEDS_BOUNCE_BUFFER
@ -109,6 +110,10 @@
#define BATTERY_CAPACITY_INC 0 #define BATTERY_CAPACITY_INC 0
#define BATTERY_TYPES_COUNT 1 #define BATTERY_TYPES_COUNT 1
/* Multiboot */
#define HAVE_BOOTDATA
#define BOOT_REDIR "rockbox_main.fiio_m3k"
/* USB support */ /* USB support */
#ifndef SIMULATOR #ifndef SIMULATOR
#define CONFIG_USBOTG USBOTG_DESIGNWARE #define CONFIG_USBOTG USBOTG_DESIGNWARE

View file

@ -67,6 +67,7 @@
#define HAVE_HOTSWAP #define HAVE_HOTSWAP
#define HAVE_HOTSWAP_STORAGE_AS_MAIN #define HAVE_HOTSWAP_STORAGE_AS_MAIN
#define HAVE_MULTIDRIVE #define HAVE_MULTIDRIVE
#define HAVE_MULTIVOLUME
#define NUM_DRIVES 1 #define NUM_DRIVES 1
#define STORAGE_WANTS_ALIGN #define STORAGE_WANTS_ALIGN
#define STORAGE_NEEDS_BOUNCE_BUFFER #define STORAGE_NEEDS_BOUNCE_BUFFER
@ -94,6 +95,10 @@
#define BATTERY_CAPACITY_INC 0 #define BATTERY_CAPACITY_INC 0
#define BATTERY_TYPES_COUNT 1 #define BATTERY_TYPES_COUNT 1
/* Multiboot */
#define HAVE_BOOTDATA
#define BOOT_REDIR "rockbox_main.shanling_q1"
/* USB support */ /* USB support */
#ifndef SIMULATOR #ifndef SIMULATOR
#define CONFIG_USBOTG USBOTG_DESIGNWARE #define CONFIG_USBOTG USBOTG_DESIGNWARE

View file

@ -21,6 +21,7 @@
#include "config.h" #include "config.h"
#include "mips.h" #include "mips.h"
#include "bootdata.h"
.text .text
.extern main .extern main
@ -48,6 +49,11 @@ _header:
.word _loadaddress .word _loadaddress
.ascii "ENDH" /* end of header structure */ .ascii "ENDH" /* end of header structure */
#ifndef BOOTLOADER
/* Multiboot support header; this is not part of the above header. */
put_boot_data_here
#endif
_realstart: _realstart:
/* Copy IRAM from BSS to low memory. */ /* Copy IRAM from BSS to low memory. */
la a0, _iramcopy la a0, _iramcopy