diff options
author | Brett Weiland <brett_weiland@bpcspace.com> | 2021-03-19 10:54:25 -0500 |
---|---|---|
committer | Brett Weiland <brett_weiland@bpcspace.com> | 2021-03-19 10:54:25 -0500 |
commit | 66289aa8ecfa07b20bad424eb9860b196641ef52 (patch) | |
tree | 9fb3915b5cb18d9f2c1f4648d3bf3fb56396509f /tools |
first commit
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/edid/bparse-edid | 16 | ||||
-rw-r--r-- | tools/edid/desktop_edid | bin | 0 -> 128 bytes | |||
-rw-r--r-- | tools/edid/laptop_edid | bin | 0 -> 128 bytes | |||
-rwxr-xr-x | tools/page/page.py | 29 |
4 files changed, 45 insertions, 0 deletions
diff --git a/tools/edid/bparse-edid b/tools/edid/bparse-edid new file mode 100755 index 0000000..9983102 --- /dev/null +++ b/tools/edid/bparse-edid @@ -0,0 +1,16 @@ +#!/usr/bin/env python3 +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument('edid_file', type=str, help="edid file") +args = parser.parse_args() + +f = open(args.edid_file, 'rb') +edid = f.read() +x = edid[56] | ((edid[58] & 0xf0) << 4) +y = edid[59] | ((edid[61] & 0xf0) << 4) + +print("resolution: {} x {}".format(x, y)) + +f.close() + diff --git a/tools/edid/desktop_edid b/tools/edid/desktop_edid Binary files differnew file mode 100644 index 0000000..a0e0ae3 --- /dev/null +++ b/tools/edid/desktop_edid diff --git a/tools/edid/laptop_edid b/tools/edid/laptop_edid Binary files differnew file mode 100644 index 0000000..1e011e3 --- /dev/null +++ b/tools/edid/laptop_edid diff --git a/tools/page/page.py b/tools/page/page.py new file mode 100755 index 0000000..03d8e32 --- /dev/null +++ b/tools/page/page.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +from math import ceil as c +def get_offsets(addr): + if addr % 4096: + print("You must align to 4096!") + return 0 + if addr > 2 ** 47: + print("Address too big!") + return 0 + + + pte = (addr >> 12) & 0x1ff + pde = (addr >> 21) & 0x1ff + pdpe =(addr >> 30) & 0x1ff + pml4 =(addr >> 39) & 0x1ff + print("pte:\t{}\npde:\t{}\npdpe:\t{}\npml4:\t{}".format(pte, pde, pdpe, pml4)) + +def get_table_size(addr): + pte_cnt = c(c(addr / (1 << 12)) / 512) * 512 + pde_cnt = c(c(addr / (1 << 21)) / 512) * 512 + pdpe_cnt = c(c(addr / (1 << 30)) / 512) * 512 + pml4_cnt = c(c(addr / (1 << 39)) / 512) * 512 + + + return((pte_cnt + pde_cnt + pdpe_cnt + pml4_cnt) * 8) + +ts = get_table_size(68719476736) +print(hex(ts)) + |