aboutsummaryrefslogtreecommitdiff
path: root/kapi/gdb/boot_modules/boot_module_registry.py
blob: 599a8234ce720a4f0378fb89554b67f9feeea3fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import gdb
from teachos import format_size


class KapiBootModulesBootModuleRegistryPrinter(gdb.ValuePrinter):
    def __init__(self, val: gdb.Value):
        self.__val = val
        self.__modules = val["m_modules"]
        self.__size = int(self.__modules["m_size"])
        self.__element_type = gdb.lookup_type("kapi::boot_modules::boot_module")

    def to_string(self):
        return f"boot module registry of size {self.__size}"

    def children(self):
        yield ("[size]", self.__size)
        yield ("m_modules", self.__modules)

    def display_hint(self):
        return None