Go to file
Stanislav Kholmanskikh 130234bc78 ofnet: implement the receive buffer
get_card_packet() from ofnet.c allocates a netbuff based on the device's MTU:

 nb = grub_netbuff_alloc (dev->mtu + 64 + 2);

In the case when the MTU is large, and the received packet is
relatively small, this leads to allocation of significantly more memory,
than it's required. An example could be transmission of TFTP packets
with 0x400 blksize via a network card with 0x10000 MTU.

This patch implements a per-card receive buffer in a way similar to efinet.c,
and makes get_card_packet() allocate a netbuff of the received data size.

Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2016-12-14 14:13:34 +01:00
asm-tests asm-tests/i386-pc: Check that movl is 5 bytes. 2016-09-28 20:31:04 +03:00
build-aux Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
conf Remove -Wno-maybe-uninitialized as it may not be present. 2016-02-17 17:58:05 +01:00
docs bootp: export next server IP as environment variable 2016-11-22 20:43:04 +03:00
grub-core ofnet: implement the receive buffer 2016-12-14 14:13:34 +01:00
include efi: Move fdt helper into own file 2016-11-24 10:09:24 +01:00
m4 update m4/extern-inline.m4 to upstream version to fix compilation on FreeBSD 2015-03-05 19:25:56 +03:00
po Remove reliance C.UTF-8 2015-11-08 20:23:15 +01:00
tests Use console rather than serial_efi0 on arm64-efi in tests 2016-02-27 13:35:36 +01:00
themes/starfield Starfield theme. 2012-02-23 17:21:38 +01:00
unicode * unicode: Import Unicode 6.0 data. 2011-12-25 16:17:25 +01:00
util grub-mknetdir: Add support for ARM64 EFI 2016-11-14 19:27:13 +03:00
.gitignore .gitignore: Add grub-core/build-grub-module-verifier 2016-11-12 12:07:31 +03:00
ABOUT-NLS automake commit without merge history 2010-05-06 11:34:04 +05:30
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
BUGS * BUGS: New file. 2011-01-11 00:06:01 +01:00
COPYING 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
ChangeLog-2015 Autogenerate ChangeLog from git changelog. 2015-01-24 17:29:50 +01:00
INSTALL autogen.sh: Allow overriding the python to be used by setting $PYTHON. 2015-03-06 00:34:18 +01:00
Makefile.am Makefile: Don't delete default_payload.elf if it doesn't exist. 2016-02-26 11:14:46 +01:00
Makefile.util.def Makefile.util.def: add $LIBINTL to grub-macbless flags 2016-03-13 08:11:58 +03:00
NEWS NEWS updates 2016-11-22 20:51:54 +03:00
README README: Remove dead link to the wiki 2015-11-06 04:31:23 +01:00
THANKS 2009-12-11 Robert Millan <rmh.grub@aybabtu.com> 2009-12-11 22:44:47 +00:00
TODO TODO: Remove obsolete link 2016-02-12 17:51:52 +01:00
acinclude.m4 use TARGET_LDFLAGS in grub_PROG_OBJCOPY_ABSOLUTE 2015-07-05 08:21:38 +03:00
autogen.sh autogen: Use cp instead of ln -s. 2015-11-08 18:45:57 +01:00
config.h.in Remove libgcc dependency. 2015-03-03 20:50:37 +01:00
configure.ac configure.ac: don't require build time grub-mkfont on powerpc-ieee1275 2016-11-22 20:41:34 +03:00
coreboot.cfg * coreboot.cfg: Add missing file. 2013-11-20 00:52:23 +01:00
geninit.sh automake commit without merge history 2010-05-06 11:34:04 +05:30
gentpl.py remove temporary .bin files (kernel and modules) 2015-12-31 23:00:25 +03:00
linguas.sh linguas.sh: fix error when removing non-existing autogenerated files 2015-08-09 16:28:12 +03:00

README

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

More extensive documentation is available in the Info manual,
accessible using 'info grub' after building and installing GRUB 2.

There are a number of important user-visible differences from the
first version of GRUB, now known as GRUB Legacy. For a summary, please
see:

  info grub Introduction 'Changes from GRUB Legacy'