<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/boot/amd64, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2015-04-01T08:30:40Z</updated>
<entry>
<title>Move the efi loaders to be under sys/boot/efi. This will help us add</title>
<updated>2015-04-01T08:30:40Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2015-04-01T08:30:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9e62ed8ff98b3fd91e421b871fbbdd313b5e958a'/>
<id>urn:sha1:9e62ed8ff98b3fd91e421b871fbbdd313b5e958a</id>
<content type='text'>
support for booting arm and arm64 from UEFI.

Differential Revision:	https://reviews.freebsd.org/D2164
Reviewed by:	emaste, imp (previous version)
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>Stop calling x86_efi_copyin and x86_efi_getdev directly. This is to help</title>
<updated>2015-03-22T18:17:55Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2015-03-22T18:17:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ed68feb5d423ebc3dca1c2d2e4f8c6d0dc84304b'/>
<id>urn:sha1:ed68feb5d423ebc3dca1c2d2e4f8c6d0dc84304b</id>
<content type='text'>
port loader.efi to both 32 and 64-bit ARM where we can use this file with
minimal changes.

Differential Revision:	https://reviews.freebsd.org/D2031
Reviewed by:	imp
</content>
</entry>
<entry>
<title>Move the x86 specific files to be built in the amd64 loader.efi. This will</title>
<updated>2015-03-15T19:00:35Z</updated>
<author>
<name>Andrew Turner</name>
<email>andrew@FreeBSD.org</email>
</author>
<published>2015-03-15T19:00:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d051c9457e9162a5f5c1d748638b9ed0bd6c72dc'/>
<id>urn:sha1:d051c9457e9162a5f5c1d748638b9ed0bd6c72dc</id>
<content type='text'>
help with importing the arm and arm64 versions of loader.efi.
</content>
</entry>
<entry>
<title>Enable bzipfs support in the EFI loader.</title>
<updated>2015-03-13T09:41:27Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2015-03-13T09:41:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=02cbfd02baddb29c4ec40c9fbf2fad272bd2f195'/>
<id>urn:sha1:02cbfd02baddb29c4ec40c9fbf2fad272bd2f195</id>
<content type='text'>
- Add bzipfs to the list of supported filesystems in the EFI loader.
- Increase the heap size allocated for the EFI loader from 2MB to 3MB.

Differential Revision:	https://reviews.freebsd.org/D2053
Reviewed by:	benno, emaste, imp
MFC after:	2 weeks
Sponsored by:	Cisco Systems, Inc.
</content>
</entry>
<entry>
<title>The System V ABI for amd64 allows functions to use space in a 128 byte</title>
<updated>2015-03-13T09:38:16Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2015-03-13T09:38:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ad06e987b147dc272e683a419ce5b4c39b2bd16b'/>
<id>urn:sha1:ad06e987b147dc272e683a419ce5b4c39b2bd16b</id>
<content type='text'>
redzone below the stack pointer for scratch space and requires
interrupt and signal frames to avoid overwriting it. However, EFI uses
the Windows ABI which does not support this. As a result, interrupt
handlers in EFI push their interrupt frames directly on top of the
stack pointer. If the compiler used the red zone in a function in the
EFI loader, then a device interrupt that occurred while that function
was running could trash its local variables.  In practice this happens
fairly reliable when using gzipfs as an interrupt during decompression
can trash the local variables in the inflate_table() function
resulting in corrupted output or hangs.

Fix this by disabling the redzone for amd64 EFI binaries. This
requires building not only the loader but any libraries used by the
loader without redzone support.

Thanks to Jilles for pointing me at the redzone once I found the stack
corruption.

Differential Revision:	https://reviews.freebsd.org/D2054
Reviewed by:	imp
MFC after:	2 weeks
Sponsored by:	Cisco Systems, Inc.
</content>
</entry>
<entry>
<title>Allow the EFI loader to work with large kernels and/or modules</title>
<updated>2015-03-12T17:07:24Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2015-03-12T17:07:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=79393252158c4bb5458560bd15f0850dd06f59c3'/>
<id>urn:sha1:79393252158c4bb5458560bd15f0850dd06f59c3</id>
<content type='text'>
(for example, a large mfsroot).  Note that for EFI the kernel and
modules (as well as other metadata files such as splash screens or
memory disk images) are loaded into a statically-sized staging area.
When the EFI loader exits it copies this staging area down to the
location the kernel expects to run at.
- Add bounds checking to the copy routines to fail attempts to access
  memory outside of the staging area.  Previously loading a combined
  kernel + modules larger than the staging size (32MB) would overflow
  the staging area trashing whatever memory was afterwards.  Under
  Intel's OVMF firmware for qemu this resulted in fatal faults in the
  firmware itself.  Now the attempt will fail with ENOMEM.
- Allow the staging area size to be configured at compile time via
  an EFI_STAGING_SIZE variable in src.conf or on the command line.
  It accepts the size of the staging area in MB.  The default size
  remains 32MB.

MFC after:	2 weeks
Sponsored by:	Cisco Systems, Inc.
</content>
</entry>
<entry>
<title>Fix 'make depend' by moving the LDSCRIPT dependency into DPADD.</title>
<updated>2015-03-12T15:25:22Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2015-03-12T15:25:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e447efb4f1e22fd43342253ef8c10648a63ccfb4'/>
<id>urn:sha1:e447efb4f1e22fd43342253ef8c10648a63ccfb4</id>
<content type='text'>
Sponsored by:	Cisco Systems, Inc.
</content>
</entry>
<entry>
<title>Revert r279381.  The EFI loader needs to use a separate libstand that</title>
<updated>2015-03-12T15:20:05Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2015-03-12T15:20:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bc65857d86065ddd711efdf16c71fee804ac30bd'/>
<id>urn:sha1:bc65857d86065ddd711efdf16c71fee804ac30bd</id>
<content type='text'>
is compiled against the ABI EFI expects (specifically, no stack
redzone) so it cannot share libstand with userboot (which must use
the System V ABI).
</content>
</entry>
<entry>
<title>Add error reporting (but not actual handling yet, apart from</title>
<updated>2015-03-07T19:14:01Z</updated>
<author>
<name>Edward Tomasz Napierala</name>
<email>trasz@FreeBSD.org</email>
</author>
<published>2015-03-07T19:14:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=411443334b048425ed2627657609adaaca16e7e1'/>
<id>urn:sha1:411443334b048425ed2627657609adaaca16e7e1</id>
<content type='text'>
reporting them) for EFI calls to boot1.efi.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>o Add more room for EFI boot blocks</title>
<updated>2015-03-02T18:08:39Z</updated>
<author>
<name>Ruslan Bukin</name>
<email>br@FreeBSD.org</email>
</author>
<published>2015-03-02T18:08:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c7f898e9d3296d29f9a00abf2c28d5b0a143ce47'/>
<id>urn:sha1:c7f898e9d3296d29f9a00abf2c28d5b0a143ce47</id>
<content type='text'>
o Specify the filename as argument

Differential Revision:	https://reviews.freebsd.org/D1999
Reviewed by:	emaste@
</content>
</entry>
</feed>
