Remove redundant grub_kernel_image_size.

* grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
	_edata and _start.
	* grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
	the small code. It moves it only by few bytes but simplifies the code.
	* grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
	_start.
	* grub-core/kern/i386/pc/startup.S: Use _edata and _start.
	(grub_kernel_image_size): Removed.
	* grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
	(grub_kernel_image_size): Removed.
	[APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
	compiled with Apple toolchain.
	* grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
	* include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
	* include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
	(grub_total_module_size): Likewise.
	* include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
	Removed.
	(GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
	(GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
	(GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
	(GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
	(GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
	(GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
	(GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
	* include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
	Removed.
	(grub_total_module_size): Removed.
	* util/grub-mkimage.c (image_target_desc): Remove image_size.
	(image_targets): Likewise.
	Set .compressed_size to no field on sparc.
	(generate_image): Remove kernel_image_size handling.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-10-20 08:13:00 +02:00
parent fcf1d67219
commit 766f7d0809
12 changed files with 63 additions and 103 deletions

View file

@ -1,3 +1,40 @@
2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
Remove redundant grub_kernel_image_size.
* grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
_edata and _start.
* grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
the small code. It moves it only by few bytes but simplifies the code.
* grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
_start.
* grub-core/kern/i386/pc/startup.S: Use _edata and _start.
(grub_kernel_image_size): Removed.
* grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
(grub_kernel_image_size): Removed.
[APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
compiled with Apple toolchain.
* grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
* include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
* include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
(grub_total_module_size): Likewise.
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
Removed.
(GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
(GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
(GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
(GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
(GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
(GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
(GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
* include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
Removed.
(grub_total_module_size): Removed.
* util/grub-mkimage.c (image_target_desc): Remove image_size.
(image_targets): Likewise.
Set .compressed_size to no field on sparc.
(generate_image): Remove kernel_image_size handling.
2011-10-19 Szymon Janc <szymon@janc.net.pl> 2011-10-19 Szymon Janc <szymon@janc.net.pl>
* grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible

View file

@ -38,8 +38,9 @@
#include <grub/machine/kernel.h> #include <grub/machine/kernel.h>
#endif #endif
extern char _start[]; extern grub_uint8_t _start[];
extern char _end[]; extern grub_uint8_t _end[];
extern grub_uint8_t _edata[];
grub_uint32_t grub_uint32_t
grub_get_rtc (void) grub_get_rtc (void)
@ -66,7 +67,7 @@ void
grub_machine_init (void) grub_machine_init (void)
{ {
#ifdef GRUB_MACHINE_QEMU #ifdef GRUB_MACHINE_QEMU
grub_modbase = grub_core_entry_addr + grub_kernel_image_size; grub_modbase = grub_core_entry_addr + (_edata - _start);
grub_qemu_init_cirrus (); grub_qemu_init_cirrus ();
#endif #endif

View file

@ -38,21 +38,6 @@
.globl start, _start .globl start, _start
start: start:
_start: _start:
jmp codestart
/*
* Support for booting GRUB from a Multiboot boot loader (e.g. GRUB itself).
*/
.p2align 2 /* force 4-byte alignment */
multiboot_header:
/* magic */
.long 0x1BADB002
/* flags */
.long MULTIBOOT_MEMORY_INFO
/* checksum */
.long -0x1BADB002 - MULTIBOOT_MEMORY_INFO
codestart:
#ifdef GRUB_MACHINE_MULTIBOOT #ifdef GRUB_MACHINE_MULTIBOOT
cmpl $MULTIBOOT_BOOTLOADER_MAGIC, %eax cmpl $MULTIBOOT_BOOTLOADER_MAGIC, %eax
jne 0f jne 0f
@ -66,6 +51,18 @@ codestart:
/* jump to the main body of C code */ /* jump to the main body of C code */
jmp EXT_C(grub_main) jmp EXT_C(grub_main)
/*
* Support for booting GRUB from a Multiboot boot loader (e.g. GRUB itself).
*/
.p2align 2 /* force 4-byte alignment */
multiboot_header:
/* magic */
.long 0x1BADB002
/* flags */
.long MULTIBOOT_MEMORY_INFO
/* checksum */
.long -0x1BADB002 - MULTIBOOT_MEMORY_INFO
/* /*
* prot_to_real and associated structures (but NOT real_to_prot, that is * prot_to_real and associated structures (but NOT real_to_prot, that is
* only needed for BIOS gates). * only needed for BIOS gates).

View file

@ -130,6 +130,7 @@ compact_mem_regions (void)
} }
grub_addr_t grub_modbase; grub_addr_t grub_modbase;
extern grub_uint8_t _start[], _edata[];
void void
grub_machine_init (void) grub_machine_init (void)
@ -140,7 +141,7 @@ grub_machine_init (void)
#endif #endif
grub_modbase = GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR grub_modbase = GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR
+ (grub_kernel_image_size - GRUB_KERNEL_MACHINE_RAW_SIZE); + ((_edata - _start) - GRUB_KERNEL_MACHINE_RAW_SIZE);
/* Initialize the console as early as possible. */ /* Initialize the console as early as possible. */
grub_console_init (); grub_console_init ();

View file

@ -81,9 +81,6 @@ LOCAL (base):
. = _start + GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE . = _start + GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE
VARIABLE(grub_total_module_size) VARIABLE(grub_total_module_size)
.long 0
. = _start + GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE
VARIABLE(grub_kernel_image_size)
.long 0 .long 0
. = _start + GRUB_KERNEL_I386_PC_COMPRESSED_SIZE . = _start + GRUB_KERNEL_I386_PC_COMPRESSED_SIZE
VARIABLE(grub_compressed_size) VARIABLE(grub_compressed_size)
@ -226,7 +223,7 @@ post_reed_solomon:
movl $(_start + GRUB_KERNEL_MACHINE_RAW_SIZE), %esi movl $(_start + GRUB_KERNEL_MACHINE_RAW_SIZE), %esi
pushl %edi pushl %edi
pushl %esi pushl %esi
movl EXT_C(grub_kernel_image_size), %ecx movl $(BSS_START_SYMBOL - _start), %ecx
addl EXT_C(grub_total_module_size), %ecx addl EXT_C(grub_total_module_size), %ecx
subl $GRUB_KERNEL_MACHINE_RAW_SIZE, %ecx subl $GRUB_KERNEL_MACHINE_RAW_SIZE, %ecx
pushl %ecx pushl %ecx

View file

@ -32,8 +32,6 @@ _start:
. = _start + GRUB_KERNEL_I386_QEMU_CORE_ENTRY_ADDR . = _start + GRUB_KERNEL_I386_QEMU_CORE_ENTRY_ADDR
VARIABLE(grub_core_entry_addr) VARIABLE(grub_core_entry_addr)
.long 0 .long 0
VARIABLE(grub_kernel_image_size)
.long 0
codestart: codestart:
/* Relocate to low memory. First we figure out our location. /* Relocate to low memory. First we figure out our location.
@ -45,11 +43,7 @@ codestart:
value of `grub_core_entry_addr' in %esi. */ value of `grub_core_entry_addr' in %esi. */
xorw %si, %si xorw %si, %si
/* ... which allows us to access `grub_kernel_image_size' movl $(_edata - _start), %ecx
before relocation. */
movl (grub_kernel_image_size - _start)(%esi), %ecx
movl $_start, %edi movl $_start, %edi
cld cld
rep rep
@ -57,24 +51,12 @@ codestart:
ljmp $GRUB_MEMORY_MACHINE_PROT_MODE_CSEG, $1f ljmp $GRUB_MEMORY_MACHINE_PROT_MODE_CSEG, $1f
1: 1:
#ifdef APPLE_CC
/* clean out the bss */
bss_start_abs = ABS (bss_start)
bss_end_abs = ABS (bss_end)
movl bss_start_abs, %edi
/* compute the bss length */
movl bss_end_abs, %ecx
subl %edi, %ecx
#else
/* clean out the bss */ /* clean out the bss */
movl $BSS_START_SYMBOL, %edi movl $BSS_START_SYMBOL, %edi
/* compute the bss length */ /* compute the bss length */
movl $END_SYMBOL, %ecx movl $END_SYMBOL, %ecx
subl %edi, %ecx subl %edi, %ecx
#endif
/* clean out */ /* clean out */
xorl %eax, %eax xorl %eax, %eax

View file

@ -31,10 +31,6 @@ _start:
VARIABLE(grub_total_module_size) VARIABLE(grub_total_module_size)
.word 0 .word 0
VARIABLE(grub_kernel_image_size)
.word 0
VARIABLE(grub_compressed_size)
.word 0
codestart: codestart:
/* Copy the modules past the end of the kernel image. /* Copy the modules past the end of the kernel image.

View file

@ -29,9 +29,6 @@
#include <grub/symbol.h> #include <grub/symbol.h>
#include <grub/types.h> #include <grub/types.h>
/* The size of kernel image. */
extern grub_int32_t grub_kernel_image_size;
/* The total size of module images following the kernel. */ /* The total size of module images following the kernel. */
extern grub_int32_t grub_total_module_size; extern grub_int32_t grub_total_module_size;

View file

@ -28,12 +28,6 @@
extern grub_addr_t grub_core_entry_addr; extern grub_addr_t grub_core_entry_addr;
/* The size of kernel image. */
extern grub_int32_t grub_kernel_image_size;
/* The total size of module images following the kernel. */
extern grub_int32_t grub_total_module_size;
void grub_qemu_init_cirrus (void); void grub_qemu_init_cirrus (void);
#endif /* ! ASM_FILE */ #endif /* ! ASM_FILE */

View file

@ -22,20 +22,17 @@
/* The offset of GRUB_TOTAL_MODULE_SIZE. */ /* The offset of GRUB_TOTAL_MODULE_SIZE. */
#define GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE 0x8 #define GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE 0x8
/* The offset of GRUB_KERNEL_IMAGE_SIZE. */
#define GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE 0xc
/* The offset of GRUB_COMPRESSED_SIZE. */ /* The offset of GRUB_COMPRESSED_SIZE. */
#define GRUB_KERNEL_I386_PC_COMPRESSED_SIZE 0x10 #define GRUB_KERNEL_I386_PC_COMPRESSED_SIZE 0x0c
/* The offset of GRUB_INSTALL_DOS_PART. */ /* The offset of GRUB_INSTALL_DOS_PART. */
#define GRUB_KERNEL_I386_PC_INSTALL_DOS_PART 0x14 #define GRUB_KERNEL_I386_PC_INSTALL_DOS_PART 0x10
/* The offset of GRUB_INSTALL_BSD_PART. */ /* The offset of GRUB_INSTALL_BSD_PART. */
#define GRUB_KERNEL_I386_PC_INSTALL_BSD_PART 0x18 #define GRUB_KERNEL_I386_PC_INSTALL_BSD_PART 0x14
/* Offset of reed_solomon_redundancy. */ /* Offset of reed_solomon_redundancy. */
#define GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY 0x1c #define GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY 0x18
/* The size of the first region which won't be compressed. */ /* The size of the first region which won't be compressed. */
#define GRUB_KERNEL_I386_PC_RAW_SIZE 0xcd0 #define GRUB_KERNEL_I386_PC_RAW_SIZE 0xcd0
@ -57,20 +54,11 @@
/* The offset of GRUB_CORE_ENTRY_ADDR. */ /* The offset of GRUB_CORE_ENTRY_ADDR. */
#define GRUB_KERNEL_I386_QEMU_CORE_ENTRY_ADDR 0x8 #define GRUB_KERNEL_I386_QEMU_CORE_ENTRY_ADDR 0x8
/* The offset of GRUB_KERNEL_IMAGE_SIZE. */
#define GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE 0xc
#define GRUB_KERNEL_I386_QEMU_LINK_ADDR 0x8200 #define GRUB_KERNEL_I386_QEMU_LINK_ADDR 0x8200
/* The offset of GRUB_TOTAL_MODULE_SIZE. */ /* The offset of GRUB_TOTAL_MODULE_SIZE. */
#define GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE 0x8 #define GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE 0x8
/* The offset of GRUB_KERNEL_IMAGE_SIZE. */
#define GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE 0xc
/* The offset of GRUB_COMPRESSED_SIZE. */
#define GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE 0x10
#define GRUB_BOOT_SPARC64_IEEE1275_LIST_SIZE 12 #define GRUB_BOOT_SPARC64_IEEE1275_LIST_SIZE 12
#define GRUB_BOOT_SPARC64_IEEE1275_IMAGE_ADDRESS 0x4400 #define GRUB_BOOT_SPARC64_IEEE1275_IMAGE_ADDRESS 0x4400

View file

@ -26,12 +26,6 @@
#include <grub/symbol.h> #include <grub/symbol.h>
#include <grub/types.h> #include <grub/types.h>
/* The size of kernel image. */
extern grub_int32_t grub_kernel_image_size;
/* The total size of module images following the kernel. */
extern grub_int32_t grub_total_module_size;
#endif /* ! ASM_FILE */ #endif /* ! ASM_FILE */
#endif /* ! GRUB_KERNEL_MACHINE_HEADER */ #endif /* ! GRUB_KERNEL_MACHINE_HEADER */

View file

@ -79,7 +79,6 @@ struct image_target_desc
} flags; } flags;
unsigned raw_size; unsigned raw_size;
unsigned total_module_size; unsigned total_module_size;
unsigned kernel_image_size;
unsigned compressed_size; unsigned compressed_size;
unsigned link_align; unsigned link_align;
grub_uint16_t elf_target; grub_uint16_t elf_target;
@ -110,7 +109,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
@ -131,7 +129,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
@ -152,7 +149,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_LZMA, .flags = PLATFORM_FLAGS_LZMA,
.raw_size = GRUB_KERNEL_I386_PC_RAW_SIZE, .raw_size = GRUB_KERNEL_I386_PC_RAW_SIZE,
.total_module_size = GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE,
.kernel_image_size = GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE,
.compressed_size = GRUB_KERNEL_I386_PC_COMPRESSED_SIZE, .compressed_size = GRUB_KERNEL_I386_PC_COMPRESSED_SIZE,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
@ -169,7 +165,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_LZMA, .flags = PLATFORM_FLAGS_LZMA,
.raw_size = GRUB_KERNEL_I386_PC_RAW_SIZE, .raw_size = GRUB_KERNEL_I386_PC_RAW_SIZE,
.total_module_size = GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_I386_PC_TOTAL_MODULE_SIZE,
.kernel_image_size = GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE,
.compressed_size = GRUB_KERNEL_I386_PC_COMPRESSED_SIZE, .compressed_size = GRUB_KERNEL_I386_PC_COMPRESSED_SIZE,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
@ -186,7 +181,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.section_align = GRUB_PE32_SECTION_ALIGNMENT, .section_align = GRUB_PE32_SECTION_ALIGNMENT,
.vaddr_offset = ALIGN_UP (GRUB_PE32_MSDOS_STUB_SIZE .vaddr_offset = ALIGN_UP (GRUB_PE32_MSDOS_STUB_SIZE
@ -209,7 +203,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
@ -231,7 +224,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -247,7 +239,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.section_align = GRUB_PE32_SECTION_ALIGNMENT, .section_align = GRUB_PE32_SECTION_ALIGNMENT,
.vaddr_offset = EFI64_HEADER_SIZE, .vaddr_offset = EFI64_HEADER_SIZE,
@ -266,7 +257,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -286,7 +276,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -308,7 +297,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -327,7 +315,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
@ -348,8 +335,7 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = GRUB_KERNEL_SPARC64_IEEE1275_RAW_SIZE, .raw_size = GRUB_KERNEL_SPARC64_IEEE1275_RAW_SIZE,
.total_module_size = GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE,
.kernel_image_size = GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE, .compressed_size = TARGET_NO_FIELD,
.compressed_size = GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -365,8 +351,7 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = GRUB_KERNEL_SPARC64_IEEE1275_RAW_SIZE, .raw_size = GRUB_KERNEL_SPARC64_IEEE1275_RAW_SIZE,
.total_module_size = GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE,
.kernel_image_size = GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE, .compressed_size = TARGET_NO_FIELD,
.compressed_size = GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -382,7 +367,6 @@ struct image_target_desc image_targets[] =
.flags = PLATFORM_FLAGS_NONE, .flags = PLATFORM_FLAGS_NONE,
.raw_size = 0, .raw_size = 0,
.total_module_size = TARGET_NO_FIELD, .total_module_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.section_align = GRUB_PE32_SECTION_ALIGNMENT, .section_align = GRUB_PE32_SECTION_ALIGNMENT,
.vaddr_offset = EFI64_HEADER_SIZE, .vaddr_offset = EFI64_HEADER_SIZE,
@ -402,7 +386,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -422,7 +405,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -442,7 +424,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -462,7 +443,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -482,7 +462,6 @@ struct image_target_desc image_targets[] =
.raw_size = 0, .raw_size = 0,
.total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE, .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
.compressed_size = TARGET_NO_FIELD, .compressed_size = TARGET_NO_FIELD,
.kernel_image_size = TARGET_NO_FIELD,
.section_align = 1, .section_align = 1,
.vaddr_offset = 0, .vaddr_offset = 0,
.install_dos_part = TARGET_NO_FIELD, .install_dos_part = TARGET_NO_FIELD,
@ -935,9 +914,6 @@ generate_image (const char *dir, char *prefix, FILE *out, char *mods[],
&& image_target->total_module_size != TARGET_NO_FIELD) && image_target->total_module_size != TARGET_NO_FIELD)
*((grub_uint32_t *) (kernel_img + image_target->total_module_size)) *((grub_uint32_t *) (kernel_img + image_target->total_module_size))
= grub_host_to_target32 (total_module_size); = grub_host_to_target32 (total_module_size);
if (image_target->kernel_image_size != TARGET_NO_FIELD)
*((grub_uint32_t *) (kernel_img + image_target->kernel_image_size))
= grub_host_to_target32 (kernel_size);
if (image_target->compressed_size != TARGET_NO_FIELD) if (image_target->compressed_size != TARGET_NO_FIELD)
*((grub_uint32_t *) (kernel_img + image_target->compressed_size)) *((grub_uint32_t *) (kernel_img + image_target->compressed_size))
= grub_host_to_target32 (core_size - image_target->raw_size); = grub_host_to_target32 (core_size - image_target->raw_size);