diff mbox

target-mips: Stop using uint_fast*_t types in r4k_tlb_t struct

Message ID 1453743649-31581-1-git-send-email-peter.maydell@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Maydell Jan. 25, 2016, 5:40 p.m. UTC
The r4k_tlb_t structure uses the uint_fast*_t types. Most of these
uses are in bitfields and are thus pointless, because the bitfield
itself specifies the width of the type; just use 'unsigned int'
instead. (On glibc uint_fast16_t is defined as either 32 or 64 bits,
so we know the code is not reliant on it being exactly 16 bits.)
There is also one use of uint_fast8_t, which we replace with uint8_t,
because both are exactly 8 bits on glibc and this is the only
place outside the softfloat code which uses an int_fast*_t type.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
I'm going to have a go at getting rid of the int_fast16_t usage
in the softfloat code too, but in the meantime this is an
independent cleanup.

 target-mips/cpu.h | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

Comments

Aurelien Jarno Jan. 29, 2016, 8:46 a.m. UTC | #1
On 2016-01-25 17:40, Peter Maydell wrote:
> The r4k_tlb_t structure uses the uint_fast*_t types. Most of these
> uses are in bitfields and are thus pointless, because the bitfield
> itself specifies the width of the type; just use 'unsigned int'
> instead. (On glibc uint_fast16_t is defined as either 32 or 64 bits,
> so we know the code is not reliant on it being exactly 16 bits.)
> There is also one use of uint_fast8_t, which we replace with uint8_t,
> because both are exactly 8 bits on glibc and this is the only
> place outside the softfloat code which uses an int_fast*_t type.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> I'm going to have a go at getting rid of the int_fast16_t usage
> in the softfloat code too, but in the meantime this is an
> independent cleanup.
> 
>  target-mips/cpu.h | 26 +++++++++++++-------------
>  1 file changed, 13 insertions(+), 13 deletions(-)

Thanks for the cleanup.

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Leon Alrae Feb. 2, 2016, 10:49 a.m. UTC | #2
On 25/01/16 17:40, Peter Maydell wrote:
> The r4k_tlb_t structure uses the uint_fast*_t types. Most of these
> uses are in bitfields and are thus pointless, because the bitfield
> itself specifies the width of the type; just use 'unsigned int'
> instead. (On glibc uint_fast16_t is defined as either 32 or 64 bits,
> so we know the code is not reliant on it being exactly 16 bits.)
> There is also one use of uint_fast8_t, which we replace with uint8_t,
> because both are exactly 8 bits on glibc and this is the only
> place outside the softfloat code which uses an int_fast*_t type.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> I'm going to have a go at getting rid of the int_fast16_t usage
> in the softfloat code too, but in the meantime this is an
> independent cleanup.
> 
>  target-mips/cpu.h | 26 +++++++++++++-------------
>  1 file changed, 13 insertions(+), 13 deletions(-)

Applied to target-mips tree, thanks.

Leon
Peter Maydell Feb. 18, 2016, 11:51 a.m. UTC | #3
On 2 February 2016 at 10:49, Leon Alrae <leon.alrae@imgtec.com> wrote:
> On 25/01/16 17:40, Peter Maydell wrote:
>> The r4k_tlb_t structure uses the uint_fast*_t types. Most of these
>> uses are in bitfields and are thus pointless, because the bitfield
>> itself specifies the width of the type; just use 'unsigned int'
>> instead. (On glibc uint_fast16_t is defined as either 32 or 64 bits,
>> so we know the code is not reliant on it being exactly 16 bits.)
>> There is also one use of uint_fast8_t, which we replace with uint8_t,
>> because both are exactly 8 bits on glibc and this is the only
>> place outside the softfloat code which uses an int_fast*_t type.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>> I'm going to have a go at getting rid of the int_fast16_t usage
>> in the softfloat code too, but in the meantime this is an
>> independent cleanup.
>>
>>  target-mips/cpu.h | 26 +++++++++++++-------------
>>  1 file changed, 13 insertions(+), 13 deletions(-)
>
> Applied to target-mips tree, thanks.

Hi -- is this going to appear in master soon? I have another patch
pending that depends on it...

thanks
-- PMM
Leon Alrae Feb. 18, 2016, 7:42 p.m. UTC | #4
On 18/02/16 11:51, Peter Maydell wrote:
> On 2 February 2016 at 10:49, Leon Alrae <leon.alrae@imgtec.com> wrote:
>> On 25/01/16 17:40, Peter Maydell wrote:
>>> The r4k_tlb_t structure uses the uint_fast*_t types. Most of these
>>> uses are in bitfields and are thus pointless, because the bitfield
>>> itself specifies the width of the type; just use 'unsigned int'
>>> instead. (On glibc uint_fast16_t is defined as either 32 or 64 bits,
>>> so we know the code is not reliant on it being exactly 16 bits.)
>>> There is also one use of uint_fast8_t, which we replace with uint8_t,
>>> because both are exactly 8 bits on glibc and this is the only
>>> place outside the softfloat code which uses an int_fast*_t type.
>>>
>>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>>> ---
>>> I'm going to have a go at getting rid of the int_fast16_t usage
>>> in the softfloat code too, but in the meantime this is an
>>> independent cleanup.
>>>
>>>  target-mips/cpu.h | 26 +++++++++++++-------------
>>>  1 file changed, 13 insertions(+), 13 deletions(-)
>>
>> Applied to target-mips tree, thanks.
> 
> Hi -- is this going to appear in master soon? I have another patch
> pending that depends on it...

I'm out of office this week and will be able to send a pull request
early next week. If you are planning to apply that another patch
earlier, then please feel free to include this one in your pull request.

Thanks,
Leon
diff mbox

Patch

diff --git a/target-mips/cpu.h b/target-mips/cpu.h
index 17817c3..86b6333 100644
--- a/target-mips/cpu.h
+++ b/target-mips/cpu.h
@@ -19,19 +19,19 @@  typedef struct r4k_tlb_t r4k_tlb_t;
 struct r4k_tlb_t {
     target_ulong VPN;
     uint32_t PageMask;
-    uint_fast8_t ASID;
-    uint_fast16_t G:1;
-    uint_fast16_t C0:3;
-    uint_fast16_t C1:3;
-    uint_fast16_t V0:1;
-    uint_fast16_t V1:1;
-    uint_fast16_t D0:1;
-    uint_fast16_t D1:1;
-    uint_fast16_t XI0:1;
-    uint_fast16_t XI1:1;
-    uint_fast16_t RI0:1;
-    uint_fast16_t RI1:1;
-    uint_fast16_t EHINV:1;
+    uint8_t ASID;
+    unsigned int G:1;
+    unsigned int C0:3;
+    unsigned int C1:3;
+    unsigned int V0:1;
+    unsigned int V1:1;
+    unsigned int D0:1;
+    unsigned int D1:1;
+    unsigned int XI0:1;
+    unsigned int XI1:1;
+    unsigned int RI0:1;
+    unsigned int RI1:1;
+    unsigned int EHINV:1;
     uint64_t PFN[2];
 };