[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 06/20] target/loongarch: Add main translation routines
From: |
Alex Bennée |
Subject: |
Re: [PATCH 06/20] target/loongarch: Add main translation routines |
Date: |
Tue, 29 Jun 2021 13:26:16 +0100 |
User-agent: |
mu4e 1.5.13; emacs 28.0.50 |
Song Gao <gaosong@loongson.cn> writes:
> Hi, Philippe,
>
> On 06/29/2021 02:46 AM, Philippe Mathieu-Daudé wrote:
>> On 6/28/21 2:04 PM, Song Gao wrote:
>>> This patch add main translation routines and
>>> basic functions for translation.
>>>
>>> Signed-off-by: Song Gao <gaosong@loongson.cn>
>>> ---
>>> target/loongarch/helper.h | 10 +
>>> target/loongarch/op_helper.c | 28 +++
>>> target/loongarch/translate.c | 537
>>> +++++++++++++++++++++++++++++++++++++++++++
>>> target/loongarch/translate.h | 58 +++++
>>> 4 files changed, 633 insertions(+)
>>> create mode 100644 target/loongarch/helper.h
>>> create mode 100644 target/loongarch/op_helper.c
>>> create mode 100644 target/loongarch/translate.c
>>> create mode 100644 target/loongarch/translate.h
>>
>>> +/* 128 and 256 msa vector instructions are not supported yet */
>>> +static bool decode_lsx(uint32_t opcode)
>>> +{
>>> + uint32_t value = (opcode & 0xff000000);
>>> +
>>> + if ((opcode & 0xf0000000) == 0x70000000) {
>>> + return true;
>>> + } else if ((opcode & 0xfff00000) == 0x38400000) {
>>> + return true;
>>> + } else {
>>> + switch (value) {
>>> + case 0x09000000:
>>> + case 0x0a000000:
>>> + case 0x0e000000:
>>> + case 0x0f000000:
>>> + case 0x2c000000:
>>> + case 0x30000000:
>>> + case 0x31000000:
>>> + case 0x32000000:
>>> + case 0x33000000:
>>> + return true;
>>> + }
>>> + }
>>> + return false;
>>> +}
>>
>> Why not generate that with the decodetree script?
>>
> These instructions are privileged instructions, user mode does not need these
> instructions.
> I'll delete these codes.
Are you intending to include system emulation in due course?
--
Alex Bennée
- [PATCH 20/20] target/loongarch: Add linux-user emulation support, (continued)
- [PATCH 20/20] target/loongarch: Add linux-user emulation support, Song Gao, 2021/06/28
- [PATCH 18/20] target/loongarch: Add branch instruction translation, Song Gao, 2021/06/28
- [PATCH 16/20] target/loongarch: Add floating point move instruction translation, Song Gao, 2021/06/28
- [PATCH 17/20] target/loongarch: Add floating point load/store instruction translation, Song Gao, 2021/06/28
- [PATCH 19/20] target/loongarch: Add disassembler, Song Gao, 2021/06/28
- [PATCH 05/20] target/loongarch: Add memory management support, Song Gao, 2021/06/28
- [PATCH 06/20] target/loongarch: Add main translation routines, Song Gao, 2021/06/28