for local arithmetics.
Break %sp init into 2 instructions.
Add 0 byte at the end.
+2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
+ for local arithmetics.
+ Break %sp init into 2 instructions.
+ Add 0 byte at the end.
+
2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/disk/diskfilter.c (read_segment): Initialise err
.byte 0xb8
VARIABLE(grub_relocator16_keep_a20_enabled)
.word 0
+
test %ax, %ax
jnz LOCAL(gate_a20_done)
movw %cs, %ax
movw %ax, %ss
- leaw EXT_C(grub_relocator16_end) - LOCAL(base) + GRUB_RELOCATOR16_STACK_SIZE, %sp
+ leaw LOCAL(relocator16_end) - LOCAL(base), %sp
+ addw $GRUB_RELOCATOR16_STACK_SIZE, %sp
/* second, try a BIOS call */
movw $0x2400, %ax
VARIABLE(grub_relocator16_idt)
.word 0
.long 0
+LOCAL(relocator16_end):
VARIABLE(grub_relocator16_end)
+ .byte 0