[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.


More information about the Linuxppc64-dev mailing list