Re: [PATCH 13/21] target-arm: A64: Implement MRS/MSR/SYS/SYSL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19 December 2013 20:30, Richard Henderson <rth@xxxxxxxxxxx> wrote:
> On 12/17/2013 07:12 AM, Peter Maydell wrote:
>> +/* Force a TB lookup after an instruction that changes the CPU state */
>> +static inline void gen_lookup_tb(DisasContext *s)
>> +{
>> +    gen_a64_set_pc_im(s->pc);
>> +    s->is_jmp = DISAS_UPDATE;
>> +}
>> +
>
> I'm a bit surprised that this set_pc doesn't happen in
> gen_intermediate_code_internal_a64.  Otherwise, what's the point in
> distinguishing between DISAS_JUMP and DISAS_UPDATE?

I just borrowed this from the 32 bit decoder, which also sets PC
in gen_lookup_tb(). However you're right that we might as well
do the set pc in the top level loop. I've adjusted that loop to do so
and dropped the gen_lookup_tb() function in favour of just setting
s->is_jmp = DISAS_UPDATE directly at its callsites.

thanks
-- PMM
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux