mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
* 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:
1 parent
32eb6ee157
commit
bea359d657
2 files changed
+12
-1
No files matched your search
@@ -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
|
||||||
Reference in new issue
Block a user