[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 07/13] target-sh4: Make increment_urc() take
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v3 07/13] target-sh4: Make increment_urc() take SuperHCPU |
Date: |
Mon, 16 Apr 2012 15:53:16 +0100 |
On 14 April 2012 23:12, Andreas Färber <address@hidden> wrote:
> Signed-off-by: Andreas Färber <address@hidden>
Is this really an improvement?
-- PMM
> ---
> target-sh4/helper.c | 23 ++++++++++++-----------
> 1 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/target-sh4/helper.c b/target-sh4/helper.c
> index 655faaa..2d5a4e4 100644
> --- a/target-sh4/helper.c
> +++ b/target-sh4/helper.c
> @@ -269,17 +269,18 @@ static int find_tlb_entry(CPUSH4State * env,
> target_ulong address,
> return match;
> }
>
> -static void increment_urc(CPUSH4State * env)
> +static void increment_urc(SuperHCPU *cpu)
> {
> uint8_t urb, urc;
>
> /* Increment URC */
> - urb = ((env->mmucr) >> 18) & 0x3f;
> - urc = ((env->mmucr) >> 10) & 0x3f;
> + urb = ((cpu->env.mmucr) >> 18) & 0x3f;
> + urc = ((cpu->env.mmucr) >> 10) & 0x3f;
> urc++;
> - if ((urb > 0 && urc > urb) || urc > (UTLB_SIZE - 1))
> + if ((urb > 0 && urc > urb) || urc > (UTLB_SIZE - 1)) {
> urc = 0;
> - env->mmucr = (env->mmucr & 0xffff03ff) | (urc << 10);
> + }
> + cpu->env.mmucr = (cpu->env.mmucr & 0xffff03ff) | (urc << 10);
> }
>
> /* Copy and utlb entry into itlb
> @@ -324,7 +325,7 @@ static int find_itlb_entry(CPUSH4State * env,
> target_ulong address,
> static int find_utlb_entry(CPUSH4State * env, target_ulong address, int
> use_asid)
> {
> /* per utlb access */
> - increment_urc(env);
> + increment_urc(sh_env_get_cpu(env));
>
> /* Return entry */
> return find_tlb_entry(env, address, env->utlb, UTLB_SIZE, use_asid);
> @@ -660,7 +661,7 @@ uint32_t cpu_sh4_read_mmaped_utlb_addr(CPUSH4State *s,
> int index = (addr & 0x00003f00) >> 8;
> tlb_t * entry = &s->utlb[index];
>
> - increment_urc(s); /* per utlb access */
> + increment_urc(sh_env_get_cpu(s)); /* per utlb access */
>
> return (entry->vpn << 10) |
> (entry->v << 8) |
> @@ -702,7 +703,7 @@ void cpu_sh4_write_mmaped_utlb_addr(CPUSH4State *s,
> target_phys_addr_t addr,
> entry->d = d;
> utlb_match_entry = entry;
> }
> - increment_urc(s); /* per utlb access */
> + increment_urc(sh_env_get_cpu(s)); /* per utlb access */
> }
>
> /* search ITLB */
> @@ -735,7 +736,7 @@ void cpu_sh4_write_mmaped_utlb_addr(CPUSH4State *s,
> target_phys_addr_t addr,
> entry->vpn = vpn;
> entry->d = d;
> entry->v = v;
> - increment_urc(s);
> + increment_urc(sh_env_get_cpu(s));
> }
> }
>
> @@ -746,7 +747,7 @@ uint32_t cpu_sh4_read_mmaped_utlb_data(CPUSH4State *s,
> int index = (addr & 0x00003f00) >> 8;
> tlb_t * entry = &s->utlb[index];
>
> - increment_urc(s); /* per utlb access */
> + increment_urc(sh_env_get_cpu(s)); /* per utlb access */
>
> if (array == 0) {
> /* ITLB Data Array 1 */
> @@ -773,7 +774,7 @@ void cpu_sh4_write_mmaped_utlb_data(CPUSH4State *s,
> target_phys_addr_t addr,
> int index = (addr & 0x00003f00) >> 8;
> tlb_t * entry = &s->utlb[index];
>
> - increment_urc(s); /* per utlb access */
> + increment_urc(sh_env_get_cpu(s)); /* per utlb access */
>
> if (array == 0) {
> /* UTLB Data Array 1 */
> --
> 1.7.7
>
>
--
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1 2 3 4 5 6 7 8
- Re: [Qemu-devel] [PATCH v3 03/13] target-sh4: Start QOM'ifying CPU init, (continued)
- [Qemu-devel] [PATCH v3 01/13] target-sh4: QOM'ify CPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 02/13] target-sh4: QOM'ify CPU reset, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 05/13] hw/sh7750: Use SuperHCPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 08/13] target-sh4: Make find_*tlb_entry() take SuperHCPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 06/13] target-sh4: Make cpu_sh4_invalidate_tlb() take SuperHCPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 07/13] target-sh4: Make increment_urc() take SuperHCPU, Andreas Färber, 2012/04/14
- Re: [Qemu-devel] [PATCH v3 07/13] target-sh4: Make increment_urc() take SuperHCPU,
Peter Maydell <=
- [Qemu-devel] [PATCH v3 12/13] target-sh4: Make update_itlb_use() take SuperHCPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 10/13] target-sh4: Make get_{physical, mmu}_address() take SuperHCPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 09/13] target-sh4: Make cpu_sh4_{read, write}_mmaped_{i, u}tlb_addr() take CPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 13/13] target-sh4: Make itlb_replacement() use SuperHCPU, Andreas Färber, 2012/04/14
- [Qemu-devel] [PATCH v3 11/13] target-sh4: Make copy_utlb_entry_itlb() take SuperHCPU, Andreas Färber, 2012/04/14