History log of /DragonStub/apps/ (Results 1 – 25 of 48)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
8515606623-Jan-2024 LoGin <longjin@DragonOS.org>

重新启用vamap (#16)

552e14d523-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 ...

773f7fd320-Jan-2024 LoGin <longjin@DragonOS.org>

在加载内核的时候强制把内核空间清零,以避免潜在的错误 (#14)

7fc3806d02-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 ...

5d9a3c1516-Dec-2023 LoGin <longjin@DragonOS.org>

修复内核加载地址没有根据虚拟地址来设定的bug (#12)

6d316f6d05-Dec-2023 LoGin <longjin@DragonOS.org>

删除gnuefi的示例代码 (#11)

bf26173f03-Dec-2023 LoGin <longjin@DragonOS.org>

修复PAYLOAD_ELF路径中每个`-`没能替换成`_`的bug (#10)

2604d78303-Dec-2023 LoGin <longjin@DragonOS.org>

设置镜像内存权限为rwx,并且退出bootservice (#9)

823f049302-Dec-2023 LoGin <longjin@DragonOS.org>

重定位内核并加载 (#7)

未完成:退出BootServices

3e6106c430-Nov-2023 LoGin <longjin@DragonOS.org>

引入libfdt并进行平台特性检测 (#6)

fe0ee6ea29-Nov-2023 LoGin <longjin@DragonOS.org>

把ELF负载绑定到dragonstub内,并检测ELF header (#5)

78b790fa28-Nov-2023 LoGin <longjin@DragonOS.org>

完善命令行参数解析 (#4)

f412fd2a28-Nov-2023 LoGin <longjin@DragonOS.org>

命令行参数解析 (#3)

* 命令行参数解析


/DragonStub/.clang-format
/DragonStub/.vscode/settings.json
/DragonStub/Make.defaults
/DragonStub/Makefile
Makefile
dev-path-parser.c
dragon_stub-main.c
helper.c
lib/ctype.c
lib/hexdump.c
lib/vsprintf.c
stub.c
/DragonStub/docs/README.efilib
/DragonStub/docs/README.elilo
/DragonStub/docs/README.git
/DragonStub/docs/README.gnuefi
/DragonStub/inc/dragonstub/bug.h
/DragonStub/inc/dragonstub/build_bug.h
/DragonStub/inc/dragonstub/compiler_attributes.h
/DragonStub/inc/dragonstub/compiler_types.h
/DragonStub/inc/dragonstub/dragonstub.h
/DragonStub/inc/dragonstub/limits.h
/DragonStub/inc/dragonstub/linux-efi.h
/DragonStub/inc/dragonstub/linux/bitsperlong.h
/DragonStub/inc/dragonstub/linux/byteorder.h
/DragonStub/inc/dragonstub/linux/byteorder_little_endian.h
/DragonStub/inc/dragonstub/linux/compiler.h
/DragonStub/inc/dragonstub/linux/const.h
/DragonStub/inc/dragonstub/linux/ctype.h
/DragonStub/inc/dragonstub/linux/div64.h
/DragonStub/inc/dragonstub/linux/err.h
/DragonStub/inc/dragonstub/linux/errno-base.h
/DragonStub/inc/dragonstub/linux/errno.h
/DragonStub/inc/dragonstub/linux/hex.h
/DragonStub/inc/dragonstub/linux/once_lite.h
/DragonStub/inc/dragonstub/linux/page_types.h
/DragonStub/inc/dragonstub/linux/pfn.h
/DragonStub/inc/dragonstub/linux/posix_types.h
/DragonStub/inc/dragonstub/linux/stdarg.h
/DragonStub/inc/dragonstub/linux/stddef.h
/DragonStub/inc/dragonstub/linux/swab.h
/DragonStub/inc/dragonstub/minmax.h
/DragonStub/inc/dragonstub/printk.h
/DragonStub/inc/dragonstub/riscv64.h
/DragonStub/inc/dragonstub/types.h
/DragonStub/inc/efidef.h
/DragonStub/inc/lib.h
/DragonStub/inc/protocol/efivar.h
/DragonStub/lib/init.c
5c0de15d28-Nov-2023 LoGin <longjin@DragonOS.org>

dragon stub helloworld (#1)

bbffe42b21-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>

6f333cfc21-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>

ba150f3407-May-2023 Callum Farmer <gmbr3@opensuse.org>

Add test for ctors & dtors with a priority

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>

4f8b339f28-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 ...

1b94cff111-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 ...

3d82853f28-Mar-2023 Peter Jones <pjones@redhat.com>

lfbgrid: Make pointer size testing not arch name dependent

3f9a656905-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 ...

c2102ae016-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/

803b49c406-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 ...

e7db441830-Dec-2021 zhoumingtao <zhoumingtao@loongson.cn>

Add support for LoongArch64 architecture

4016021024-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/

12