mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-03-23 06:25:12 +00:00
target-i386: introduce cpu_get_mem_attrs
Backports commit f794aa4a2fd772a3ec413c4e478cc23857cfee98 from qemu
This commit is contained in:
parent
88d1506e6a
commit
dc80b0893f
|
@ -29,7 +29,9 @@ typedef struct MemTxAttrs {
|
|||
* "didn't specify" if necessary.
|
||||
*/
|
||||
unsigned int unspecified:1;
|
||||
/* ARM/AMBA TrustZone Secure access */
|
||||
/* ARM/AMBA TrustZone Secure access
|
||||
* x86: System Management Mode access
|
||||
*/
|
||||
unsigned int secure:1;
|
||||
/* Memory access is usermode (unprivileged) */
|
||||
unsigned int user:1;
|
||||
|
|
|
@ -1284,6 +1284,13 @@ static inline void cpu_load_efer(CPUX86State *env, uint64_t val)
|
|||
}
|
||||
}
|
||||
|
||||
static inline MemTxAttrs cpu_get_mem_attrs(CPUX86State *env)
|
||||
{
|
||||
MemTxAttrs attrs = {0};
|
||||
attrs.secure = (env->hflags & HF_SMM_MASK) != 0;
|
||||
return attrs;
|
||||
}
|
||||
|
||||
/* fpu_helper.c */
|
||||
void cpu_set_mxcsr(CPUX86State *env, uint32_t val);
|
||||
void cpu_set_fpuc(CPUX86State *env, uint16_t val);
|
||||
|
|
|
@ -783,7 +783,8 @@ do_check_protect_pse36:
|
|||
paddr = vaddr;
|
||||
//printf(">>> map address %"PRIx64" to %"PRIx64"\n", vaddr, paddr);
|
||||
|
||||
tlb_set_page(cs, vaddr, paddr, prot, mmu_idx, page_size);
|
||||
tlb_set_page_with_attrs(cs, vaddr, paddr, cpu_get_mem_attrs(env),
|
||||
prot, mmu_idx, page_size);
|
||||
return 0;
|
||||
do_fault_rsvd:
|
||||
error_code |= PG_ERROR_RSVD_MASK;
|
||||
|
|
Loading…
Reference in a new issue