~ubuntu-branches/ubuntu/vivid/grub2/vivid-proposed

« back to all changes in this revision

Viewing changes to grub-core/loader/i386/efi/linux.c

  • Committer: Package Import Robot
  • Author(s): Ian Campbell, Colin Watson, Ian Campbell
  • Date: 2014-11-30 17:15:21 UTC
  • Revision ID: package-import@ubuntu.com-20141130171521-jtqle9j0ckcww9wy
Tags: 2.02~beta2-17
[ Colin Watson ]
* Fix up some pointer-to-integer casts in linuxefi so that it can build on
  i386-efi.
* Backport from upstream:
  - Fix typo (gettext_print instead of gettext_printf) (LP: #1390766).

[ Ian Campbell ]
* Correct syntax error in grub-xen-host bootstrap configuration file.
* Log failure when grub-install fails in postinst, rather than failing the
  entire postinst. (Closes: #770412)
* Arrange to insmod xzio and lzopio when booting a kernel as a Xen guest.
  (Closes: #755256)

Show diffs side-by-side

added added

removed removed

Lines of Context:
107
107
  grub_dl_unref (my_mod);
108
108
  loaded = 0;
109
109
  if (initrd_mem)
110
 
    grub_efi_free_pages((grub_efi_physical_address_t)initrd_mem, BYTES_TO_PAGES(params->ramdisk_size));
 
110
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)initrd_mem, BYTES_TO_PAGES(params->ramdisk_size));
111
111
  if (linux_cmdline)
112
 
    grub_efi_free_pages((grub_efi_physical_address_t)linux_cmdline, BYTES_TO_PAGES(params->cmdline_size + 1));
 
112
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)linux_cmdline, BYTES_TO_PAGES(params->cmdline_size + 1));
113
113
  if (kernel_mem)
114
 
    grub_efi_free_pages((grub_efi_physical_address_t)kernel_mem, BYTES_TO_PAGES(kernel_size));
 
114
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)kernel_mem, BYTES_TO_PAGES(kernel_size));
115
115
  if (params)
116
 
    grub_efi_free_pages((grub_efi_physical_address_t)params, BYTES_TO_PAGES(16384));
 
116
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)params, BYTES_TO_PAGES(16384));
117
117
  return GRUB_ERR_NONE;
118
118
}
119
119
 
163
163
  grub_dprintf ("linuxefi", "initrd_mem = %lx\n", (unsigned long) initrd_mem);
164
164
 
165
165
  params->ramdisk_size = size;
166
 
  params->ramdisk_image = (grub_uint32_t)(grub_uint64_t) initrd_mem;
 
166
  params->ramdisk_image = (grub_uint32_t)(grub_addr_t) initrd_mem;
167
167
 
168
168
  ptr = initrd_mem;
169
169
 
190
190
  grub_free (files);
191
191
 
192
192
  if (initrd_mem && grub_errno)
193
 
    grub_efi_free_pages((grub_efi_physical_address_t)initrd_mem, BYTES_TO_PAGES(size));
 
193
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)initrd_mem, BYTES_TO_PAGES(size));
194
194
 
195
195
  return grub_errno;
196
196
}
304
304
                              linux_cmdline + sizeof (LINUX_IMAGE) - 1,
305
305
                              lh.cmdline_size - (sizeof (LINUX_IMAGE) - 1));
306
306
 
307
 
  lh.cmd_line_ptr = (grub_uint32_t)(grub_uint64_t)linux_cmdline;
 
307
  lh.cmd_line_ptr = (grub_uint32_t)(grub_addr_t)linux_cmdline;
308
308
 
309
309
  handover_offset = lh.handover_offset;
310
310
 
343
343
    {
344
344
      grub_loader_set (grub_linuxefi_boot, grub_linuxefi_unload, 0);
345
345
      loaded = 1;
346
 
      lh.code32_start = (grub_uint32_t)(grub_uint64_t) kernel_mem;
 
346
      lh.code32_start = (grub_uint32_t)(grub_addr_t) kernel_mem;
347
347
    }
348
348
 
349
349
  memcpy(params, &lh, 2 * 512);
362
362
    }
363
363
 
364
364
  if (linux_cmdline && !loaded)
365
 
    grub_efi_free_pages((grub_efi_physical_address_t)linux_cmdline, BYTES_TO_PAGES(lh.cmdline_size + 1));
 
365
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)linux_cmdline, BYTES_TO_PAGES(lh.cmdline_size + 1));
366
366
 
367
367
  if (kernel_mem && !loaded)
368
 
    grub_efi_free_pages((grub_efi_physical_address_t)kernel_mem, BYTES_TO_PAGES(kernel_size));
 
368
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)kernel_mem, BYTES_TO_PAGES(kernel_size));
369
369
 
370
370
  if (params && !loaded)
371
 
    grub_efi_free_pages((grub_efi_physical_address_t)params, BYTES_TO_PAGES(16384));
 
371
    grub_efi_free_pages((grub_efi_physical_address_t)(grub_addr_t)params, BYTES_TO_PAGES(16384));
372
372
 
373
373
  return grub_errno;
374
374
}