david/ipxe
Archived
1
0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src
Michael Brown be79ca535a [xen] Use version 1 grant tables by default
Using version 1 grant tables limits guests to using 16TB of grantable
RAM, and prevents the use of subpage grants.  Some versions of the Xen
hypervisor refuse to allow the grant table version to be set after the
first grant references have been created, so the loaded operating
system may be stuck with whatever choice we make here.  We therefore
currently use version 2 grant tables, since they give the most
flexibility to the loaded OS.

Current versions (7.2.0) of the Windows PV drivers have no support for
version 2 grant tables, and will merrily create version 1 entries in
what the hypervisor believes to be a version 2 table.  This causes
some confusion.

Avoid this problem by attempting to use version 1 tables, since
otherwise we may render Windows unable to boot.

Play nicely with other potential bootloaders by accepting either
version 1 or version 2 grant tables (if we are unable to set our
requested version).

Note that the use of version 1 tables on a 64-bit system introduces a
possible failure path in which a frame number cannot fit into the
32-bit field within the v1 structure.  This in turn introduces
additional failure paths into netfront_transmit() and
netfront_refill_rx().

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-08-13 19:21:42 +01:00
..
arch [xen] Use version 1 grant tables by default 2014-08-13 19:21:42 +01:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [cmdline] Add "profstat" command to display profiling statistics 2014-04-27 23:14:47 +01:00
core [build] Expose build timestamp, build name, and product names 2014-06-24 15:32:35 +01:00
crypto [crypto] Fix debug message 2014-07-12 14:24:40 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [xen] Use version 1 grant tables by default 2014-08-13 19:21:42 +01:00
hci [readline] Ensure cursor is visible when prompting for input 2014-08-06 15:11:38 +01:00
image [efi] Move abstract device path and handle functions to efi_utils.c 2014-08-06 14:27:45 +01:00
include [xen] Use version 1 grant tables by default 2014-08-13 19:21:42 +01:00
interface [xen] Use version 1 grant tables by default 2014-08-13 19:21:42 +01:00
libgcc [build] Mark __intel_new_proc_init with __libgcc rather than cdecl 2009-08-03 15:56:10 +01:00
net [netdevice] Avoid registering duplicate network devices 2014-07-30 18:22:09 +01:00
tests [crypto] Add support for iPAddress subject alternative names 2014-07-11 16:55:14 +01:00
usr [lotest] Discard packets arriving on the incorrect network device 2014-07-29 15:20:49 +01:00
util [build] Merge util/geniso and util/genliso 2014-05-14 16:00:58 +01:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00
Makefile [xen] Add basic support for PV-HVM domains 2014-07-29 15:57:44 +01:00
Makefile.housekeeping [build] Fix erroneous object name in version object 2014-06-26 16:43:59 +01:00