Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Jun 2021 00:48:52 +0100
From:      Jessica Clarke <jrtc27@freebsd.org>
To:        Mark Johnston <markj@FreeBSD.org>
Cc:        "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org>
Subject:   Re: git: 18f55c67f746 - main - x86: Fix lapic_ipi_alloc() on i386
Message-ID:  <D8BF2E9F-5309-42FB-8A21-11F298DE36EC@freebsd.org>
In-Reply-To: <202105312309.14VN9nWf040168@gitrepo.freebsd.org>
References:  <202105312309.14VN9nWf040168@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1 Jun 2021, at 00:09, Mark Johnston <markj@FreeBSD.org> wrote:
>=20
> The branch main has been updated by markj:
>=20
> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D18f55c67f746f0ad12fe972328234d34=
0a621df9
>=20
> commit 18f55c67f746f0ad12fe972328234d340a621df9
> Author:     Mark Johnston <markj@FreeBSD.org>
> AuthorDate: 2021-05-31 22:51:14 +0000
> Commit:     Mark Johnston <markj@FreeBSD.org>
> CommitDate: 2021-05-31 22:51:14 +0000
>=20
>    x86: Fix lapic_ipi_alloc() on i386
>=20
>    The loop which checks to see if "dynamic" IDT entries are allocated
>    needs to compare with the trampoline address of the reserved ISR.
>    Otherwise it will never succeed.
>=20
>    Reported by:    Harry Schmalzbauer <freebsd@omnilan.de>
>    Tested by:      Harry Schmalzbauer <freebsd@omnilan.de>
>    Reviewed by:    kib
>    MFC after:      1 week
>    Sponsored by:   The FreeBSD Foundation
>    Differential Revision:  https://reviews.freebsd.org/D30576
> ---
> sys/x86/x86/local_apic.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>=20
> diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
> index 5b4910d4b891..bb575d0c601d 100644
> --- a/sys/x86/x86/local_apic.c
> +++ b/sys/x86/x86/local_apic.c
> @@ -2127,6 +2127,10 @@ native_lapic_ipi_vectored(u_int vector, int =
dest)
>=20
> #endif /* SMP */
>=20
> +#ifdef __i386__
> +extern uintptr_t setidt_disp;

uintptr_t here is fishy. Should it not be size_t or ptrdiff_t?

Jess




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D8BF2E9F-5309-42FB-8A21-11F298DE36EC>