init
D = TypeVar('D')
module-attribute
¶
P = ParamSpec('P')
module-attribute
¶
T = TypeVar('T')
module-attribute
¶
Aarch64Ops
¶
Bases: ArchOps
PAGE_OFFSET = -1 << self.VA_BITS + 2 ** 64
instance-attribute
¶
PAGE_SHIFT = int(kconfig()['CONFIG_ARM64_PAGE_SHIFT'])
instance-attribute
¶
PHYS_OFFSET = pwndbg.aglib.memory.u(addr)
instance-attribute
¶
STRUCT_PAGE_SHIFT = int(math.log2(self.STRUCT_PAGE_SIZE))
instance-attribute
¶
STRUCT_PAGE_SIZE = page_type.sizeof
instance-attribute
¶
VA_BITS = int(kconfig()['ARM64_VA_BITS'])
instance-attribute
¶
VMEMMAP_SHIFT = self.PAGE_SHIFT - self.STRUCT_PAGE_SHIFT
instance-attribute
¶
VMEMMAP_START = -1 << self.VA_BITS - self.VMEMMAP_SHIFT % 1 << 64
instance-attribute
¶
__init__()
¶
page_size()
¶
page_to_pfn(page)
¶
paging_enabled()
staticmethod
¶
per_cpu(addr, cpu=None)
¶
pfn_to_page(pfn)
¶
pfn_to_phys(pfn)
¶
phys_to_pfn(phys)
¶
phys_to_virt(phys)
¶
virt_to_phys(virt)
¶
ArchOps
¶
Bases: ABC
page_size()
abstractmethod
¶
page_to_pfn(page)
abstractmethod
¶
page_to_phys(page)
¶
page_to_virt(page)
¶
per_cpu(addr, cpu=None)
abstractmethod
¶
pfn_to_page(phys)
abstractmethod
¶
pfn_to_phys(pfn)
abstractmethod
¶
pfn_to_virt(pfn)
¶
phys_to_page(phys)
¶
phys_to_pfn(phys)
abstractmethod
¶
phys_to_virt(phys)
abstractmethod
¶
virt_to_page(virt)
¶
virt_to_pfn(virt)
¶
virt_to_phys(virt)
abstractmethod
¶
i386Ops
¶
x86Ops
¶
x86_64Ops
¶
Bases: x86Ops
START_KERNEL_map = 18446744071562067968
instance-attribute
¶
STRUCT_PAGE_SHIFT = int(math.log2(self.STRUCT_PAGE_SIZE))
instance-attribute
¶
STRUCT_PAGE_SIZE = pwndbg.aglib.typeinfo.load('struct page').sizeof
instance-attribute
¶
VMEMMAP_START = 18434359174734282752
instance-attribute
¶
page_offset: int
property
¶
page_shift: int
property
¶
phys_base = 16777216
instance-attribute
¶
ptr_size: int
property
¶
__init__()
¶
cpu_feature_capability(feature)
staticmethod
¶
page_to_pfn(page)
¶
per_cpu(addr, cpu=None)
¶
pfn_to_page(pfn)
¶
uses_5lvl_paging()
staticmethod
¶
virt_to_phys(virt)
¶
BIT(shift)
¶
arch_ops()
¶
get_first_kernel_ro()
¶
Returns the first kernel mapping which contains the linux_banner
get_idt_entries()
¶
Retrieves the IDT entries from memory.
has_debug_syms()
¶
is_kaslr_enabled()
¶
kbase()
¶
kcmdline()
¶
kconfig()
¶
krelease()
¶
kversion()
¶
load_kconfig()
¶
nproc()
¶
Returns the number of processing units available, similar to nproc(1)
num_numa_nodes()
¶
Returns the number of NUMA nodes that are online on the system