OSDN Git Service

pic32: use LCG algorithm for generated random index of TLBWR instruction
authorSerge Vakulenko <serge.vakulenko@gmail.com>
Mon, 6 Jul 2015 06:14:50 +0000 (23:14 -0700)
committerLeon Alrae <leon.alrae@imgtec.com>
Fri, 18 Sep 2015 08:20:48 +0000 (09:20 +0100)
commitceb0ee147df35adc7b705da1c84a4624c9cabb21
treea87800759b1e4d48231346889f882d3afbb8401c
parentb307446e04232b3a87e9da04886895a8e5a4a407
pic32: use LCG algorithm for generated random index of TLBWR instruction

The LFSR algorithm, used for generating random TLB indexes for TLBWR
instruction, was inclined to produce a degenerate sequence in some cases.
For example, for 16-entry TLB size and Wired=1, it gives: 15, 6, 7, 2,
7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2, 7, 2...
When replaced with LCG algorithm from ISO/IEC 9899 standard, the sequence
looks much better, with about the same computational effort needed.

Signed-off-by: Serge Vakulenko <serge.vakulenko@gmail.com>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Leon Alrae <leon.alrae@imgtec.com>
Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
hw/mips/cputimer.c