[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