Re: [kvm-unit-tests PATCH v3 9/9] s390x: snippets: Define all things that are needed to link the lib

Thomas Huth
2021-10-07T09:44:15Z

On 07/10/2021 10.50, Janosch Frank wrote:
> Let's just define all of the needed things so we can link libcflat.
>
> A significant portion of the lib won't work, like printing and
> allocation but we can still use things like memset() which already
> improves our lives significantly.
>
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> ---
> s390x/snippets/c/cstart.S | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/s390x/snippets/c/cstart.S b/s390x/snippets/c/cstart.S
> index 031a6b83..2d397669 100644
> --- a/s390x/snippets/c/cstart.S
> +++ b/s390x/snippets/c/cstart.S
> @@ -20,6 +20,20 @@ start:
> lghi %r15, stackptr
> sam64
> brasl %r14, main
> +/*
> + * Defining things that the linker needs to link in libcflat and make
> + * them result in sigp stop if called.
> + */
> +.globl sie_exit
> +.globl sie_entry
> +.globl smp_cpu_setup_state
> +.globl ipl_args
> +.globl auxinfo
> +sie_exit:
> +sie_entry:
> +smp_cpu_setup_state:
> +ipl_args:
> +auxinfo:

I think this likely could be done in a somewhat nicer way, e.g. by moving
mem_init() and sclp_memory_setup() into a separate .c file in the lib, and
by moving expect_pgm_int(), fixup_pgm_int() and friends into another
separate .c file, too, so that we e.g. do not need to link against the code
that uses sie_entry and sie_exit ... but that's a major rework on its own,
so for the time being:

Acked-by: Thomas Huth <thuth@redhat.com>