On Wed, 3 Apr 2019 at 10:44, Richard Henderson
<[email protected]> wrote:
> +bool arm_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
> + MMUAccessType access_type, int mmu_idx,
> + bool probe, uintptr_t retaddr)
> +{
> + ARMCPU *cpu = ARM_CPU(cs);
> +
> +#ifdef CONFIG_USER_ONLY
> + cpu->env.exception.vaddress = address;
> + if (access_type == MMU_INST_FETCH) {
> + cs->exception_index = EXCP_PREFETCH_ABORT;
> + } else {
> + cs->exception_index = EXCP_DATA_ABORT;
> + }
> + cpu_loop_exit_restore(cs, retaddr);
> +#else
> + hwaddr phys_addr;
> + target_ulong page_size;
> + int prot, ret;
> + MemTxAttrs attrs = {};
> + ARMMMUFaultInfo fi = {};
> +
> + /*
> + * Walk the page table and (if the mapping exists) add the page
> + * to the TLB. Return false on success, or true on failure. Populate
> + * fsr with ARM DFSR/IFSR fault register format value on failure.
> + */
This comment about what we return doesn't seem to match what
the code is doing.
thanks
-- PMM