[Top] [All Lists]

Re: [PATCH] fast path for rdhwr emulation for TLS

Subject: Re: [PATCH] fast path for rdhwr emulation for TLS
From: Atsushi Nemoto <>
Date: Sat, 09 Sep 2006 22:56:41 +0900 (JST)
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <>
On Fri, 08 Sep 2006 18:39:08 +0100, Nigel Stephens <> wrote:
> > I asked on GCC bugzilla a few days ago but can not got feedback yet.
> >
> >   
> In spite of the GCC issue, is this patch now at the point where it could
> be applied, or at least queued?

GCC 4.2 does not put RDHWR in delay slot now.  Also, there is a
"hackish fix" to prevent gcc move a RDHWR outside of a conditional
(from Richard Sandiford).

For kernel side, my patch can be still applied to current git tree as

But I'm still looking for better solution (silver bullet?) for
cpu_has_vtag_icache case.

How about something like this (and do not touch tlbex.c)?

        .set    push
        .set    noat
        .set    noreorder
        /* check if TLB contains a entry for EPC */
        MFC0    K1, CP0_ENTRYHI
        andi    k1, ASID_MASK
        MFC0    k0, CP0_EPC
        andi    k0, PAGE_MASK << 1
        or      k1, k0
        MTC0    k1, CP0_ENTRYHI
        mfc0    k1, CP0_INDEX
        bltz    k1, handle_ri   /* slow path */
        /* fall thru */

I'm wondering if this could work on CONFIG_MIPS_MT_SMTC case...

Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>