Re: [PATCH] pci: imx6: support kernels built in Thumb-2 mode

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

 



On Wed, 2018-11-28 at 16:16 +0000, Robin Murphy wrote:
> 
> >   
> > +static int imx6q_pcie_abort_handler_thumb2(unsigned long addr,
> > +		unsigned int fsr, struct pt_regs *regs)
> > +{
> > +	unsigned long pc = instruction_pointer(regs);
> > +	unsigned long instr = *(unsigned long *)pc;
> > +	unsigned long thumb2_instr = __mem_to_opcode_thumb16(instr);
> > +	int reg = thumb2_instr & 7;
> > +
> > +	if (!__opcode_is_thumb16(instr & 0x0000ffffUL))
> > +		return 1;
> 
> There are plenty of 32-bit Thumb encodings of various LDR/STR variants, 
> and I doubt we can guarantee that the offset, target register, and/or 
> addressing mode for a config space access will *always* suit the 
> (relatively limited) 16-bit ones.

It might be the case that PLD/PLI, 32-bit thumb2 instructions, could
trigger an abort too.




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux