Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Jul 2015 17:41:42 +0200
From:      Zbigniew Bodek <zbb@semihalf.com>
To:        Andrew Turner <andrew@freebsd.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r285272 - head/sys/arm64/arm64
Message-ID:  <CAG7dG%2By80etMQgzOf28qwSh-t4pp3kx-kCGHEQRZbBUqWUDhsg@mail.gmail.com>
In-Reply-To: <201507081533.t68FX0Yb077433@repo.freebsd.org>
References:  <201507081533.t68FX0Yb077433@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2015-07-08 17:33 GMT+02:00 Andrew Turner <andrew@freebsd.org>:
> Author: andrew
> Date: Wed Jul  8 15:32:59 2015
> New Revision: 285272
> URL: https://svnweb.freebsd.org/changeset/base/285272
>
> Log:
>   Add support for ipi_all_but_self on arm64.
>
>   Obtained from:        ABT Systems Ltd
>   Sponsored by: The freeBSD Foundation
>
> Modified:
>   head/sys/arm64/arm64/intr_machdep.c
>
> Modified: head/sys/arm64/arm64/intr_machdep.c
> ==============================================================================
> --- head/sys/arm64/arm64/intr_machdep.c Wed Jul  8 14:07:06 2015        (r285271)
> +++ head/sys/arm64/arm64/intr_machdep.c Wed Jul  8 15:32:59 2015        (r285272)
> @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
>  #include <sys/cpuset.h>
>  #include <sys/interrupt.h>
>  #include <sys/queue.h>
> +#include <sys/smp.h>
>
>  #include <machine/cpufunc.h>
>  #include <machine/intr.h>
> @@ -473,9 +474,16 @@ arm_init_secondary(void)
>  void
>  ipi_all_but_self(u_int ipi)
>  {
> +       cpuset_t other_cpus;
>
> -       /* ARM64TODO: We should support this */
> -       panic("ipi_all_but_self");
> +       other_cpus = all_cpus;
> +       CPU_CLR(PCPU_GET(cpuid), &other_cpus);
> +
> +       /* ARM64TODO: This will be fixed with arm_intrng */
> +       ipi += 16;

BTW. Can you explain why we need += 16 here?
We think this is wrong and we will probably try to upstream patches
that i.a. remove this.

Best regards
zbb

> +
> +       CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi);
> +       PIC_IPI_SEND(root_pic, other_cpus, ipi);
>  }
>
>  void
> _______________________________________________
> svn-src-all@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG7dG%2By80etMQgzOf28qwSh-t4pp3kx-kCGHEQRZbBUqWUDhsg>