On 6/17/24 11:57, Ajeet Singh wrote:
> From: Stacey Son <sson@FreeBSD.org>
>
> Defined address spaces for FreeBSD/arm64 and added function for
> getting stack pointer from CPU and setting a return value.
>
> Signed-off-by: Stacey Son <sson@FreeBSD.org>
> Signed-off-by: Warner Losh <imp@bsdimp.com>
> Signed-off-by: Ajeet Singh <itachis@FreeBSD.org>
> Co-authored-by: Sean Bruno <sbruno@freebsd.org>
> Co-authored-by: Warner Losh <imp@bsdimp.com>
> ---
> bsd-user/aarch64/target_arch_vmparam.h | 68 ++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
> create mode 100644 bsd-user/aarch64/target_arch_vmparam.h
Acked-by: Richard Henderson <richard.henderson@linaro.org>
> + /* KERNBASE - 512 MB */
> +#define TARGET_VM_MAXUSER_ADDRESS (0x00007fffff000000ULL - (512 * MiB))
> +#define TARGET_USRSTACK TARGET_VM_MAXUSER_ADDRESS
I will note that this may conflict with -R reserved_size,
and is an existing issue with the x86_64 port as well.
There are indeed existing issues with address space management. We're working through
them right now in the blitz branch. We have finally found where the atomic issues were
coming from and it is <blush> not setting the flag saying we want atomic ops when creating
the CPU structures (that's a quick summary, I'll post more on this later when we review it).
So I'd suggest, for the moment, allowing this in and fixing it when we get those details
ironed out. Does that sound OK?
Warner