summaryrefslogtreecommitdiffstats
path: root/sys/boot/efi/include
Commit message (Collapse)AuthorAgeFilesLines
* Don't try to use 'typedef struct foo' if just 'struct foo' makes more sensestefanf2005-03-072-25/+1
| | | | | | | and works on all compilers. This also removes the need for __CC_SUPPORTS_FORWARD_REFERENCE_CONSTRUCT in <sys/cdefs.h>. OK'ed by: marcel, dfr
* Fix typos in a comment.stefanf2005-03-061-1/+1
|
* netchild's mega-patch to isolate compiler dependencies into a centraljoerg2005-03-021-3/+1
| | | | | | | | | | | | | | | | place. This moves the dependency on GCC's and other compiler's features into the central sys/cdefs.h file, while the individual source files can then refer to #ifdef __COMPILER_FEATURE_FOO where they by now used to refer to #if __GNUC__ > 3.1415 && __BARC__ <= 42. By now, GCC and ICC (the Intel compiler) have been actively tested on IA32 platforms by netchild. Extension to other compilers is supposed to be possible, of course. Submitted by: netchild Reviewed by: various developers on arch@, some time ago
* Start each of the license/copyright comments with /*-imp2005-01-051-0/+3
|
* o Introduce efimd_va2pa() to translate addresses in efi_copy{in|out}()marcel2004-11-281-0/+2
| | | | | and efi_readin(). This removes MD code from copy.c. o Don't unconditionally add pal.S to SRCS. It's specific to ia64.
* Fix typo in comment.jhb2003-12-101-1/+1
|
* Pass the HCDP table address to the kernel. If no such table exists,marcel2002-12-101-0/+1
| | | | | | | | | | | | | NULL is passed. The address of the HCDP table can be found by iterating over the configuration tables in the EFI system table. To avoid more duplication, a function can be called with the GUID of interest. The function will do the scanning. Use the function in all places where we iterate over the configuration tables in an attempt to find a specific one. Bump the loader version number as the result of this. Approved by: re (blanket)
* Change the startup code to fix a memory leak and to allow us tomarcel2002-12-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | accept load options (=command line options). The call graph changes from *entry*->efi_main->efi_init, where efi_main is the EFI equivalent of main to *entry*->efi_main->main, where main is what you'd expect. efi_main now is what efi_init was. The prototype of main follows that of C. The first argument is argc and the second is argv. There is no third argument. Allocation of heap pages is now handled by the EFI library and it now deallocates the pages when main() returns or when exit() is called. This allows us to safely return to the boot manager (or EFI shell) without leaks. EFI applications are responsible to free all memory themselves. Handling of the load options is a bit tricky. There are either no load options, load options in ASCII or load options in Unicode. The EFI library will translate the ASCII options to Unicode options as to simplify user code. Since the load options are passed as a single string (if present) and main() accepts argc and argv, the startup code also has to split the string into words and build the argv vector. Here the trickiness starts. When the loader is started from the EFI shell, argv[0] will automaticly load the program name. In all other cases (ie through the boot manager), this is not the case. Unfortunately, there's no trivial way to check. Hence, a set of conditions is checked to determine if we need to fill in argv[0] ourselves or not. This checking is not perfect. There are known cases where it fails to do the right thing. The logic works for most expected cases, though. This includes the case where no options are given. Approved by: re (blanket)
* Add the GUID of the DIG64 HCDP table.marcel2002-12-081-0/+3
|
* An almost mechanical sweep to replace C++ style comments with Cmarcel2002-05-1916-614/+485
| | | | | style comments. This is not an attempt to conform to style(9). Such has lower priority.
* More s/file system/filesystem/gtrhodes2002-05-161-1/+1
|
* gcc-3.1 likes to have extra { } around the internal array initializers inpeter2002-03-191-5/+5
| | | | the GUID templates.
* Lookup the EFI_FPSWA driver and pass the interface pointer through to thepeter2001-11-192-0/+41
| | | | | kernel before we call ExitBootServices(). I've typed the definitions in efifpswa.h from the Intel FPSWA manual (urk).
* This is used in C, not C++. functions with no args have func(void) in ourpeter2001-11-191-0/+1
| | | | kernel.
* o Add new header <sys/stdint.h>.mike2001-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | o Make <stdint.h> a symbolic link to <sys/stdint.h>. o Move most of <sys/inttypes.h> into <sys/stdint.h>, as per C99. o Remove <sys/inttypes.h>. o Adjust includes in sys/types.h and boot/efi/include/ia64/efibind.h to reflect new location of integer types in <sys/stdint.h>. o Remove previously symbolicly linked <inttypes.h>, instead create a new file. o Add MD headers <machine/_inttypes.h> from NetBSD. o Include <sys/stdint.h> in <inttypes.h>, as required by C99; and include <machine/_inttypes.h> in <inttypes.h>, to fill in the remaining requirements for <inttypes.h>. o Add additional integer types in <machine/ansi.h> and <machine/limits.h> which are included via <sys/stdint.h>. Partially obtain from: NetBSD Tested on: alpha, i386 Discussed on: freebsd-standards@bostonradio.org Reviewed by: bde, fenner, obrien, wollman
* First approximation of an ia64 EFI loader. Not functional.dfr2001-06-0921-0/+5272
OpenPOWER on IntegriCloud