]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Remove redundant grub_kernel_image_size.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 20 Oct 2011 06:13:00 +0000 (08:13 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 20 Oct 2011 06:13:00 +0000 (08:13 +0200)
* 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.

12 files changed:
ChangeLog
grub-core/kern/i386/coreboot/init.c
grub-core/kern/i386/coreboot/startup.S
grub-core/kern/i386/pc/init.c
grub-core/kern/i386/pc/startup.S
grub-core/kern/i386/qemu/startup.S
grub-core/kern/sparc64/ieee1275/crt0.S
include/grub/i386/pc/kernel.h
include/grub/i386/qemu/kernel.h
include/grub/offsets.h
include/grub/sparc64/ieee1275/kernel.h
util/grub-mkimage.c

index 96abe1229421691e9ee8490e24e20bafa073c072..bf96dc095dc062a82cd92e54342fd0c678403490 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
        * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
index b7510ff98b5d6fcb55b8e0e60c86c3fb69ba03bc..95209bb70d7656381dc44f859e7e3a993c10a9d8 100644 (file)
@@ -38,8 +38,9 @@
 #include <grub/machine/kernel.h>
 #endif
 
-extern char _start[];
-extern char _end[];
+extern grub_uint8_t _start[];
+extern grub_uint8_t _end[];
+extern grub_uint8_t _edata[];
 
 grub_uint32_t
 grub_get_rtc (void)
@@ -66,7 +67,7 @@ void
 grub_machine_init (void)
 {
 #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 ();
 #endif
index 5e7767bb96534f85847c9ded6f70f465eedf472f..dc2c62a25f4a5ce9bea8367b4fe1366fef9b1515 100644 (file)
        .globl  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
        cmpl    $MULTIBOOT_BOOTLOADER_MAGIC, %eax
        jne 0f
@@ -66,6 +51,18 @@ codestart:
        /* jump to the main body of C code */
        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
  *  only needed for BIOS gates).
index 62269de781200aef86cf0afa07b7b4fce1e061ce..be26fdea134efab4d1e27400e90fca54367ff58a 100644 (file)
@@ -130,6 +130,7 @@ compact_mem_regions (void)
 }
 
 grub_addr_t grub_modbase;
+extern grub_uint8_t _start[], _edata[];
 
 void
 grub_machine_init (void)
@@ -140,7 +141,7 @@ grub_machine_init (void)
 #endif
 
   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.  */
   grub_console_init ();
index 0350431d90cec79995c614f01c50e3c8538b8f58..a0ef71f909ad904cc9de39d8ce7896bcea195612 100644 (file)
@@ -81,9 +81,6 @@ LOCAL (base):
 
        . = _start + GRUB_KERNEL_I386_PC_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
        . = _start + GRUB_KERNEL_I386_PC_COMPRESSED_SIZE 
 VARIABLE(grub_compressed_size)
@@ -226,7 +223,7 @@ post_reed_solomon:
        movl    $(_start + GRUB_KERNEL_MACHINE_RAW_SIZE), %esi
        pushl   %edi
        pushl   %esi
-       movl    EXT_C(grub_kernel_image_size), %ecx
+       movl    $(BSS_START_SYMBOL - _start), %ecx
        addl    EXT_C(grub_total_module_size), %ecx
        subl    $GRUB_KERNEL_MACHINE_RAW_SIZE, %ecx
        pushl   %ecx
index 6500de6203fd4ba8a247ca92a7554ebf19b7864d..0761807edf71dce78838ded70a53df2b5d3a2c00 100644 (file)
@@ -32,8 +32,6 @@ _start:
        . = _start + GRUB_KERNEL_I386_QEMU_CORE_ENTRY_ADDR
 VARIABLE(grub_core_entry_addr)
        .long   0
-VARIABLE(grub_kernel_image_size)
-       .long   0
 
 codestart:
        /* Relocate to low memory.  First we figure out our location.
@@ -45,11 +43,7 @@ codestart:
           value of `grub_core_entry_addr' in %esi.  */
        xorw    %si, %si
 
-       /* ... which allows us to access `grub_kernel_image_size'
-          before relocation.  */
-       movl    (grub_kernel_image_size - _start)(%esi), %ecx
-
-
+       movl    $(_edata - _start), %ecx
        movl    $_start, %edi
        cld
        rep
@@ -57,24 +51,12 @@ codestart:
        ljmp    $GRUB_MEMORY_MACHINE_PROT_MODE_CSEG, $1f
 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 */
        movl    $BSS_START_SYMBOL, %edi
 
        /* compute the bss length */
        movl    $END_SYMBOL, %ecx
        subl    %edi, %ecx
-#endif
                
        /* clean out */
        xorl    %eax, %eax
index 1466a56f8a12a512d1d91f69ca531b5e2508eaa4..9d91fba486c1f16c260eaf2db85e39680788869e 100644 (file)
@@ -31,10 +31,6 @@ _start:
 
 VARIABLE(grub_total_module_size)
        .word   0
-VARIABLE(grub_kernel_image_size)
-       .word   0
-VARIABLE(grub_compressed_size)
-       .word   0
 
 codestart:
        /* Copy the modules past the end of the kernel image.
index dd50aa8338ed0456cbf5bbe386914199e95292d9..2dcdbb7a6399ebdf64e535f198b0a9bab44b9d55 100644 (file)
@@ -29,9 +29,6 @@
 #include <grub/symbol.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;
 
index df06e6731f46215f9a5ae4be7ba58fc39bfdd4ef..f34206b3a21a13f195bf2409f624120199d78489 100644 (file)
 
 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);
 
 #endif /* ! ASM_FILE */
index 526cfee68abc3bb8183b07a39590ed5468adda82..aa65cd5cc6b1d0b89571d92c378cad5c292e38de 100644 (file)
 /* The offset of GRUB_TOTAL_MODULE_SIZE.  */
 #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.  */
-#define GRUB_KERNEL_I386_PC_COMPRESSED_SIZE    0x10
+#define GRUB_KERNEL_I386_PC_COMPRESSED_SIZE    0x0c
 
 /* 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.  */
-#define GRUB_KERNEL_I386_PC_INSTALL_BSD_PART   0x18
+#define GRUB_KERNEL_I386_PC_INSTALL_BSD_PART   0x14
 
 /* 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.  */
 #define GRUB_KERNEL_I386_PC_RAW_SIZE           0xcd0
 /* The offset of GRUB_CORE_ENTRY_ADDR.  */
 #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
 
 /* The offset of GRUB_TOTAL_MODULE_SIZE.  */
 #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_IMAGE_ADDRESS       0x4400
index 5aa50b852814c8603ed7c507e6284ed3c1b0ff12..9a00bea61c5a2520ad9363fbafc95a0dea22b363 100644 (file)
 #include <grub/symbol.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 /* ! GRUB_KERNEL_MACHINE_HEADER */
index 4440fdd127a1bbc0c448a3b55eb2727c2dd01cfb..fb1c5babe568d506e711fced52e9d505e22b688b 100644 (file)
@@ -79,7 +79,6 @@ struct image_target_desc
     } flags;
   unsigned raw_size;
   unsigned total_module_size;
-  unsigned kernel_image_size;
   unsigned compressed_size;
   unsigned link_align;
   grub_uint16_t elf_target;
@@ -110,7 +109,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
@@ -131,7 +129,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
@@ -152,7 +149,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_LZMA,
       .raw_size = GRUB_KERNEL_I386_PC_RAW_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,
       .section_align = 1,
       .vaddr_offset = 0,
@@ -169,7 +165,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_LZMA,
       .raw_size = GRUB_KERNEL_I386_PC_RAW_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,
       .section_align = 1,
       .vaddr_offset = 0,
@@ -186,7 +181,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
       .section_align = GRUB_PE32_SECTION_ALIGNMENT,
       .vaddr_offset = ALIGN_UP (GRUB_PE32_MSDOS_STUB_SIZE
@@ -209,7 +203,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
@@ -231,7 +224,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -247,7 +239,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
       .section_align = GRUB_PE32_SECTION_ALIGNMENT,
       .vaddr_offset = EFI64_HEADER_SIZE,
@@ -266,7 +257,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -286,7 +276,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -308,7 +297,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_LOONGSON_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -327,7 +315,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
@@ -348,8 +335,7 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = GRUB_KERNEL_SPARC64_IEEE1275_RAW_SIZE,
       .total_module_size = GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE,
-      .kernel_image_size = GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE,
-      .compressed_size = GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE,
+      .compressed_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -365,8 +351,7 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = GRUB_KERNEL_SPARC64_IEEE1275_RAW_SIZE,
       .total_module_size = GRUB_KERNEL_SPARC64_IEEE1275_TOTAL_MODULE_SIZE,
-      .kernel_image_size = GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE,
-      .compressed_size = GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE,
+      .compressed_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -382,7 +367,6 @@ struct image_target_desc image_targets[] =
       .flags = PLATFORM_FLAGS_NONE,
       .raw_size = 0,
       .total_module_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .compressed_size = TARGET_NO_FIELD,
       .section_align = GRUB_PE32_SECTION_ALIGNMENT,
       .vaddr_offset = EFI64_HEADER_SIZE,
@@ -402,7 +386,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -422,7 +405,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -442,7 +424,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -462,7 +443,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .install_dos_part = TARGET_NO_FIELD,
@@ -482,7 +462,6 @@ struct image_target_desc image_targets[] =
       .raw_size = 0,
       .total_module_size = GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE,
       .compressed_size = TARGET_NO_FIELD,
-      .kernel_image_size = TARGET_NO_FIELD,
       .section_align = 1,
       .vaddr_offset = 0,
       .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)
     *((grub_uint32_t *) (kernel_img + image_target->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)
     *((grub_uint32_t *) (kernel_img + image_target->compressed_size))
       = grub_host_to_target32 (core_size - image_target->raw_size);