* grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
initial chunk read from the kernel always includes GRUB's multiboot header, which is now outside the first sector.
This commit is contained in:
		
							parent
							
								
									be1a7ce0cf
								
							
						
					
					
						commit
						9b43bf396a
					
				
					 2 changed files with 15 additions and 0 deletions
				
			
		|  | @ -178,8 +178,13 @@ real_code_2: | |||
| 	pushw	%es | ||||
| 	popw	%ds | ||||
| 
 | ||||
| #if GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4 < 0x200 | ||||
| 	movl	$0x200, %ecx | ||||
| 	addl	%ecx, %esi | ||||
| #else | ||||
| 	movl	$(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4), %ecx | ||||
| 	addl	$0x200, %esi | ||||
| #endif | ||||
| 	movl	$DATA_ADDR, %edi | ||||
| 
 | ||||
| 	call	LOCAL(move_memory) | ||||
|  | @ -196,7 +201,11 @@ real_code_2: | |||
| 1: | ||||
| 
 | ||||
| 	movl	%ss:(DATA_ADDR + GRUB_KERNEL_MACHINE_COMPRESSED_SIZE), %ecx | ||||
| #if GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4 < 0x200 | ||||
| 	addl	$(GRUB_KERNEL_MACHINE_RAW_SIZE - 0x200), %ecx | ||||
| #else | ||||
| 	addl	$(GRUB_KERNEL_MACHINE_RAW_SIZE - (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART + 4)), %ecx | ||||
| #endif | ||||
| 
 | ||||
| 2: | ||||
| 	call	LOCAL(move_memory) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue