blob: 33712d179911b2a4e64c5a79d98d81bdc3fc22bc [file] [log] [blame]
Eric Biedermanfcd5ace2004-10-14 19:29:29 +00001 .section ".reset"
2 .code16
3.globl reset_vector
4reset_vector:
Eric Biedermanfcd5ace2004-10-14 19:29:29 +00005 .byte 0xe9
6 .int _start - ( . + 2 )
7 /* Note: The above jump is hand coded to work around bugs in binutils.
8 * 5 byte are used for a 3 byte instruction. This works because x86
9 * is little endian and allows us to use supported 32bit relocations
10 * instead of the weird 16 bit relocations that binutils does not
11 * handle consistenly between versions because they are used so rarely.
12 */
Patrick Georgi938ef9f2014-01-18 16:24:24 +010013 .org 0x8;
Eric Biedermanfcd5ace2004-10-14 19:29:29 +000014 .code32
15 jmp protected_start
16 .previous