blob: b26ecf1f7f1fac32fff4461e74fe2ee601ab86c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import gdb
from teachos import format_size
class KapiBootModulesBootModulePrinter(gdb.ValuePrinter):
def __init__(self, val):
self.__val = val
self.__name = val["name"]
self.__start = val["start_address"]
self.__size = val["size"]
self.__pointer_type = gdb.lookup_type("std::byte").pointer()
self.__pretty_name = " " + str(self.__name) if str(self.__name) != '""' else ""
def to_string(self):
return f"boot module{self.__pretty_name} of size {format_size(int(self.__size))}, at {self.__start.cast(self.__pointer_type)}"
def children(self):
yield ("name", self.__name)
yield ("start_address", self.__start)
yield ("size", self.__size)
def display_hint(self):
return None
|