tech-kern archive

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

Re: kernel panic on ibm4xx-based powerpc box with DDB



> On Dec 27, 2016, at 10:49 PM, Rin Okuyama <rokuyama%rk.phys.keio.ac.jp@localhost> wrote:
> 
> Thank you very much for your reply. I revised the patch accordingly, and
> it passed some stress tests on my OPENBLOCKS266.
> 
> However, sorry for bothering you, but I don't understand why this work.
> The original DDB/IPKDB handlers use ddbstk/ipkdbstk, that clearly do not
> support nested traps, as you pointed out. The patched version uses
> CI_{DDB,IPKDB}SAVE, that are save areas in cpu_info. It seems to me that
> they also do not support nested traps; a succeeding trap overwrites
> save areas already used by a preceding trap, doesn't it? I'm a beginner
> of assembler programming, and maybe I misunderstand something...

Much nicer.  It does support nested traps because %r1 (sp) isn't loaded if we are already in kernel mode.  So the trapframe is just saved further down the stack.

You can't get an exception while saving into the saveareas so that part doesn't need to stack.  Only after the saveareas are moved into a trapframe will exceptions be reenabled.  That's what PSL_RI enables.


Home | Main Index | Thread Index | Old Index