summaryrefslogtreecommitdiff
path: root/rbutil/mkamsboot/dualboot/dualboot.S
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-07-16 00:00:29 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-07-16 00:00:29 +0000
commitf5c79105a4087362f2b95ecbc359ccecbf4910c9 (patch)
treea2adb6783082f52b136e58d96dbdc315f3c2993e /rbutil/mkamsboot/dualboot/dualboot.S
parent6d732a32bc4472a9050b118d0920e936a4bf5408 (diff)
downloadrockbox-f5c79105a4087362f2b95ecbc359ccecbf4910c9.tar.gz
rockbox-f5c79105a4087362f2b95ecbc359ccecbf4910c9.zip
mkamsboot: fix for newer fuzev2
These models are restricted to OF >= v02.3.31, probably because of a hardware change The OF checks a version string located between 0x0 and 0x200 in the firmware block, so let's keep this part unmodified We put our dualboot code at 0x200, and insert a branch + vectors at 0x0 That way our patched file will present the OF version to the fuzev2 OF patching it, and we only waste 512 bytes on other models git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27441 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/mkamsboot/dualboot/dualboot.S')
-rw-r--r--rbutil/mkamsboot/dualboot/dualboot.S15
1 files changed, 2 insertions, 13 deletions
diff --git a/rbutil/mkamsboot/dualboot/dualboot.S b/rbutil/mkamsboot/dualboot/dualboot.S
index d6a8d3701c..77fb4dec7d 100644
--- a/rbutil/mkamsboot/dualboot/dualboot.S
+++ b/rbutil/mkamsboot/dualboot/dualboot.S
@@ -51,20 +51,9 @@
51#error i2c prescaler too big! 51#error i2c prescaler too big!
52#endif 52#endif
53 53
54/* Vectors */ 54 b start @ skip our data
55 55
56 ldr pc, =start /* reset vector */ 56/* These values are filled in by mkamsboot - don't move them from offset 0x4 */
57 /* next vectors are unused, halt cpu */
581: b 1b
591: b 1b
601: b 1b
611: b 1b
621: b 1b
631: b 1b
641: b 1b
65
66
67/* These values are filled in by mkamsboot - don't move them from offset 0x20 */
68 57
69uclunpack_end: .word 0 /* End of the ucl_unpack function */ 58uclunpack_end: .word 0 /* End of the ucl_unpack function */
70uclunpack_size: .word 0 /* Size in bytes of the ucl_unpack function */ 59uclunpack_size: .word 0 /* Size in bytes of the ucl_unpack function */