Hello,
Thanks!
I applied the series except the patch adding the test, since it fails on
x86_64. Most probably it's the test that needs fixing.
Samuel
Sergey Bugaev, le lun. 15 avril 2024 12:01:40 +0300, a ecrit:
> Hello!
>
> This patchset contains public headers for AArch64 support in GNU Mach
Samuel Thibault, le mar. 16 avril 2024 02:59:39 +0200, a ecrit:
> Sergey Bugaev, le lun. 15 avril 2024 12:01:49 +0300, a ecrit:
> > This tests generating and handling exceptions, thread_get_state(),
> > thread_set_state(), and newly added thread_set_self_state(). It does
> > many of the same thing
Sergey Bugaev, le lun. 15 avril 2024 12:01:49 +0300, a ecrit:
> This tests generating and handling exceptions, thread_get_state(),
> thread_set_state(), and newly added thread_set_self_state(). It does
> many of the same things that glibc does when handling a signal.
> ---
> Note that I only teste
Hello,
On Wed, Apr 10, 2024 at 2:57 PM Florian Weimer wrote:
> * Sergey Bugaev:
>
> > We could define EXEC_PAGESIZE to some conservative value on
> > aarch64-gnu too, if it turns out that this little workaround is really
> > required. But it seems cleaner to make sure we don't need to, as
> > Rol
This tests generating and handling exceptions, thread_get_state(),
thread_set_state(), and newly added thread_set_self_state(). It does
many of the same things that glibc does when handling a signal.
---
Note that I only tested this on i386 and AArch64, not on x86_64.
tests/test-thread-state.c |
We use largely the same ABI as Linux: a syscall is invoked with the
"svc #0" instruction, passing arguments the same way as for a regular
function call. Specifically, up to 8 arguments are passed in the x0-x7
registers, and the rest are placed on the stack (this is only necessary
for the vm_map()
This currently contains a single RPC to get Linux-compatible hwcaps,
as well as the values of MIDR_EL1 and REVIDR_EL1 system registers.
In the future, this is expected to host the APIs to manage PAC keys,
and possibly some sort of AArch64-specific APIs for userland IRQ
handlers.
---
aarch64/Makef
A few yet-unimplemented codes are also sketched out; these are included
so you know roughly what to expect once the missing functionality gets
implemented, but are not in any way stable or usable.
---
aarch64/Makefrag.am | 1 +
aarch64/include/mach/aarch64/exception.h | 90 ++
This is a new Mach trap that sets the calling thread's state to the
passed value, as if with a call to the thread_set_state() RPC. If the
flavor of state being set is the one that contains the register used for
syscall return value (i386_THREAD_STATE or i386_REGS_SEGS_STATE on x86,
AARCH64_THREAD_
Notes:
* TPIDR_EL0, the TLS pointer, is included in the generic state directly.
* TPIDR2_EL0, part of the SME extension, is not included in the generic
state. If we add SME support, it will be a part of something like
aarch64_sme_state.
* CPSR is not a real register in AArch64 (unlike in AArch
This adds "aarch64" host support to the build system, along with some
uninteresting installed headers. The empty aarch64/aarch64/ast.h header
is also added to create the aarch64/aarch64/ directory (due to Git
peculiarity).
With this, it should be possible to run 'configure --host=aarch64-gnu'
and
Hello!
This patchset contains public headers for AArch64 support in GNU Mach,
along with just enough buildsystem infrastructure to recognize and
install them. It is quite similar to the "sketch" patches that I have
posted in January of this year, but I have done a number of changes for
two reasons
And make it so that the generic vm_param.h doesn't require the machine-
specific one to define PAGE_SIZE etc. We *don't* want a PAGE_SIZE
constant to be statically exported to userland; instead userland should
initialize vm_page_size by querying vm_statistics(), and then use
vm_page_size.
We'd al
This is distinct from CPU_TYPE_ARM, since we're going to exclusively use
AArch64 / A64, which CPU_TYPE_ARM was never meant to support, and to
match EM_AARCH64, which is also separate from EM_ARM. CPU_TYPE_X86_64
was similarly made distinct from CPU_TYPE_I386.
This is named CPU_TYPE_ARM64 rather t
14 matches
Mail list logo