85156066 | 23-Jan-2024 |
LoGin <longjin@DragonOS.org> |
重新启用vamap (#16) |
552e14d5 | 23-Jan-2024 |
LoGin <longjin@DragonOS.org> |
强制禁用VAMAP,并且修正传递给内核的PAYLOAD CONFIG Table的值 (#15)
禁用VAMAP的原因是,退出BootService后,当我们调用Set VirtAddressMap的时候,会修改Systemtable的Configuration Table的值
,导致内核获取到的config table内容为空.(这应该是一个bug,但我暂时没找到,因此禁用VAMAP临时解
强制禁用VAMAP,并且修正传递给内核的PAYLOAD CONFIG Table的值 (#15)
禁用VAMAP的原因是,退出BootService后,当我们调用Set VirtAddressMap的时候,会修改Systemtable的Configuration Table的值
,导致内核获取到的config table内容为空.(这应该是一个bug,但我暂时没找到,因此禁用VAMAP临时解决)
show more ...
|
773f7fd3 | 20-Jan-2024 |
LoGin <longjin@DragonOS.org> |
在加载内核的时候强制把内核空间清零,以避免潜在的错误 (#14) |
7fc3806d | 02-Jan-2024 |
LoGin <longjin@DragonOS.org> |
在EFI config table安装DRAGONSTUB_EFI_PAYLOAD_EFI_GUID (#13)
其值为
```
(EFI_GUID) { 0xddf1d47c, 0x102c & 0xffff, 0xaaf9 & 0xffff, { 0xce, 0x34, 0xbc, 0xef, 0x98, 0x12, 0x00, 0x31 } }
```
内容为内核被加载到
在EFI config table安装DRAGONSTUB_EFI_PAYLOAD_EFI_GUID (#13)
其值为
```
(EFI_GUID) { 0xddf1d47c, 0x102c & 0xffff, 0xaaf9 & 0xffff, { 0xce, 0x34, 0xbc, 0xef, 0x98, 0x12, 0x00, 0x31 } }
```
内容为内核被加载到的物理地址以及空间大小
show more ...
|
5d9a3c15 | 16-Dec-2023 |
LoGin <longjin@DragonOS.org> |
修复内核加载地址没有根据虚拟地址来设定的bug (#12) |
6d316f6d | 05-Dec-2023 |
LoGin <longjin@DragonOS.org> |
删除gnuefi的示例代码 (#11) |
bf26173f | 03-Dec-2023 |
LoGin <longjin@DragonOS.org> |
修复PAYLOAD_ELF路径中每个`-`没能替换成`_`的bug (#10) |
2604d783 | 03-Dec-2023 |
LoGin <longjin@DragonOS.org> |
设置镜像内存权限为rwx,并且退出bootservice (#9) |
823f0493 | 02-Dec-2023 |
LoGin <longjin@DragonOS.org> |
重定位内核并加载 (#7)
未完成:退出BootServices |
3e6106c4 | 30-Nov-2023 |
LoGin <longjin@DragonOS.org> |
引入libfdt并进行平台特性检测 (#6) |
fe0ee6ea | 29-Nov-2023 |
LoGin <longjin@DragonOS.org> |
把ELF负载绑定到dragonstub内,并检测ELF header (#5) |
78b790fa | 28-Nov-2023 |
LoGin <longjin@DragonOS.org> |
完善命令行参数解析 (#4) |
f412fd2a | 28-Nov-2023 |
LoGin <longjin@DragonOS.org> |
命令行参数解析 (#3)
* 命令行参数解析 |
5c0de15d | 28-Nov-2023 |
LoGin <longjin@DragonOS.org> |
dragon stub helloworld (#1) |
bbffe42b | 21-Jun-2023 |
Callum Farmer <gmbr3@opensuse.org> |
Move OPTNONE macro to eficompiler.h
This is also useful in downstream projects so add it to public header
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
6f333cfc | 21-Jun-2023 |
Callum Farmer <gmbr3@opensuse.org> |
Tail calls break ctors/dtors
Add macro EFI_NO_TAIL_CALL which disables tail call optimization on a per-function basis
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
ba150f34 | 07-May-2023 |
Callum Farmer <gmbr3@opensuse.org> |
Add test for ctors & dtors with a priority
Signed-off-by: Callum Farmer <gmbr3@opensuse.org> |
4f8b339f | 28-Mar-2023 |
Peter Jones <pjones@redhat.com> |
Make ELF constructors and destructors work
This makes setup and teardown functions defined with __attribute__((__constructor__) and __attribute__((__destructor__)) work in normal circumstances in EF
Make ELF constructors and destructors work
This makes setup and teardown functions defined with __attribute__((__constructor__) and __attribute__((__destructor__)) work in normal circumstances in EFI binaries.
A couple of notes: - it implements both the old-style .ctors/.dtors methods and the newer style .init_array/.fini_array ELF constructor and destructor arrays, processed in the order: .init_array[] .ctors[] efi_main() .dtors[] .fini_array[] - Destructors will only be called if efi_main() exits using "return"; any call to Exit() will still longjmp() past them. - InitializeLib() has already been called before constructors run, so they don't need to call it (and neither does anything else.) For compatibility, it has been altered so calling it more than once is safe. - No attempt is made to handle any constructor or destructor with a prototype other than "void func(void);", but note that InitializeLib has been called, so LibImageHandle, ST, BS, and RT are set. - The init_array/ctor/dtor/fini_array lists aren't the using the GNU "CONSTRUCTOR" output section command, so they don't start with a size. - The lists are individually sorted during the link stage via SORT_BY_NAME() in the linker script. - The default (empty) init_array/ctor/dtor/fini_array lists are padded out to 8-byte alignment with ".p2align 3, 0", and each list always has at least one ".long 0" at the end of it (even if it's completely empty). As a result, they can have NULLs that need to be skipped. The sections they're in are mergeable, so the NULLs don't have to be exclusively at the end. - The ia64 and mips64el arches have not been tested.
Signed-off-by: Peter Jones <pjones@redhat.com>
show more ...
|
1b94cff1 | 11-Jun-2018 |
Peter Jones <pjones@redhat.com> |
Fix a minor coverity complaint in some apps
Coverity added a new kind of check, and it noticed some minor errors with some types in two of the apps here, both of the same form:
1. gnu-efi-3.0.6/app
Fix a minor coverity complaint in some apps
Coverity added a new kind of check, and it noticed some minor errors with some types in two of the apps here, both of the same form:
1. gnu-efi-3.0.6/apps/lfbgrid.c:91: overflow_before_widen: Potentially overflowing expression "info->VerticalResolution * info->PixelsPerScanLine" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "UINTN" (64 bits, unsigned).
1. gnu-efi-3.0.6/apps/bltgrid.c:67: overflow_before_widen: Potentially overflowing expression "info->VerticalResolution * info->HorizontalResolution" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "UINTN" (64 bits, unsigned).
This resolves both issues.
Signed-off-by: Peter Jones <pjones@redhat.com>
show more ...
|
3d82853f | 28-Mar-2023 |
Peter Jones <pjones@redhat.com> |
lfbgrid: Make pointer size testing not arch name dependent |
3f9a6569 | 05-Mar-2023 |
Callum Farmer <gmbr3@opensuse.org> |
apps: Fix Makefile install and ordering
Create a new directory called $APPSDIR which is the default install location of these examples. apps must be ordered after gnuefi target.
Signed-off-by: Call
apps: Fix Makefile install and ordering
Create a new directory called $APPSDIR which is the default install location of these examples. apps must be ordered after gnuefi target.
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
show more ...
|
c2102ae0 | 16-Nov-2022 |
b'Nigel Croxon <allura@localhost> |
Merge /u/mingtaoxt/gnu-efi/ branch master into master
https://sourceforge.net/p/gnu-efi/code/merge-requests/29/ |
803b49c4 | 06-Aug-2022 |
Sergei Trofimovich <slyich@gmail.com> |
*/*.S: add non-executable GNU stack marking on ELF-linux
binutils-2.39 enabed a few warning by default (https://sourceware.org/pipermail/binutils/2022-August/122246.html):
> The ELF linker will now
*/*.S: add non-executable GNU stack marking on ELF-linux
binutils-2.39 enabed a few warning by default (https://sourceware.org/pipermail/binutils/2022-August/122246.html):
> The ELF linker will now generate a warning message if the stack is made executable.
Let's suppress the warnings in assembly files by adding non-executables stack markings. This fixes at least systemd build which uses '-Wl,--fatal-warnings':
https://github.com/systemd/systemd/issues/24226
show more ...
|
e7db4418 | 30-Dec-2021 |
zhoumingtao <zhoumingtao@loongson.cn> |
Add support for LoongArch64 architecture |
40160210 | 24-Jun-2021 |
b'Nigel Croxon <allura@localhost> |
Merge /u/xypron/gnu-efi/ branch misc_fixes into master
https://sourceforge.net/p/gnu-efi/code/merge-requests/25/ |