Messages in this thread | | | From | Robert Jarzmik <> | Subject | Re: [PATCH] ARM: fix alignement of __bug_table section entries | Date | Tue, 08 Sep 2015 22:46:30 +0200 |
| |
Russell King - ARM Linux <linux@arm.linux.org.uk> writes:
> What should happen is: Thanks very much for the explanation, hopefully I have enough material to fly on my own now.
> Now, when you get the fault inside arm_copy_from_user(), you can > print the DACR value saved at the time the fault was generated by > printing the word above struct pt_regs on the stack - add to > arch/arm/mm/fault.c:do_DataAbort(): > > if (addr == 0xbf00202c) printk("DACR=0x%08x\n", *(u32 *)(regs + 1)); > > before the "if (!inf->fn(addr, fsr & ~FSR_LNX_PF, regs))" line. > That'll tell us what the DACR register was when we saved it. > > If it isn't 0x75, then the next part of the puzzle is going to be > working out why it isn't. It's 0x55. I'll track down how this happens, there are not that many places where DACR is touched, and I'm in a very controlled environement, so I can cunningly place JTAG breakpoints and watch DACR.
I'll report once I have a better idea what is happening, that might take me a couple of days given that most of my workforce is available on weekends only.
Thanks again for the free lesson.
-- Robert
| |