From: Guy Martin <gmsoft@tuxicoman.be>
To: Grant Grundler <grundler@parisc-linux.org>
Cc: Kyle McMartin <kyle@infradead.org>, linux-parisc@vger.kernel.org
Subject: Re: HPMC bus timeout on C3600
Date: Mon, 22 Dec 2008 22:40:23 +0100 [thread overview]
Message-ID: <20081222224023.2488f2ef@tuxicoman.be> (raw)
In-Reply-To: <20081221081206.GC2047@colo.lackof.org>
[-- Attachment #1: Type: text/plain, Size: 1928 bytes --]
Kyle, Grant,
Thanks for your help but being unable to reproduce the issue at will
makes it very difficult to make any progress. The fault didn't occurred
those past two days.
So I decided to go another way. I've plugged in one of my well working
sata card and did a lot of IO using "dd if=/dev/zero of=/dev/sdc".
I'm not sure if this would trigger the same problem but it does trigger
an HPMC Bus timeout too after a few hundreds megs. This time, the PCI
slot pointed by the output is the sata card itself in slot 4.
Regarding GR02, it seems to point somewhere in user space.
Regarding Kyle's patch, it didn't changed anything but since the fault
isn't at inw(), I'm not sure it still even makes sens to apply it.
I tried to find out why the HPMC os handler wasn't triggered.
As documented in pdc20-v1.1-Ch3-pdce.pdf, the interruption vector table
is setup correctly. By this I mean that CR 14 points correctly to the
beginning of the fault_vector_20 (physical addr), the checksum is ok
and the length seems about right. I used a quickly coded module to
check all of this at run time.
The only thing that doesn't seem to be done is calling PDC_INSTR but I
still need to investigate that.
As far as I understand it's should provide instr to jump to the
os_hpmc handler. Those instr are already harcoded in the fault vector
so it's shouldn't be needed, unless calling PDC_INSTR actually does
tell the PDC that os_hpmc has been installed.
So again, I'm looking for help on going further with this issue.
Unfortunately, I don't have a lot of knowledge about PCI and the HP
side of the elroy chip. I wanted to look at elroy's documentation but
it seems that a large part was stripped down.
Any pointer to usefull doc is more than welcome !
I've attached two HPMC dumps generated using the same command. Hopefull
they'll provide more details.
This is on an C3600 running latest parisc-2.6 git tree.
Regards,
Guy
[-- Attachment #2: c3600-sata-pci-hpmc2 --]
[-- Type: application/octet-stream, Size: 5212 bytes --]
PROCESSOR PIM INFORMATION
----------------- Processor 0 HPMC Information ------------------
Timestamp =
Mon Dec 22 21:00:13 GMT 2008 (20:08:12:22:21:00:13)
HPMC Chassis Codes = 2cbf0 2500b 2cbf2 2cbfc
General Registers 0 - 31
00-03 0000000000000000 0000000000650000 00000000006500f4 000000008cc2c000
04-07 000000008dfb8828 000000008dfb8834 0000000000000001 000000008cc2c000
08-11 000000000000000f 000000008dfb8834 000000008dfb8844 000000000000001e
12-15 000000008dfb8800 000000008cc2de28 0000000000000005 00000000000000d0
16-19 0000000000002002 00000000f000017c 00000000f0000174 0000000000400000
20-23 0000000000000000 0000000000682000 0000000000679b9c 000000000000002f
24-27 000000006b719d0a 000000008cc2ddd0 000000008cc2c000 00000000104c78b0
28-31 0000000000679d3c 000000000001377c 000000008cc1c240 00000000006500f4
<Press any key to continue (q to quit)>
Control Registers 0 - 31
00-03 0000000000000000 0000000000000000 0000000000000000 0000000000000000
04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000
08-11 0000000000000e00 0000000000000000 00000000000000c0 000000000000003f
12-15 0000000000000000 0000000000000000 000000000010e000 00000000ffc00000
16-19 00000037fe47b62e 0000000000000000 0000000000679bd8 000000004abc0090
20-23 00000000a627ffee 0000000001e82048 000000000004000e 0000000080000000
24-27 000000000051a000 000000007de58000 0000000000044021 00000000f0412000
28-31 0000000055555555 0000000055555555 000000008cc1c000 0000000011111111
Space Registers 0 - 7
00-03 00000000 00000000 00000000 00000700
04-07 00000000 00000000 00000000 00000000
IIA Space = 0x0000000000000000
IIA Offset = 0x0000000000679bdc
Check Type = 0x20000000
CPU State = 0x9e000004
Cache Check = 0x00000000
TLB Check = 0x00000000
Bus Check = 0x0030103b
Assists Check = 0x00000000
Assist State = 0x00000000
Path Info = 0x00000000
System Responder Address = 0x000000fffb807048
System Requestor Address = 0xfffffffffffa0000
Floating-Point Registers 0 - 31
00-03 0000001f00000000 0000000000000000 0000000000000000 0000000000000000
04-07 3febb8de8e377300 3febb8de8e377300 0000000100000000 0000000000000000
08-11 0000000000000000 000000028f812bc8 8f812bc000000002 1056f0b000000003
12-15 5555555555555555 5555555555555555 5555555555555555 5555555555555555
16-19 5555555555555555 5555555555555555 5555555555555555 5555555555555555
20-23 5555555555555555 5555555555555555 0000000000000000 0000000000000000
24-27 0000000000000000 0000ff9700000000 0000000000000000 10282858102b7368
28-31 ffffffff000137f2 104e0da4101871a0 0000000100000228 8f820200101165f4
'9000/785 B,C,J Workstation Unarchitected (per-CPU)', rev 1, 140 bytes:
Check Summary = 0xcb81041008000000
Available Memory = 0x0000000080000000
CPU Diagnose Register 2 = 0x0300000000000004
CPU Status Register 0 = 0x2420c20000000000
CPU Status Register 1 = 0x8002000000000000
SADD LOG = 0xc10f00fffb807048
Read Short LOG = 0xc1af00fffb807048
ERROR_STATUS = 0x0000000000100010
MEM_ADDR = 0x000001ff3fffffff
MEM_SYND = 0x0000000000000000
MEM_ADDR_CORR = 0x000001ff3fffffff
MEM_SYND_CORR = 0x0000000000000000
RUN_DATA_HIGH = 0xc1bff0fffed08040
RUN_DATA_LOW = 0xc1bff0fffed08040
RUN_CTRL = 0x0000021c00001418
RUN_ADDR = 0xc1bff0fffed08040
System Responder Path = 0x00ffffff0a010400
HPMC PIM Analysis Information:
Timestamp =
Mon Dec 22 21:00:13 GMT 2008 (20:08:12:22:21:00:13)
'9000/785 B,C,J Workstation HPMC PIM Analysis (per-CPU)', rev 0, 1304 bytes:
A Data I/O Fetch Timeout occurred while CPU 0 was
requesting information from a device at the path 10/1/4/0 (PCI slot 4).
Memory/IO Controller Error Analysis Information:
The Memory/IO Controller only observed the Broadcast Error. It did not log
any additional information about the HPMC.
Memory Error Log Information:
Timestamp =
Mon Dec 22 21:00:13 GMT 2008 (20:08:12:22:21:00:13)
'9000/785 B,C,J Workstation Memory Error Log', rev 0, 64 bytes:
No memory errors logged
I/O Module Error Log Information:
Timestamp =
Mon Dec 22 21:00:13 GMT 2008 (20:08:12:22:21:00:13)
'9000/785 B,C,J Workstation IO Error Log', rev 0, 228 bytes:
Rope Word1 Word2 Word3
------ ------------ ------------
0 0x00000000 0x0e0cc009 0x00000000fed30048
1 0x00000000 0x1e0cc289 0x00000000fed32048
2 ---------- 0x2e0cc009 ------------------
3 ---------- 0x3e0cc009 ------------------
4 0x00000000 0x4e0cc009 0x00000000fed38048
5 ---------- 0x5e0cc009 ------------------
6 0x00000000 0x6e0cc009 0x00000000fed3c048
7 ---------- 0x7e0cc009 ------------------
[-- Attachment #3: c3600-sata-pci-hpmc --]
[-- Type: application/octet-stream, Size: 5211 bytes --]
PROCESSOR PIM INFORMATION
----------------- Processor 0 HPMC Information ------------------
Timestamp =
Mon Dec 22 17:51:48 GMT 2008 (20:08:12:22:17:51:48)
HPMC Chassis Codes = 2cbf0 2500b 2cbf2 2cbfc
General Registers 0 - 31
00-03 0000000000000000 0000000000650000 00000000006500f4 000000002f084000
04-07 000000008cc1e828 000000008cc1e834 0000000000000001 000000002f084000
08-11 000000000000000f 000000008cc1e834 000000008cc1e844 000000000000001e
12-15 000000008cc1e800 000000002f085e28 0000000000000005 00000000000000d0
16-19 0000000000002002 00000000f000017c 00000000f0000174 0000000000400000
20-23 0000000000000000 0000000000682000 0000000000679b9c 000000000000004c
24-27 000000000a0ee5b0 000000002f085dd0 000000002f084000 00000000104c78b0
28-31 0000000000679d3c 000000000021f42e 000000002f284240 00000000006500f4
<Press any key to continue (q to quit)>
Control Registers 0 - 31
00-03 0000000000000000 0000000000000000 0000000000000000 0000000000000000
04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000
08-11 0000000000000f9a 0000000000000000 00000000000000c0 000000000000003f
12-15 0000000000000000 0000000000000000 000000000010e000 00000000ffc00000
16-19 000003a2c566501d 0000000000000000 0000000000679bd8 000000004abc0090
20-23 00000000a627ffee 0000000001e82048 000000000006000e 0000000080000000
24-27 000000000051a000 000000007df68000 0000000000044021 00000000f0412000
28-31 0000000055555555 0000000055555555 000000002f284000 0000000011111111
Space Registers 0 - 7
00-03 00000000 000007cd 00000000 000007cd
04-07 00000000 00000000 00000000 00000000
IIA Space = 0x0000000000000000
IIA Offset = 0x0000000000679bdc
Check Type = 0x20000000
CPU State = 0x9e000004
Cache Check = 0x00000000
TLB Check = 0x00000000
Bus Check = 0x0030103b
Assists Check = 0x00000000
Assist State = 0x00000000
Path Info = 0x00000000
System Responder Address = 0x000000fffb807048
System Requestor Address = 0xfffffffffffa0000
Floating-Point Registers 0 - 31
00-03 0000001f00000000 0000000000000000 0000000000000000 0000000000000000
04-07 3e5058af0f4dd252 bf4e68a0d349be90 0000000000000000 bf4e6eea80000000
08-11 0000000538400000 000000028f812bc8 8f812bc000000002 1056f0b000000003
12-15 5555555555555555 5555555555555555 5555555555555555 5555555555555555
16-19 5555555555555555 5555555555555555 5555555555555555 5555555555555555
20-23 5555555555555555 5555555555555555 0000000000000000 0000000000000000
24-27 0000000000000000 0000ff97b22a09b6 0000000000000000 3ff0000000000000
28-31 00100000000137f2 104e0da4101871a0 0000000100000228 8f820200101165f4
'9000/785 B,C,J Workstation Unarchitected (per-CPU)', rev 1, 140 bytes:
Check Summary = 0xcb81041008000000
Available Memory = 0x0000000080000000
CPU Diagnose Register 2 = 0x0300000000000004
CPU Status Register 0 = 0x2420c20000000000
CPU Status Register 1 = 0x8002000000000000
SADD LOG = 0xc10f00fffb807048
Read Short LOG = 0xc1af00fffb807048
ERROR_STATUS = 0x0000000000100010
MEM_ADDR = 0x000001ff3fffffff
MEM_SYND = 0x0000000000000000
MEM_ADDR_CORR = 0x000001ff3fffffff
MEM_SYND_CORR = 0x0000000000000000
RUN_DATA_HIGH = 0xc1bff0fffed08040
RUN_DATA_LOW = 0xc1bff0fffed08040
RUN_CTRL = 0x0000021c00001418
RUN_ADDR = 0xc1bff0fffed08040
System Responder Path = 0x00ffffff0a010400
HPMC PIM Analysis Information:
Timestamp =
Mon Dec 22 17:51:48 GMT 2008 (20:08:12:22:17:51:48)
'9000/785 B,C,J Workstation HPMC PIM Analysis (per-CPU)', rev 0, 1304 bytes:
A Data I/O Fetch Timeout occurred while CPU 0 was
requesting information from a device at the path 10/1/4/0 (PCI slot 4).
Memory/IO Controller Error Analysis Information:
The Memory/IO Controller only observed the Broadcast Error. It did not log
any additional information about the HPMC.
Memory Error Log Information:
Timestamp =
Mon Dec 22 17:51:48 GMT 2008 (20:08:12:22:17:51:48)
'9000/785 B,C,J Workstation Memory Error Log', rev 0, 64 bytes:
No memory errors logged
I/O Module Error Log Information:
Timestamp =
Mon Dec 22 17:51:48 GMT 2008 (20:08:12:22:17:51:48)
'9000/785 B,C,J Workstation IO Error Log', rev 0, 228 bytes:
Rope Word1 Word2 Word3
------ ------------ ------------
0 0x00000000 0x0e0cc009 0x00000000fed30048
1 0x0001c800 0x1e0cc009 0x00000000fb807000
2 ---------- 0x2e0cc009 ------------------
3 ---------- 0x3e0cc009 ------------------
4 0x00000000 0x4e0cc009 0x00000000fed38048
5 ---------- 0x5e0cc009 ------------------
6 0x00000000 0x6e0cc009 0x00000000fed3c048
7 ---------- 0x7e0cc009 ------------------
next prev parent reply other threads:[~2008-12-22 21:40 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-20 12:39 HPMC bus timeout on C3600 Guy Martin
2008-12-20 22:16 ` Kyle McMartin
2008-12-20 22:21 ` Kyle McMartin
2008-12-21 8:12 ` Grant Grundler
2008-12-22 21:40 ` Guy Martin [this message]
2008-12-22 21:47 ` Kyle McMartin
2008-12-22 22:49 ` Guy Martin
2008-12-25 8:06 ` Grant Grundler
2008-12-25 15:57 ` Guy Martin
2008-12-25 21:36 ` Grant Grundler
2009-01-02 20:46 ` Guy Martin
2009-01-02 21:01 ` Kyle McMartin
2009-01-02 21:14 ` John David Anglin
2009-01-02 21:18 ` Kyle McMartin
2009-01-02 21:36 ` John David Anglin
2009-01-03 0:09 ` John David Anglin
2009-01-03 0:44 ` Kyle McMartin
2009-01-03 1:24 ` John David Anglin
2009-01-03 1:27 ` Kyle McMartin
2008-12-21 8:10 ` Grant Grundler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081222224023.2488f2ef@tuxicoman.be \
--to=gmsoft@tuxicoman.be \
--cc=grundler@parisc-linux.org \
--cc=kyle@infradead.org \
--cc=linux-parisc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.