From: Richard Henderson <richard.henderson@linaro.org>
To: Shahab Vahedi <Shahab.Vahedi@synopsys.com>,
"cupertinomiranda@gmail.com" <cupertinomiranda@gmail.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: Shahab Vahedi <shahab.vahedi@gmail.com>,
Cupertino Miranda <Cupertino.Miranda@synopsys.com>,
"linux-snps-arc@lists.infradead.org"
<linux-snps-arc@lists.infradead.org>,
Claudiu Zissulescu <claziss@gmail.com>,
Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com>
Subject: Re: [PATCH 04/15] arc: TCG and decoder glue code and helpers
Date: Fri, 15 Jan 2021 11:51:03 -1000 [thread overview]
Message-ID: <aeb86191-5fde-5f8f-7319-cc6375d02bf6@linaro.org> (raw)
In-Reply-To: <c1e9d63a-ee10-5a85-57d2-3c4ad2a86980@synopsys.com>
On 1/15/21 11:28 AM, Shahab Vahedi wrote:
>>> + cpu_stl_data(env, tmp_sp, CPU_FP(env));
>>> + }
>>
>> And what if these stores raise an exception? I doubt you're going to get an
>> exception at the correct pc.
>
> I've added a few bad-weather test cases [1] and they work as expected. Indeed,
> none of those tests trigger an exception during the "cpu_stl_data()". Could you
> elaborate why you think the PC might be incorrect? Then I can add the corresponding
> tests and fix the behavior.
Because you're using cpu_stl_data_ra, with GETPC, if the store faults (e.g.
SIGSEGV) then the exception unwind will not be done. This will happen to work
ok if and only if "enter" is the first insn of the TB.
>> In the case of enter or leave, this is one load/store plus one addition,
>> followed by a branch. All of which is encoded as fields in the instruction.
>> Extremely simple.
>
> You're suggesting that "enter/leave" should use TCG opcodes instead of
> helpers? If yes, do you really think it is possible to implement each with ~10
> opcodes?
More or less. Two per registers stored, plus two moves. It looks like the
limit of registers is either 3 or 14, depending on the cpu configuration.
Certainly this is no different from other "push multiple" type of instructions
of other architectures, which do exactly this.
r~
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
next prev parent reply other threads:[~2021-01-15 21:51 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-11 16:17 [PATCH 00/15] *** ARC port for review *** cupertinomiranda
2020-11-11 16:17 ` [PATCH 01/15] arc: Add initial core cpu files cupertinomiranda
2020-12-01 19:06 ` Richard Henderson
2020-11-11 16:17 ` [PATCH 02/15] arc: Decoder code cupertinomiranda
2020-11-11 16:17 ` [PATCH 03/15] arc: Opcode definitions table cupertinomiranda
2020-12-01 20:22 ` Richard Henderson
2021-01-15 17:11 ` Cupertino Miranda
2021-01-15 19:52 ` Richard Henderson
2020-11-11 16:17 ` [PATCH 04/15] arc: TCG and decoder glue code and helpers cupertinomiranda
2020-12-01 21:35 ` Richard Henderson
2021-01-15 17:11 ` Cupertino Miranda
2021-01-15 20:31 ` Richard Henderson
2021-01-15 21:48 ` Cupertino Miranda
2021-01-15 21:53 ` Richard Henderson
2021-01-15 22:06 ` Cupertino Miranda
2021-01-15 21:28 ` Shahab Vahedi
2021-01-15 21:51 ` Richard Henderson [this message]
2020-11-11 16:17 ` [PATCH 05/15] arc: TCG instruction generator and hand-definitions cupertinomiranda
2020-12-01 22:16 ` Richard Henderson
2021-01-15 17:11 ` Cupertino Miranda
2021-01-15 20:17 ` Richard Henderson
2021-01-15 21:38 ` Cupertino Miranda
2020-11-11 16:17 ` [PATCH 06/15] arc: TCG instruction definitions cupertinomiranda
2020-12-01 23:09 ` Richard Henderson
2020-12-02 12:55 ` Cupertino Miranda
2020-12-03 16:07 ` Richard Henderson
2020-12-03 16:54 ` Cupertino Miranda
2020-12-03 19:34 ` Richard Henderson
2020-12-03 19:51 ` Cupertino Miranda
2021-01-15 17:11 ` Cupertino Miranda
2020-11-11 16:17 ` [PATCH 07/15] arc: Add BCR and AUX registers implementation cupertinomiranda
2020-11-11 16:17 ` [PATCH 08/15] arc: Add IRQ and timer subsystem support cupertinomiranda
2020-11-11 16:17 ` [PATCH 09/15] arc: Add memory management unit (MMU) support cupertinomiranda
2020-11-11 16:17 ` [PATCH 10/15] arc: Add memory protection unit (MPU) support cupertinomiranda
2020-11-11 16:17 ` [PATCH 11/15] arc: Add gdbstub and XML for debugging support cupertinomiranda
2020-11-11 16:17 ` [PATCH 12/15] arc: Add Synopsys ARC emulation boards cupertinomiranda
2020-11-11 16:17 ` [PATCH 13/15] arc: Add support for ARCv2 cupertinomiranda
2020-11-11 16:17 ` [PATCH 14/15] tests/tcg: ARC: Add TCG instruction definition tests cupertinomiranda
2020-11-11 16:17 ` [PATCH 15/15] tests/acceptance: ARC: Add linux boot testing cupertinomiranda
2020-11-11 16:43 ` [PATCH 00/15] *** ARC port for review *** no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aeb86191-5fde-5f8f-7319-cc6375d02bf6@linaro.org \
--to=richard.henderson@linaro.org \
--cc=Claudiu.Zissulescu@synopsys.com \
--cc=Cupertino.Miranda@synopsys.com \
--cc=Shahab.Vahedi@synopsys.com \
--cc=claziss@gmail.com \
--cc=cupertinomiranda@gmail.com \
--cc=linux-snps-arc@lists.infradead.org \
--cc=qemu-devel@nongnu.org \
--cc=shahab.vahedi@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox