blob: 8dba3c836f208bb46efb7938fc39a4fa6d6ac39b [file] [log] [blame]
.section ".reset"
.code16
.globl reset_vector
reset_vector:
wbinvd
.byte 0xe9
.int _start - ( . + 2 )
/* Note: The above jump is hand coded to work around bugs in binutils.
* 5 byte are used for a 3 byte instruction. This works because x86
* is little endian and allows us to use supported 32bit relocations
* instead of the weird 16 bit relocations that binutils does not
* handle consistenly between versions because they are used so rarely.
*/
. = 0x8;
.code32
jmp protected_start
.previous