[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 00/42] target/mips: Reintroduce the R5900 CPU (with more
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [RFC PATCH 00/42] target/mips: Reintroduce the R5900 CPU (with more testing) |
Date: |
Sun, 14 Feb 2021 19:08:55 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
On 2/14/21 6:58 PM, Philippe Mathieu-Daudé wrote:
> The R5900 CPU was removed some time ago (frankly I don't remember
> why). This series add it back, but to prove it works, we also add
> testing at the end.
>
> The main motivation is to have MIPS R5900 coverage, but to be able
> to run real world r5900 binaries, I had to implement more opcodes.
>
> 42 patches are a lot, but 3 are already queued in linux-user-for-6.0,
> and the 11 last ones are pure testing. I suppose in next versions
> I'll split the testing patches, but to show the final objective I
> included them in here.
>
> I tagged it RFC because some parts because:
>
> - We'd rather not add yet another target, but we need the
> ILP32-on-64bit ABI (o32 64-bit)
>
> - RDHWR glibc kludge for user-mode
>
> - Avocado patches are only here to show the final test.
> They are useful for my set of tests, but not meant to
> be merged in mainstream.
>
> - gitlab jobs are only here to show the tests work.
> If the target is ever accepted, it would go in an already
> existing job.
>
> I'm OK to maintain 64-bit o32 and the testing out of tree, but the
> TCG opcodes are worthwhile review for mainstream.
>
> Note: there is a sign-extension bug somewhere but I can't find it:
>
> $ qemu-r5900o32el busybox free
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
> =A0total =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0used =C2=A0=C2=A0=C2=
> =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0free =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0sha=
> red =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0buffers
> =C2=A0Mem: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A03682012 =C2=A0=C2=A0=C2=A0=C2=A0=
> =C2=A0=C2=A0812620 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A02869392 =C2=A0=C2=A0=C2=A0=
> =C2=A0=C2=A01367556 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0321136
> Swap: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A02095100 =C2=A0=C2=A0=C2=A0=C2=A0-149854=
> 4 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A03593644
> Total: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A05777112 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0-=
> 685924 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A06463036
>
> $ free # host
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
> =A0total =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0used =C2=A0=C2=A0=C2=A0=C2=
> =A0=C2=A0=C2=A0=C2=A0free =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0shared =C2=A0buff/cac=
> he =C2=A0=C2=A0available
> Mem: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A016264924 =C2=A0=C2=A0=C2=A0=C2=A093=
> 23500 =C2=A0=C2=A0=C2=A0=C2=A02822500 =C2=A0=C2=A0=C2=A0=C2=A01377288 =C2=A0=
> =C2=A0=C2=A0=C2=A04118924 =C2=A0=C2=A0=C2=A0=C2=A05149548
> Swap: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A018872316 =C2=A0=C2=A0=C2=A011084368 =C2=
> =A0=C2=A0=C2=A0=C2=A07787948
[Same but unescaped]
Note: there is a sign-extension bug somewhere but I can't find it:
$ qemu-r5900o32el busybox free
total used free shared buffers
Mem: 3682012 812620 2869392 1367556 321136
Swap: 2095100 -1498544 3593644
Total: 5777112 -685924 6463036
$ free # host
total used free shared buff/cache
available
Mem: 16264924 9323500 2822500 1377288 4118924
5149548
Swap: 18872316 11084368 7787948
See the used swap:
11084368 = 0x00a92250
-1498544 = 0xffe92250
Regards,
Phil.
- Re: [RFC PATCH 37/42] gitlab-ci: Add job to test the MIPS r5900o32el target, (continued)
[RFC PATCH 38/42] tests/acceptance: Extract QemuBaseTest from Test, Philippe Mathieu-Daudé, 2021/02/14
[RFC PATCH 39/42] tests/acceptance: Make pick_default_qemu_bin() more generic, Philippe Mathieu-Daudé, 2021/02/14
[RFC PATCH 40/42] tests/acceptance: Introduce QemuUserTest base class, Philippe Mathieu-Daudé, 2021/02/14
[RFC PATCH 41/42] tests/acceptance: Test R5900 CPU with BusyBox from Sony PS2, Philippe Mathieu-Daudé, 2021/02/14
[RFC PATCH 42/42] gitlab-ci: Add job to run integration tests for the r5900o32el target, Philippe Mathieu-Daudé, 2021/02/14
Re: [RFC PATCH 00/42] target/mips: Reintroduce the R5900 CPU (with more testing),
Philippe Mathieu-Daudé <=
Re: [RFC PATCH 00/42] target/mips: Reintroduce the R5900 CPU (with more testing), Philippe Mathieu-Daudé, 2021/02/15
Re: [RFC PATCH 00/42] target/mips: Reintroduce the R5900 CPU (with more testing), Philippe Mathieu-Daudé, 2021/02/21