linux-mips
[Top] [All Lists]

Re: [PATCH v6] MIPS: micromips: Fix improper definition of ISA exception

To: Jonas Gorski <jogo@openwrt.org>
Subject: Re: [PATCH v6] MIPS: micromips: Fix improper definition of ISA exception bit.
From: David Daney <ddaney.cavm@gmail.com>
Date: Wed, 05 Jun 2013 14:27:30 -0700
Cc: "Steven J. Hill" <Steven.Hill@imgtec.com>, linux-mips@linux-mips.org
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=qpiHl8RIAxSZHUSV7E8pJXrouWZuXzGrqfH7Qvm7/B4=; b=dbCqKCoeMk3/Z/ECe8kfngT4FKh8ROhdqzMK0gJRED6GEezl9YLVKdi6jYXKwKOkPl /4BnVmehB4P7ngp5Fk7WJwrCUtC0Pjo62Bu1fSwv1SVFrH1PAxnQ3Zmj8mvIw1tJnm2x 1zCYq+N/OIS/pWikAjWz82VR5XgYo7IEQDjB93IkDZS3AsmuLZx9TpzbbPiu2fmSnfZK wmWvFooRFMN7gEJq7lFkrEnGZ1Dvylz+/Apq2kP9uCUGNm4wELT8jdPLknVHdQ0vjrZZ BsI3YH8lHY821adtvt+4EHTtI7RIcf6qJNDx+bPoLqvn/Zj9Gof5YgwR8aE5XOpiBItD s5+A==
In-reply-to: <CAOiHx=mFqC=GN0jmb9PXpt+JapfWoP3Pu5NM0sp=F_uAZuwUEA@mail.gmail.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1370461798-20296-1-git-send-email-Steven.Hill@imgtec.com> <51AFA540.5010207@gmail.com> <51AFAA8C.6080002@imgtec.com> <CAOiHx=mFqC=GN0jmb9PXpt+JapfWoP3Pu5NM0sp=F_uAZuwUEA@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4
On 06/05/2013 02:23 PM, Jonas Gorski wrote:
On Wed, Jun 5, 2013 at 11:15 PM, Steven J. Hill <Steven.Hill@imgtec.com> wrote:
On 06/05/2013 03:53 PM, David Daney wrote:


You can only manipulate this bit if you know microMIPS is supported.  So
I think you should either not touch it for the non-microMIPS case, or
make the write conditional on the presence of microMIPS support in the
CPU.

I decided to surround with SYS_SUPPORTS_MICROMIPS so the function could be
optimized out in v7 of the patch.

Since this is (AFAICT) run after cpu_probe, and cpu probe sets
MIPS_CPU_MICROMIPS in options[0] if config3 has  MIPS_CONF3_ISA set
(as seen in the context), couldn't you do just the following in
cpu_trap:

        if (cpu_has_mmips) {
                unsigned int config3 = read_c0_config3();

                if (IS_ENABLED(CONFIG_CPU_MICROMIPS))
                        write_c0_config3(config3 | MIPS_CONF3_ISA_OE);
                else
                        write_c0_config3(config3 & ~MIPS_CONF3_ISA_OE);
        }


Yes, that would work.  It even looks nicer.

David Daney




Regards
Jonas




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