.patch SD 14699

# =================================================================================
# Extend the loader (used to be 0x6000, that could cause problems though)
# =================================================================================
.extend 0x5C00

# =================================================================================
# Write out our watermark variable (should be set by script which includes this!)
# =================================================================================
.string watermark

# =================================================================================
# remove CE hash check
# (branch conditionally -> branch)
# =================================================================================
.data 0xCE8
48 00 00 14
.eod

# =================================================================================
# remove CE validity check
# (branch conditionally -> nop)
# =================================================================================
.data 0xD98
60 00 00 00
.eod

# =================================================================================
# remove CE validity check
# (branch conditionally -> nop)
# =================================================================================
.data 0xDA8
60 00 00 00
.eod

# =================================================================================
# remove CE validity check
# (branch conditionally -> nop)
# =================================================================================
.data 0xDB4
60 00 00 00
.eod

# =================================================================================
# remove CE validity check
# (branch conditionally -> nop)
# =================================================================================
.data 0xDC0
60 00 00 00
.eod

# =================================================================================
# remove CF signature check
# (branch conditionally -> nop)
# =================================================================================
.data 0x85C
60 00 00 00
.eod

# =================================================================================
# remove CF/CG hash check
# (li r3, 0 -> li r3, 1)
# =================================================================================
.data 0x1AC0
38 60 00 01
.eod

# =================================================================================
# remove unpaired bit from bootloader flags
# =================================================================================
.code b 0xF40
                 or        %r11, %r11, %r10 # do what we patched did originally
                 xori      %r11, %r11, 1   # remove the unpaired bit
.eoc

# =================================================================================
# some kinda salt, helps stop CB/kernel from freezing after glitched hash check
# =================================================================================
# That's all folks!
.data 0x5BEF
54 68 61 74 27 73 20 61 6C 6C 20 66 6F 6C 6B 73 21
.eod