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 |
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
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 --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);
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(-)