All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiaxun Yang <jiaxun.yang@flygoat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>, qemu-devel@nongnu.org
Cc: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Joe Komlodi <komlodi@xilinx.com>
Subject: Re: [PATCH 13/13] target/mips: Let CPUMIPSTLBContext::map_address() take MMUAccessType
Date: Tue, 2 Feb 2021 11:44:23 +0800	[thread overview]
Message-ID: <4a2b73d6-1541-5e8e-06ff-30ab2dabc99e@flygoat.com> (raw)
In-Reply-To: <20210128144125.3696119-14-f4bug@amsat.org>

在 2021/1/28 下午10:41, Philippe Mathieu-Daudé 写道:
> get_seg_physical_address() calls CPUMIPSTLBContext::map_address()
> handlers passing a MMUAccessType type. Update the prototype
> handlers to take a MMUAccessType argument, as it is stricter than
> an integer.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>

> ---
>   target/mips/internal.h   |  8 ++++----
>   target/mips/tlb_helper.c | 12 ++++++------
>   2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/target/mips/internal.h b/target/mips/internal.h
> index 34915c275c4..99264b8bf6a 100644
> --- a/target/mips/internal.h
> +++ b/target/mips/internal.h
> @@ -111,7 +111,7 @@ struct CPUMIPSTLBContext {
>       uint32_t nb_tlb;
>       uint32_t tlb_in_use;
>       int (*map_address)(struct CPUMIPSState *env, hwaddr *physical, int *prot,
> -                       target_ulong address, int rw);
> +                       target_ulong address, MMUAccessType access_type);
>       void (*helper_tlbwi)(struct CPUMIPSState *env);
>       void (*helper_tlbwr)(struct CPUMIPSState *env);
>       void (*helper_tlbp)(struct CPUMIPSState *env);
> @@ -126,11 +126,11 @@ struct CPUMIPSTLBContext {
>   };
>   
>   int no_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
> -                       target_ulong address, int rw);
> +                       target_ulong address, MMUAccessType access_type);
>   int fixed_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
> -                          target_ulong address, int rw);
> +                          target_ulong address, MMUAccessType access_type);
>   int r4k_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
> -                    target_ulong address, int rw);
> +                    target_ulong address, MMUAccessType access_type);
>   void r4k_helper_tlbwi(CPUMIPSState *env);
>   void r4k_helper_tlbwr(CPUMIPSState *env);
>   void r4k_helper_tlbp(CPUMIPSState *env);
> diff --git a/target/mips/tlb_helper.c b/target/mips/tlb_helper.c
> index 14f5b1a0a9c..2dc8ecafc3b 100644
> --- a/target/mips/tlb_helper.c
> +++ b/target/mips/tlb_helper.c
> @@ -39,7 +39,7 @@ enum {
>   
>   /* no MMU emulation */
>   int no_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
> -                       target_ulong address, int rw)
> +                       target_ulong address, MMUAccessType access_type)
>   {
>       *physical = address;
>       *prot = PAGE_READ | PAGE_WRITE | PAGE_EXEC;
> @@ -48,7 +48,7 @@ int no_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
>   
>   /* fixed mapping MMU emulation */
>   int fixed_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
> -                          target_ulong address, int rw)
> +                          target_ulong address, MMUAccessType access_type)
>   {
>       if (address <= (int32_t)0x7FFFFFFFUL) {
>           if (!(env->CP0_Status & (1 << CP0St_ERL))) {
> @@ -68,7 +68,7 @@ int fixed_mmu_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
>   
>   /* MIPS32/MIPS64 R4000-style MMU emulation */
>   int r4k_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
> -                    target_ulong address, int rw)
> +                    target_ulong address, MMUAccessType access_type)
>   {
>       uint16_t ASID = env->CP0_EntryHi & env->CP0_EntryHi_ASID_mask;
>       uint32_t MMID = env->CP0_MemoryMapID;
> @@ -97,13 +97,13 @@ int r4k_map_address(CPUMIPSState *env, hwaddr *physical, int *prot,
>               if (!(n ? tlb->V1 : tlb->V0)) {
>                   return TLBRET_INVALID;
>               }
> -            if (rw == MMU_INST_FETCH && (n ? tlb->XI1 : tlb->XI0)) {
> +            if (access_type == MMU_INST_FETCH && (n ? tlb->XI1 : tlb->XI0)) {
>                   return TLBRET_XI;
>               }
> -            if (rw == MMU_DATA_LOAD && (n ? tlb->RI1 : tlb->RI0)) {
> +            if (access_type == MMU_DATA_LOAD && (n ? tlb->RI1 : tlb->RI0)) {
>                   return TLBRET_RI;
>               }
> -            if (rw != MMU_DATA_STORE || (n ? tlb->D1 : tlb->D0)) {
> +            if (access_type != MMU_DATA_STORE || (n ? tlb->D1 : tlb->D0)) {
>                   *physical = tlb->PFN[n] | (address & (mask >> 1));
>                   *prot = PAGE_READ;
>                   if (n ? tlb->D1 : tlb->D0) {



  reply	other threads:[~2021-02-02  3:45 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-28 14:41 [PATCH 00/13] target/mips: Replace integer by MMUAccessType enum when possible Philippe Mathieu-Daudé
2021-01-28 14:41 ` [PATCH 01/13] target/mips: Remove access_type argument from map_address() handler Philippe Mathieu-Daudé
2021-02-02  3:22   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 02/13] target/mips: Remove access_type argument from get_seg_physical_address Philippe Mathieu-Daudé
2021-02-02  3:25   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 03/13] target/mips: Remove access_type arg from get_segctl_physical_address() Philippe Mathieu-Daudé
2021-02-02  3:26   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 04/13] target/mips: Remove access_type argument from get_physical_address() Philippe Mathieu-Daudé
2021-02-02  3:27   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 05/13] target/mips: Remove unused MMU definitions Philippe Mathieu-Daudé
2021-02-02  3:36   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 06/13] target/mips: Replace magic value by MMU_DATA_LOAD definition Philippe Mathieu-Daudé
2021-02-02  3:37   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 07/13] target/mips: Let page_table_walk_refill() take MMUAccessType argument Philippe Mathieu-Daudé
2021-02-02  3:38   ` Jiaxun Yang
2021-02-04  2:36   ` Richard Henderson
2021-01-28 14:41 ` [PATCH 08/13] target/mips: Let do_translate_address() " Philippe Mathieu-Daudé
2021-02-02  3:39   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 09/13] target/mips: Let cpu_mips_translate_address() take MMUAccessType arg Philippe Mathieu-Daudé
2021-02-02  3:41   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 10/13] target/mips: Let raise_mmu_exception() take MMUAccessType argument Philippe Mathieu-Daudé
2021-02-02  3:41   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 11/13] target/mips: Let get_physical_address() " Philippe Mathieu-Daudé
2021-02-02  3:42   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 12/13] target/mips: Let get_seg*_physical_address() take MMUAccessType arg Philippe Mathieu-Daudé
2021-02-02  3:43   ` Jiaxun Yang
2021-01-28 14:41 ` [PATCH 13/13] target/mips: Let CPUMIPSTLBContext::map_address() take MMUAccessType Philippe Mathieu-Daudé
2021-02-02  3:44   ` Jiaxun Yang [this message]
2021-02-04  2:39 ` [PATCH 00/13] target/mips: Replace integer by MMUAccessType enum when possible Richard Henderson
2021-02-21  8:33 ` Philippe Mathieu-Daudé

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=4a2b73d6-1541-5e8e-06ff-30ab2dabc99e@flygoat.com \
    --to=jiaxun.yang@flygoat.com \
    --cc=aleksandar.rikalo@syrmia.com \
    --cc=aurelien@aurel32.net \
    --cc=chenhuacai@kernel.org \
    --cc=f4bug@amsat.org \
    --cc=komlodi@xilinx.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.