Mailinglist Archive: radeonhd (364 mails)

< Previous Next >
[radeonhd] [Bug 20593] New: radeonhd driver generates unaligned traps on Alpha
  • From: bugzilla-daemon@xxxxxxxxxxxxxxx
  • Date: Wed, 11 Mar 2009 00:38:20 -0700 (PDT)
  • Message-id: <bug-20593-248@xxxxxxxxxxxxxxxxxxxxxxxxx/>
http://bugs.freedesktop.org/show_bug.cgi?id=20593

Summary: radeonhd driver generates unaligned traps on Alpha
Product: xorg
Version: git
Platform: Alpha
OS/Version: Linux (All)
Status: NEW
Severity: minor
Priority: low
Component: Driver/radeonhd
AssignedTo: lverhaegen@xxxxxxx
ReportedBy: mcree@xxxxxxxxxxxx
QAContact: xorg-team@xxxxxxxxxxx
CC: mcree@xxxxxxxxxxxx


The radeonhd driver generates unaligned traps on Alpha architecture. These are
not a show stopper, but do incur very inefficient memory accesses via kernel
traps, and pollute the kernel logs with annoying messages.

Using radeonhd at git df71658688e47614a3f660c28ac1dc77970eb491

But the version is irrelevant as the misaligned memory accesses have been there
for a long time - I have been too lazy to report them until now.

From dmesg:

X(2015): unaligned trap at 0000020000903088: 000002000098c5d7 28 1
X(2015): unaligned trap at 0000020000903088: 000002000098c5df 28 1
X(2015): unaligned trap at 0000020000903088: 000002000098c5e7 28 1
X(2015): unaligned trap at 0000020000903088: 0000020000989771 28 1

Connecting gdb to the running X process reveals the culprit:

(gdb) list *0x0000020000903088
0x20000903088 is in GetParametersDirect32 (AtomBios/CD_Operations.c:441).
436 }
437
438 UINT32 GetParametersDirect32(PARSER_TEMP_DATA STACK_BASED *
pParserTempData)
439 {
440 pParserTempData->CD_Mask.SrcAlignment=alignmentDword;
441
pParserTempData->Index=*(UINT32*)pParserTempData->pWorkingTableData->IP;
442 pParserTempData->pWorkingTableData->IP+=sizeof(UINT32);
443 return pParserTempData->Index;
444 }
445

Line 441 is a 32bit (long word) access. The address dereferenced is not
aligned to a 32bit boundary for an unaligned trap to occur.

The ati driver is worse. It coughs up unaligned traps from
GetParametersDirect16() and GetParametersRegister() too, but I haven't seen
these from radeonhd.

Cheers
Michael.


--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
xorg-team mailing list
xorg-team@xxxxxxxxxxx
http://lists.x.org/mailman/listinfo/xorg-team
--
To unsubscribe, e-mail: radeonhd+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: radeonhd+help@xxxxxxxxxxxx

< Previous Next >