qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: WANG Xuerui <i.qemu@xen0n.name>
To: "Song Gao" <gaosong@loongson.cn>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, thuth@redhat.com,
	richard.henderson@linaro.org, yangxiaojuan@loongson.cn,
	peterx@redhat.com, laurent@vivier.eu, alistair.francis@wdc.com,
	maobibo@loongson.cn, pbonzini@redhat.com, bmeng.cn@gmail.com,
	alex.bennee@linaro.org, chenhuacai@loongson.cn
Subject: Re: [PATCH v7 02/21] target/loongarch: Add core definition
Date: Wed, 20 Oct 2021 20:00:41 +0800	[thread overview]
Message-ID: <74bbac65-2cd4-dac7-86d1-e18cfa3f3f1f@xen0n.name> (raw)
In-Reply-To: <aa983155-85ed-f3e3-47b2-b7138125e8d0@loongson.cn>

On 2021/10/20 16:54, Song Gao wrote:

> On 10/19/2021 01:38 AM, Philippe Mathieu-Daudé wrote:
>> On 10/18/21 18:06, WANG Xuerui wrote:
>>
>> On 10/18/21 20:47, Song Gao wrote:
>>>> +static void set_loongarch_cpucfg(CPULoongArchState *env)
>>>> +{
>>>> +    int i;
>>>> +
>>>> +    for (i = 0; i < 49; i++) {
>>>> +        env->cpucfg[i] = 0x0;
>>>> +    }
>>>> +    env->cpucfg[0] = 0x14c010;
>>>> +    env->cpucfg[1] = 0x3f2f2fe;
>>>> +    env->cpucfg[2] = 0x60c3cf;
>>>> +    env->cpucfg[3] = 0xcff;
>>>> +    env->cpucfg[4] = 0x5f5e100;
>>>> +    env->cpucfg[5] = 0x10001;
>>>> +    env->cpucfg[16] = 0x2c3d;
>>>> +    env->cpucfg[17] = 0x6080003;
>>>> +    env->cpucfg[18] = 0x6080003;
>>>> +    env->cpucfg[19] = 0x60800f;
>>>> +    env->cpucfg[20] = 0x60f000f;
>>> I know these values are taken from a real 3A5000 chip, since I have such
>>> a machine and I've done the experiment, but others likely wouldn't
>>> notice so quickly. Maybe put some comment on top of this function to
>>> illustrate this?
>> Simpler: ...
>>
> On linux-user emulation. We don't care about the value of cpucfg[i]. 
> I think we only need to set cpucfg[i] to 0. and set value on system emulations, is that better? 

I'm afraid that wouldn't be better; actually it would be *wrong* to just
return zeroes for user-space CPUCFG accesses. CPUCFG is designed to
provide runtime feature probing like CPUID, and is usable from
user-space. So, one can only assume this data is being used, and
properly return data.

I've heard that kernel could choose to not actually enable all features
for which CPUCFG indicate support, while not configuring CPUCFG values
to reflect that, thus making CPUCFG values unreliable; that's not a
proper reason to return zeroes. Kernel should be fixed to properly
configure CPUCFG instead. Because otherwise you wouldn't make such an
instruction an unprivileged one in the first place...


  reply	other threads:[~2021-10-20 12:04 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-18 12:47 [PATCH v7 00/21] Add LoongArch linux-user emulation support Song Gao
2021-10-18 12:47 ` [PATCH v7 01/21] target/loongarch: Add README Song Gao
2021-10-18 12:47 ` [PATCH v7 02/21] target/loongarch: Add core definition Song Gao
2021-10-18 16:06   ` WANG Xuerui
2021-10-18 17:38     ` Philippe Mathieu-Daudé
2021-10-20  8:54       ` Song Gao
2021-10-20 12:00         ` WANG Xuerui [this message]
2021-10-20 13:56           ` Richard Henderson
2021-10-21  3:21             ` Song Gao
2021-10-21  4:10               ` WANG Xuerui
2021-10-22  0:12                 ` Bob Proulx
2021-10-22  2:04                   ` yangxiaojuan
2021-10-18 12:47 ` [PATCH v7 03/21] target/loongarch: Add main translation routines Song Gao
2021-10-18 12:58   ` Philippe Mathieu-Daudé
2021-10-18 12:47 ` [PATCH v7 04/21] target/loongarch: Add fixed point arithmetic instruction translation Song Gao
2021-10-18 12:47 ` [PATCH v7 05/21] target/loongarch: Add fixed point shift " Song Gao
2021-10-18 12:47 ` [PATCH v7 06/21] target/loongarch: Add fixed point bit " Song Gao
2021-10-18 12:47 ` [PATCH v7 07/21] target/loongarch: Add fixed point load/store " Song Gao
2021-10-18 12:47 ` [PATCH v7 08/21] target/loongarch: Add fixed point atomic " Song Gao
2021-10-18 12:47 ` [PATCH v7 09/21] target/loongarch: Add fixed point extra " Song Gao
2021-10-18 12:47 ` [PATCH v7 10/21] target/loongarch: Add floating point arithmetic " Song Gao
2021-10-18 12:47 ` [PATCH v7 11/21] target/loongarch: Add floating point comparison " Song Gao
2021-10-18 12:47 ` [PATCH v7 12/21] target/loongarch: Add floating point conversion " Song Gao
2021-10-18 12:47 ` [PATCH v7 13/21] target/loongarch: Add floating point move " Song Gao
2021-10-18 12:47 ` [PATCH v7 14/21] target/loongarch: Add floating point load/store " Song Gao
2021-10-18 12:47 ` [PATCH v7 15/21] target/loongarch: Add branch " Song Gao
2021-10-18 12:47 ` [PATCH v7 16/21] target/loongarch: Add disassembler Song Gao
2021-10-18 15:38   ` WANG Xuerui
2021-10-18 17:29     ` Richard Henderson
2021-10-18 18:18       ` WANG Xuerui
2021-10-18 18:33         ` Richard Henderson
2021-10-18 18:57           ` Philippe Mathieu-Daudé
2021-10-20  6:37             ` Song Gao
2021-10-18 12:47 ` [PATCH v7 17/21] LoongArch Linux User Emulation Song Gao
2021-10-18 15:22   ` WANG Xuerui
2021-10-18 12:47 ` [PATCH v7 18/21] default-configs: Add loongarch linux-user support Song Gao
2021-10-18 12:47 ` [PATCH v7 19/21] target/loongarch: Add target build suport Song Gao
2021-10-18 12:47 ` [PATCH v7 20/21] target/loongarch: 'make check-tcg' support Song Gao
2021-10-18 12:47 ` [PATCH v7 21/21] scripts: add loongarch64 binfmt config Song Gao
2021-10-18 15:49   ` WANG Xuerui
2021-10-21  6:24     ` Song Gao
2021-10-21  7:45       ` WANG Xuerui

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=74bbac65-2cd4-dac7-86d1-e18cfa3f3f1f@xen0n.name \
    --to=i.qemu@xen0n.name \
    --cc=alex.bennee@linaro.org \
    --cc=alistair.francis@wdc.com \
    --cc=bmeng.cn@gmail.com \
    --cc=chenhuacai@loongson.cn \
    --cc=f4bug@amsat.org \
    --cc=gaosong@loongson.cn \
    --cc=laurent@vivier.eu \
    --cc=maobibo@loongson.cn \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    --cc=yangxiaojuan@loongson.cn \
    /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;
as well as URLs for NNTP newsgroup(s).