From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87346 invoked by alias); 13 Dec 2016 17:52:03 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 86834 invoked by uid 89); 13 Dec 2016 17:52:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=!doctype, doctype, uint32, sk:linux-a X-HELO: mail-wj0-f193.google.com Received: from mail-wj0-f193.google.com (HELO mail-wj0-f193.google.com) (209.85.210.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 13 Dec 2016 17:51:52 +0000 Received: by mail-wj0-f193.google.com with SMTP id he10so17530738wjc.2 for ; Tue, 13 Dec 2016 09:51:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=0mKJYmVL9Bajres13vGeazaq4eVY36PTtnc7lr/Vi24=; b=UFyROtYbFU9eTrECs+DcB7AJsPxhUIIjQTJbDiNcXq5+w8C8DNLC76JBgE01i6dula X6c/hc4ajegVsKGUKLD/REqNZeYSbQjdOkdeGUNBnDzfWIHsroqv1Hh8/lD5bb3krPUs ytG6INHmLD9+QlJxsf3rH8SGWPRGOTQB5pOWAyQa9SSpY9px/ok/bST9/5rp0rwgJuqC qrugaNRNyhfAj22lWPUkmoUwXnOdAc8vXKwT0otWQd5cYEJuI/HcPk1SDHqJJdybXmW3 p8AD1xdC0TiQm4hmXlktZmM2egapMnwnUNk25eeqLFoqnY42Z0DV5C+8ycmhiG7vEcWA /YEg== X-Gm-Message-State: AKaTC02UPwnntN43kgp62syt0S0F+QFsxt0TY8iUf33qbeZccQOqE4MrA2iJwV6dkNvKQA== X-Received: by 10.194.249.72 with SMTP id ys8mr10428044wjc.92.1481651510196; Tue, 13 Dec 2016 09:51:50 -0800 (PST) Received: from E107787-LIN (gcc1-power7.osuosl.org. [140.211.15.137]) by smtp.gmail.com with ESMTPSA id u81sm3671606wmu.10.2016.12.13.09.51.47 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 13 Dec 2016 09:51:49 -0800 (PST) Date: Tue, 13 Dec 2016 17:52:00 -0000 From: Yao Qi To: Alan Hayward Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 5/8] AARCH64 SVE: Add SVE feature Message-ID: <20161213175130.GG25542@E107787-LIN> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes X-SW-Source: 2016-12/txt/msg00292.txt.bz2 On 16-12-05 12:28:45, Alan Hayward wrote: > This is part of a series adding AARCH64 SVE support to gdb and gdbserver. > > This patch adds the SVE feature. > > This code sets size of the variable registers to 64bits for the Z registers > and 8bits for the P registers. It will be the job of the aarch64 target > code What is the reason to set Z registers 64-bit and P registers 8-bit? According to reference in the cover letter, Z register is 128 bit in minimum and P register is 16-bit in minimum. > (in a later patch in the series) to scale the Z and P registers to the > correct size using the integer scalar VG. > diff --git a/gdb/features/aarch64-sve-core.xml > b/gdb/features/aarch64-sve-core.xml > new file mode 100644 > index > 0000000000000000000000000000000000000000..d990aebfa1d8d17cc53a70a6c7517533f > 8e369b9 > --- /dev/null > +++ b/gdb/features/aarch64-sve-core.xml > @@ -0,0 +1,105 @@ > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + It should describe the right size of register"z0". According to the reference, the minimum is 128-bits and max is 2048-bits. There are 16 possibilities. We can either generate all of them (16) ahead of time or we can create a template, like this, ... and reply the right one back to GDB with the UNIT replaced by a proper value. We still have feature "org.gnu.gdb.aarch64.sve", but the size of Z and P registers may be different. I still need some time to think about the best way to get target description dynamically. > diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in > index > 5316c95b67f04591c448a8a14b4ed3cac0092666..3b175caeb0807fd315baa35dbb8e34065 > 32a335e 100644 > --- a/gdb/gdbserver/Makefile.in > +++ b/gdb/gdbserver/Makefile.in > @@ -418,7 +418,7 @@ clean: > rm -f version.c > rm -f gdbserver$(EXEEXT) gdbreplay$(EXEEXT) core make.log > rm -f $(IPA_LIB) > - rm -f aarch64.c > + rm -f aarch64.c aarch64-sve.c > rm -f reg-arm.c reg-bfin.c i386.c reg-ia64.c reg-m32r.c reg-m68k.c > rm -f reg-sh.c reg-sparc.c reg-spu.c amd64.c i386-linux.c > rm -f reg-cris.c reg-crisv32.c amd64-linux.c reg-xtensa.c > @@ -607,6 +607,9 @@ linux-aarch64-ipa.o: linux-aarch64-ipa.c > aarch64-ipa.o: aarch64.c > $(IPAGENT_COMPILE) $< > $(POSTCOMPILE) > +aarch64-sve-ipa.o: aarch64-sve.c > + $(IPAGENT_COMPILE) $< > + $(POSTCOMPILE) We don't support tracepoint for SVE, so no need to build aarch64-sve-ipa.o. -- Yao (齐尧)