load_linux: fallback to the BIOS linux loader

The BIOS firmware backend is missing a .load_linux pointer, and so
anyone trying to boot a Linux kernel under BIOS is hitting the following
error message,

   "No linux boot function registered for firmware"

The usual way to handle this kind of abstraction would be to move
bios_load_linux() to core/bios.c and assign it to .load_linux, but that
would necessitate pulling the movebits and shuffler code into the core.

For now, leave the BIOS loader where it is and use it as the default. In
future we will want to move this to BIOS-specific code (though not
necessarily in the core) because, by having it in the generic loader
code, it is currently being built for the EFI backends even though it is
never used.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
version: bump version

Welcome to the 6.01 release cycle.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
efi: there are no EFI installer components

Users are reporting hitting the following error when typing 'make
installer',

  make[3]: *** No rule to make target `efi32/core/codepage.o', needed by `syslinux.so'.  Stop.

But there's no actual need to build any installers for EFI (none exist),
especially not since the stuff in utils/ is already built for BIOS and
doesn't need building again.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
efi, udp: use single local port for each connection

The TFTP protocol uses the local port as an idenitifer during a transfer
(TID), which means that once we've established a TFTP connection, we
must ensure we reuse the same local port number in each packet. Failure
to do so is an error, which causes the TFTP server to send an error
packet.

From RFC 1350 - THE TFTP PROTOCOL (REVISION 2), Section 4,

 In the next step, and in all succeeding steps, the hosts should make
 sure that the source TID matches the value that was agreed on in
 steps 1 and 2.  If a source TID does not match, the packet should be
 discarded as erroneously sent from somewhere else.  An error packet
 should be sent to the source of the incorrect packet, while not
 disturbing the transfer.

Once the UDPv4 protocol driver has been assigned a local port number
(which happens on the first core_udp_connect()) reuse that number until
core_udp_close() time.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
efi, udp: fill out the IP TTL field

Some firmware implementations fill out a default value for the Time To
Live field when none is set, others do not. Since the UEFI specification
doesn't mandate that the firmware set this field, we need to do it
ourselves. Pick the recommended value of 64.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>