* 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.
This commit is contained in:
parent
32eb6ee157
commit
bea359d657
2 changed files with 12 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
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>
|
2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/disk/diskfilter.c (read_segment): Initialise err
|
* grub-core/disk/diskfilter.c (read_segment): Initialise err
|
||||||
|
|
|
@ -102,12 +102,14 @@ LOCAL(cont3):
|
||||||
.byte 0xb8
|
.byte 0xb8
|
||||||
VARIABLE(grub_relocator16_keep_a20_enabled)
|
VARIABLE(grub_relocator16_keep_a20_enabled)
|
||||||
.word 0
|
.word 0
|
||||||
|
|
||||||
test %ax, %ax
|
test %ax, %ax
|
||||||
jnz LOCAL(gate_a20_done)
|
jnz LOCAL(gate_a20_done)
|
||||||
|
|
||||||
movw %cs, %ax
|
movw %cs, %ax
|
||||||
movw %ax, %ss
|
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 */
|
/* second, try a BIOS call */
|
||||||
movw $0x2400, %ax
|
movw $0x2400, %ax
|
||||||
|
@ -283,4 +285,6 @@ LOCAL(gdt_end):
|
||||||
VARIABLE(grub_relocator16_idt)
|
VARIABLE(grub_relocator16_idt)
|
||||||
.word 0
|
.word 0
|
||||||
.long 0
|
.long 0
|
||||||
|
LOCAL(relocator16_end):
|
||||||
VARIABLE(grub_relocator16_end)
|
VARIABLE(grub_relocator16_end)
|
||||||
|
.byte 0
|
||||||
|
|
Loading…
Reference in a new issue