Skip to content
Snippets Groups Projects
Commit ae7674a5 authored by Shivendra Pratap's avatar Shivendra Pratap
Browse files

Fix irqstate for kernel version > 4.20


Fix irqstate for kernel version > 4.20. Some
variables related to radix tree have changed.

Change-Id: I404455b8ae29c7ea0032ad1ef456eb0a32b99c5d
Signed-off-by: default avatarShivendra Pratap <spratap@codeaurora.org>
parent 1a8a51b8
No related branches found
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