* grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to

non-RS part to avoid RS messing with GDT.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
	Increase to suit in realmode routines.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-12-15 19:20:41 +01:00
parent b81d609e4c
commit e3fd394a10
3 changed files with 15 additions and 3 deletions

View file

@ -1,3 +1,15 @@
2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
non-RS part to avoid RS messing with GDT.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
Increase to suit in realmode routines.
2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/kern/i386/realmode.S: Increase alignment.
* grub-core/boot/i386/pc/startup_raw.S: Likewise.
2011-12-14 Vladimir Serbinenko <phcoder@gmail.com> 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to

View file

@ -108,6 +108,8 @@ LOCAL (codestart):
call EXT_C (grub_reed_solomon_recover) call EXT_C (grub_reed_solomon_recover)
jmp post_reed_solomon jmp post_reed_solomon
#include "../../../kern/i386/realmode.S"
#include <rs_decoder.S> #include <rs_decoder.S>
.text .text
@ -185,8 +187,6 @@ post_reed_solomon:
movl $real_to_prot, %ecx movl $real_to_prot, %ecx
jmp *%esi jmp *%esi
#include "../../../kern/i386/realmode.S"
/* /*
* grub_gate_a20(int on) * grub_gate_a20(int on)
* *

View file

@ -28,7 +28,7 @@
/* Offset of reed_solomon_redundancy. */ /* Offset of reed_solomon_redundancy. */
#define GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY 0x10 #define GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY 0x10
#define GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART 0x6e0 #define GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART 0x7e0
/* The segment where the kernel is loaded. */ /* The segment where the kernel is loaded. */
#define GRUB_BOOT_I386_PC_KERNEL_SEG 0x800 #define GRUB_BOOT_I386_PC_KERNEL_SEG 0x800