Skip to content
Snippets Groups Projects
Commit 8d58eb76 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Fix irqstate for kernel version > 4.20"

parents 237ff494 ae7674a5
Branches
No related tags found
No related merge requests found
......@@ -96,19 +96,32 @@ class IrqParse(RamParser):
def is_internal_node(self, addr):
radix_tree_entry_mask = 0x3
if self.ramdump.kernel_version > (4, 20, 0):
radix_tree_internal_node = 0x2
else:
radix_tree_internal_node = 0x1
return (addr & radix_tree_entry_mask) == radix_tree_internal_node
def entry_to_node(self, addr):
if self.ramdump.kernel_version > (4, 20, 0):
return addr & 0xfffffffffffffffd
else:
return addr & 0xfffffffffffffffe
def radix_tree_lookup_element_v2(self, ram_dump, root_addr, index):
if self.ramdump.kernel_version > (4, 20,0 ):
rnode_offset = ram_dump.field_offset('struct xarray', 'xa_head')
rnode_shift_offset = ram_dump.field_offset('struct xa_node', 'shift')
slots_offset = ram_dump.field_offset('struct xa_node', 'slots')
pointer_size = ram_dump.sizeof('struct xa_node *')
else:
rnode_offset = ram_dump.field_offset('struct radix_tree_root', 'rnode')
rnode_shift_offset = ram_dump.field_offset('struct radix_tree_node', 'shift')
slots_offset = ram_dump.field_offset('struct radix_tree_node', 'slots')
pointer_size = ram_dump.sizeof('struct radix_tree_node *')
maxindex = 0
# if CONFIG_BASE_SMALL=0: radix_tree_map_shift = 6
maxindex = 0
radix_tree_map_shift = 6
radix_tree_map_mask = 0x3f
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment