blob: 38580146b449a5c40d765d30235b1209ba016eae [file] [log] [blame]
Angel Ponsf23ae0b2020-04-02 23:48:12 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Martin Roth6add44b2017-02-09 17:51:20 -08002
Aaron Durbin0fd068b2016-03-02 14:55:32 -06003 .section ".reset", "ax", %progbits
Eric Biedermanfcd5ace2004-10-14 19:29:29 +00004 .code16
Aaron Durbin4330a9c2016-03-02 15:13:12 -06005.globl _start
6_start:
Eric Biedermanfcd5ace2004-10-14 19:29:29 +00007 .byte 0xe9
Aaron Durbinf8468d42016-03-02 14:47:37 -06008 .int _start16bit - ( . + 2 )
Eric Biedermanfcd5ace2004-10-14 19:29:29 +00009 /* Note: The above jump is hand coded to work around bugs in binutils.
10 * 5 byte are used for a 3 byte instruction. This works because x86
11 * is little endian and allows us to use supported 32bit relocations
12 * instead of the weird 16 bit relocations that binutils does not
Martin Roth6a3d0bf2017-04-04 14:20:33 -060013 * handle consistently between versions because they are used so rarely.
Eric Biedermanfcd5ace2004-10-14 19:29:29 +000014 */