* Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
* grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
headers on Linux.
(GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
implementation is currently Linux-specific.
* util/getroot.c (exec_pipe): Define only on Linux or when either
libzfs or libnvpair is unavailable.
(find_root_devices_from_poolname): Remove unused path variable.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
* grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
txbufsize.
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
compatible property to check for macs. Set
GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
* grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
(send_card_buffer): Use txbuf.
(grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
nested function out of the parent while on it.
* include/grub/net.h (grub_net_card_driver): Allow driver to modify
card. All users updated.
(grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
* grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
(get_card_packet): Likewise.
(grub_efinet_findcards): Init new fields.
with DMA.
* grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
(grub_loader_flags): ... this. All users updated.
(grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
* grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
function.
(grub_pxe_restore): Likewise.
(fini_hnd): New var.
(GRUB_MOD_INIT): Register shutdown hook.
(GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
* include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
(GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
(grub_loader_set): Rename second argument to flags.
* grub-core/loader/i386/pc/pxechainloader.c: New file.
* grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
function.
(grub_pc_net_config_real): Use grub_pxe_get_cached.
* include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.