Skip to content
Snippets Groups Projects
Commit f6a768f5 authored by lnx build's avatar lnx build Committed by Gerrit - the friendly Code Review server
Browse files

Merge "lrdp_v2 : Fix for broken irqstat.py for kernel 3.18" into opensource-tools.lnx.1.0

parents bcd94006 70844c26
No related branches found
No related tags found
No related merge requests found
...@@ -26,10 +26,14 @@ class IrqParse(RamParser): ...@@ -26,10 +26,14 @@ class IrqParse(RamParser):
h_irq_offset = ram_dump.field_offset('struct irq_desc', 'handle_irq') h_irq_offset = ram_dump.field_offset('struct irq_desc', 'handle_irq')
irq_num_offset = ram_dump.field_offset('struct irq_data', 'irq') irq_num_offset = ram_dump.field_offset('struct irq_data', 'irq')
hwirq_num_offset = ram_dump.field_offset('struct irq_data', 'hwirq') hwirq_num_offset = ram_dump.field_offset('struct irq_data', 'hwirq')
affinity_offset = ram_dump.field_offset( if ram_dump.kernel_version >= (4,4,0) :
'struct irq_common_data', 'affinity') affinity_offset = ram_dump.field_offset(
irq_common_data_offset = ram_dump.field_offset( 'struct irq_common_data', 'affinity')
'struct irq_desc', 'irq_common_data') irq_common_data_offset = ram_dump.field_offset(
'struct irq_desc', 'irq_common_data')
else:
affinity_offset = ram_dump.field_offset(
'struct irq_data', 'affinity')
irq_data_offset = ram_dump.field_offset('struct irq_desc', 'irq_data') irq_data_offset = ram_dump.field_offset('struct irq_desc', 'irq_data')
irq_count_offset = ram_dump.field_offset( irq_count_offset = ram_dump.field_offset(
'struct irq_desc', 'irq_count') 'struct irq_desc', 'irq_count')
...@@ -51,8 +55,12 @@ class IrqParse(RamParser): ...@@ -51,8 +55,12 @@ class IrqParse(RamParser):
for i in range(0, irq_desc_size, irq_desc_entry_size): for i in range(0, irq_desc_size, irq_desc_entry_size):
irqnum = ram_dump.read_word(irq_desc + i + irq_num_offset) irqnum = ram_dump.read_word(irq_desc + i + irq_num_offset)
hwirq = ram_dump.read_word(irq_desc + i + hwirq_num_offset) hwirq = ram_dump.read_word(irq_desc + i + hwirq_num_offset)
affinity = ram_dump.read_int( if ram_dump.kernel_version >= (4,4,0):
irq_desc + irq_common_data_offset + affinity_offset) affinity = ram_dump.read_int(
irq_desc + irq_common_data_offset + affinity_offset)
else:
affinity = ram_dump.read_int(
irq_desc + affinity_offset)
irqcount = ram_dump.read_word(irq_desc + i + irq_count_offset) irqcount = ram_dump.read_word(irq_desc + i + irq_count_offset)
action = ram_dump.read_word(irq_desc + i + irq_action_offset) action = ram_dump.read_word(irq_desc + i + irq_action_offset)
kstat_irqs_addr = ram_dump.read_word( kstat_irqs_addr = ram_dump.read_word(
...@@ -173,10 +181,14 @@ class IrqParse(RamParser): ...@@ -173,10 +181,14 @@ class IrqParse(RamParser):
h_irq_offset = ram_dump.field_offset('struct irq_desc', 'handle_irq') h_irq_offset = ram_dump.field_offset('struct irq_desc', 'handle_irq')
irq_num_offset = ram_dump.field_offset('struct irq_data', 'irq') irq_num_offset = ram_dump.field_offset('struct irq_data', 'irq')
hwirq_num_offset = ram_dump.field_offset('struct irq_data', 'hwirq') hwirq_num_offset = ram_dump.field_offset('struct irq_data', 'hwirq')
affinity_offset = ram_dump.field_offset( if ram_dump.kernel_version >= (4,4,0):
'struct irq_common_data', 'affinity') affinity_offset = ram_dump.field_offset(
irq_common_data_offset = ram_dump.field_offset( 'struct irq_common_data', 'affinity')
'struct irq_desc', 'irq_common_data') irq_common_data_offset = ram_dump.field_offset(
'struct irq_desc', 'irq_common_data')
else:
affinity_offset = ram_dump.field_offset(
'struct irq_data', 'affinity')
irq_data_offset = ram_dump.field_offset('struct irq_desc', 'irq_data') irq_data_offset = ram_dump.field_offset('struct irq_desc', 'irq_data')
irq_count_offset = ram_dump.field_offset( irq_count_offset = ram_dump.field_offset(
'struct irq_desc', 'irq_count') 'struct irq_desc', 'irq_count')
...@@ -217,8 +229,12 @@ class IrqParse(RamParser): ...@@ -217,8 +229,12 @@ class IrqParse(RamParser):
irqnum = ram_dump.read_int(irq_desc + irq_data_offset + irq_num_offset) irqnum = ram_dump.read_int(irq_desc + irq_data_offset + irq_num_offset)
hwirq = ram_dump.read_int( hwirq = ram_dump.read_int(
irq_desc + irq_data_offset + hwirq_num_offset) irq_desc + irq_data_offset + hwirq_num_offset)
affinity = ram_dump.read_int( if ram_dump.kernel_version >= (4,4,0):
irq_desc + irq_common_data_offset + affinity_offset) affinity = ram_dump.read_int(
irq_desc + irq_common_data_offset + affinity_offset)
else:
affinity = ram_dump.read_int(
irq_desc + affinity_offset)
irqcount = ram_dump.read_int(irq_desc + irq_count_offset) irqcount = ram_dump.read_int(irq_desc + irq_count_offset)
action = ram_dump.read_word(irq_desc + irq_action_offset) action = ram_dump.read_word(irq_desc + irq_action_offset)
kstat_irqs_addr = ram_dump.read_word(irq_desc + kstat_irqs_offset) kstat_irqs_addr = ram_dump.read_word(irq_desc + kstat_irqs_offset)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment