Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757046AbbGGMFe (ORCPT ); Tue, 7 Jul 2015 08:05:34 -0400 Received: from bastet.se.axis.com ([195.60.68.11]:48419 "EHLO bastet.se.axis.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756808AbbGGMFY (ORCPT ); Tue, 7 Jul 2015 08:05:24 -0400 Date: Tue, 7 Jul 2015 14:05:20 +0200 Message-Id: <201507071205.t67C5Ktk007837@ignucius.se.axis.com> From: Hans-Peter Nilsson To: xili_gchen_5257@hotmail.com CC: jespern@axis.com, starvik@axis.com, linux-kernel@vger.kernel.org, linux-cris-kernel@axis.com In-reply-to: (message from Chen Gang on Sun, 5 Jul 2015 00:30:48 +0200) Subject: Re: [Consult] cris: arch-v10: About $dtp0 register MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Transfer-Encoding: 7BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3837 Lines: 90 > From: Chen Gang > Date: Sun, 5 Jul 2015 00:30:48 +0200 > Hello Maintainers: > > I want to consult, whether arch-v10 supports $dtp0 register: Use your favorite search engine for "Axis ETRAX 100 LX programmers manual". I just did and got the good news that the inteded PDF was the top item found. This document has all the details you'll ever need for CRIS up to and including CRIS v10 (yes, that's the canonical spelling, not "CRISv10"). In chapter "1.1 Registers", the special registers are listed. Neither DTP0 nor DTP1 are mentioned there. There is an appendix titled "The ETRAX 4", listing details to a predecessor version. The DTP0 register is mentioned there in "7.2 Special Registers"; it's special register P12. To cut the story short for most, this is an ETRAX 4 register connected to DMA logic, not supported by ETRAX 100 LX. If you for some reason need to refer to the special register *as such*, it can be accessed by the name P12, but the issue here is actually with BAR, the breakpoint address register. > - Kernel has already used it in arch/cris/arch-v10/kernel/kgdb.c. If you also read the comment there, at both uses (assuming you read the same as the downstream I read), it says "P12, register BAR, assembler might not know BAR". It apparently alludes to special register BAR not being accessible in the assembler at that time (possibly by speculation rather than inspection; I guess that's the case). So, IMHO a better question for your intentions would have focused on the code in kgdb.c, not asking about the DTP0 register as such. If you change the $dtp0 to $bar or $p12, I believe you will get the intended result. The "$bar" name has worked for at least 11 years, probably 15, with the -march=v10 option but likely also without it. Cf. opcodes/cris-opc.c in the shared gdb and binutils git for history. (Yes, the CVS history *was* carried over at the git conversion.) > > - But upstream gas 2.25.51 can not recognize it for arch-v10, for the > same kgdb.s file which contents $dtp0: > > "/upstream/release-cris/bin/cris-gchen-linux-as ./kgdb.s -o kgdb.o" will be ok. > "/upstream/release-cris/bin/cris-gchen-linux-as --march=v10 ./kgdb.s -o kgdb.o" will cause "Error: Illegal operands". I'm guessing "recent" changes (later than the last ten years ;-) somehow added an -march=v10 directly or indirectly, such that $dtp0 was no longer accepted (as it isn't "supported" for CRIS v10). > For me, I guess, it is upstream toolchain's issue, but I have no the > related ISA documentations (common ISA and v10 special ISA), so at > present I can not be sure about it (related informations are welcomed). It's a downstream use issue, which could be fixed without prior knowledge using only web resources. More things are, than people usually believe. > And after this issue, excluding warnings, the cris next-20150702 can > pass allmodconfig with the current latest upstream master branch > toolchain. :-) > > > Welcome any ideas, suggestions and completions. As a collateral, can I have an "upstream" GIT (slug and) commit id I can use to compile a CRIS v10 kernel, possibly modulo this issue? I need to use the kernel as a test-case for a gcc issue. I'll use Segher Boessenkool "buildall" kernelbuild scripts, but I'm missing a compilable kernel commit-id. (No, I haven't actually followed my own advice but by your email I'm guessing CRIS v10 isn't currently compilable.) > > Thanks. > -- > Chen Gang > > Open, share, and attitude like air, water, and life which God blessed > brgds, H-P -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/