FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Crash Utility

 
 
LinkBack Thread Tools
 
Old 06-27-2012, 07:25 AM
Toshikazu Nakayama
 
Default ppc: work out irq and fix pte translation display

This patch set updates ppc "irq" and PTE translation display of book3e.

- Support "irq" command for recent kernel
The ppc's "irq" could not work well for recent kernel at all
because ppc_init() always made SIZE(irq_desc_t) invalid by itself.
And also, "irq" options were not supported entirely.

Stash legacy ppc_dump_irq() behind generic_dump_irq() so that
"irq" works on recent kernel and follow toward mainline updates lightly
by using generic irq functions.

- Fix PTE translation for book3e
Although book3e uses multiple PTE bits for one attribute,
ppc_translate_pte() can not handle such attributes well.
And further privilege (kernel) RW protection bit assign of book3e
are different from user's ones.

Fix and add these translation features in ppc_translate_pte().

- results of update

Before: irq can not work at all.
crash> help -m | grep dump_irq
dump_irq: ppc_dump_irq()
crash> irq
irq: cannot determine number of IRQs

After: "irq" command work well
crash> irq 36
IRQ: 36
STATUS: 24004 (IRQ_LEVEL)
HANDLER: ebc08004
typename: c07c7044 " OpenPIC "
startup: c00ca754 <default_startup>
shutdown: c00ca6f0 <default_shutdown>
enable: c00ca7b8 <default_enable>
disable: c00ca5a8 <default_disable>
:
ACTION: eac56e80
handler: c043e398 <serial8250_interrupt>
flags: 8080
name: c07c4534 "serial"
dev_id: ebe3bec0
next: 0
DEPTH: 0

crash> irq -s
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
16: 0 0 0 0 0 0 0 0 OpenPIC bman-err,qman-err,error_rx,fman-err,fman-err,pme-err
17: 0 0 0 0 0 0 0 0 OpenPIC ds3232
:

crash> irq -c 0 -s
CPU0
16: 0 OpenPIC bman-err,qman-err,error_rx,fman-err,fman-err,pme-err
17: 0 OpenPIC ds3232
:

crash> irq -a
IRQ NAME AFFINITY
16 bman-err,qman-err,error_rx,fman-err,fman-err,pme-err 0-7
17 ds3232 0-7
:

Before/After: PTE translation is updated like

crash> vtop f987c01c [kernel vaddr]
PTE PHYSICAL FLAGS
ff974241255 ff974000 (PRESENT|USER|RW|COHERENT|DIRTY|ACCESSED)

* multiple bits attribute USER or RW(non privilege) is not set in 255h

=> Fix as below
PTE PHYSICAL FLAGS
ff974241255 ff974000 (PRESENT|K-RW|COHERENT|DIRTY|ACCESSED)

Thanks,
Toshi

Toshikazu Nakayama (6):
ppc: update dump_irq()
ppc: rework nr_irqs initialization
ppc: add show_interrupts
ppc: add get_irq_affinity
ppc: fix the handling of PTE flags in translate_pte
ppc: handle privilege level rw access from pte

defs.h | 7 ++++-
ppc.c | 65 ++++++++++++++++++++++++++++++++++++++++++++-------------------
2 files changed, 50 insertions(+), 22 deletions(-)

--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
 

Thread Tools




All times are GMT. The time now is 11:29 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org