diff mbox series

hvf: Fix value of MMU_PAGE_NX and add MMU_PAGE_RS

Message ID 20201116201322.29262-1-jrtc27@jrtc27.com (mailing list archive)
State New, archived
Headers show
Series hvf: Fix value of MMU_PAGE_NX and add MMU_PAGE_RS | expand

Commit Message

Jessica Clarke Nov. 16, 2020, 8:13 p.m. UTC
These are meant to correspond to the error code reported for #PF, so fix
the definition for Instruction Fetch faults and add one for Reserved Bit
faults (checking for that is currently a TODO in x86_mmu.c).

Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
---
 target/i386/hvf/x86_mmu.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Paolo Bonzini Nov. 17, 2020, 8:19 a.m. UTC | #1
On 16/11/20 21:13, Jessica Clarke wrote:
> These are meant to correspond to the error code reported for #PF, so fix
> the definition for Instruction Fetch faults and add one for Reserved Bit
> faults (checking for that is currently a TODO in x86_mmu.c).
> 
> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
> ---
>   target/i386/hvf/x86_mmu.h | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/target/i386/hvf/x86_mmu.h b/target/i386/hvf/x86_mmu.h
> index cd6e137e79..710adb82b5 100644
> --- a/target/i386/hvf/x86_mmu.h
> +++ b/target/i386/hvf/x86_mmu.h
> @@ -34,7 +34,8 @@
>   #define MMU_PAGE_PT             (1 << 0)
>   #define MMU_PAGE_WT             (1 << 1)
>   #define MMU_PAGE_US             (1 << 2)
> -#define MMU_PAGE_NX             (1 << 3)
> +#define MMU_PAGE_RS             (1 << 3)
> +#define MMU_PAGE_NX             (1 << 4)
>   
>   bool mmu_gva_to_gpa(struct CPUState *cpu, target_ulong gva, uint64_t *gpa);

Since you are at it, can you instead replace these flags with 
PG_ERROR_{P,W,U,RSVD,I_D}_MASK from cpu.h?

Thanks,

Paolo
Roman Bolshakov Nov. 18, 2020, 4:21 p.m. UTC | #2
On Mon, Nov 16, 2020 at 08:13:22PM +0000, Jessica Clarke wrote:
> These are meant to correspond to the error code reported for #PF, so fix
> the definition for Instruction Fetch faults and add one for Reserved Bit
> faults (checking for that is currently a TODO in x86_mmu.c).
> 
> Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
> ---
>  target/i386/hvf/x86_mmu.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/target/i386/hvf/x86_mmu.h b/target/i386/hvf/x86_mmu.h
> index cd6e137e79..710adb82b5 100644
> --- a/target/i386/hvf/x86_mmu.h
> +++ b/target/i386/hvf/x86_mmu.h
> @@ -34,7 +34,8 @@
>  #define MMU_PAGE_PT             (1 << 0)
>  #define MMU_PAGE_WT             (1 << 1)
>  #define MMU_PAGE_US             (1 << 2)
> -#define MMU_PAGE_NX             (1 << 3)
> +#define MMU_PAGE_RS             (1 << 3)
> +#define MMU_PAGE_NX             (1 << 4)
>  
>  bool mmu_gva_to_gpa(struct CPUState *cpu, target_ulong gva, uint64_t *gpa);
>  
> -- 
> 2.28.0
> 

Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>

But I agree with Paolo that eliminating HVF-only definition duplicates
would be helpful.

Thanks,
Roman
diff mbox series

Patch

diff --git a/target/i386/hvf/x86_mmu.h b/target/i386/hvf/x86_mmu.h
index cd6e137e79..710adb82b5 100644
--- a/target/i386/hvf/x86_mmu.h
+++ b/target/i386/hvf/x86_mmu.h
@@ -34,7 +34,8 @@ 
 #define MMU_PAGE_PT             (1 << 0)
 #define MMU_PAGE_WT             (1 << 1)
 #define MMU_PAGE_US             (1 << 2)
-#define MMU_PAGE_NX             (1 << 3)
+#define MMU_PAGE_RS             (1 << 3)
+#define MMU_PAGE_NX             (1 << 4)
 
 bool mmu_gva_to_gpa(struct CPUState *cpu, target_ulong gva, uint64_t *gpa);