[PATCH] PPC64: draft version of EEH code.

John H Rose johnrose at us.ibm.com
Thu Feb 3 08:56:46 EST 2005





> When Ben and I dug into it a little using xmon, it turned out that
> 77d9374 (the pc value) was the RTAS entry point.  We dumped out memory
> at that address and it was all zeroes.  Hence the 700 exception.  Ben
> then straced the errinjct program, and it was reading the proc file to
> get the rmo buffer base and getting back 77c9000.  Then it did an mmap
> of /dev/mem at offset 77d9000 for 4096 bytes, which happens to be the
> first page of the RTAS private data area.  So it looks very much like
> a bug in errinjct is causing it to overwrite the first page of RTAS's
> data area.  Hence the desire to see the source for errinjct.

It would appear that librtas isn't enforcing the RMO buffer size
communicated by /proc/ppc64/rmobuf.  This does sound like (partly) a
librtas bug, and I'll have it fixed shortly.

Librtas hands out low memory space beginning at the base of the reserved
region.  This could only occur in the case of a system that had already
reserved the 19 pages of low memory without releasing any of them.  This
seems close to impossible, without some application acting erroneously.

Thanks-
John




More information about the Linuxppc64-dev mailing list