Hector Martin
6d0979e71e
m1n1.adt: Decode apcie tunables
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-21 23:16:08 +09:00
Martin Povišer
526f81f51e
m1n1.hw.codecs: Add iMac codec
...
Signed-off-by: Martin Povišer <povik@cutebit.org>
2023-08-17 19:50:09 +09:00
Asahi Lina
37ad9f7df6
m1n1.fw.dcp.ipc: Fix assert
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-08-17 19:46:07 +09:00
Asahi Lina
31da584be8
m1n1.fw.agx: Helpers everywhere!
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-08-17 19:46:07 +09:00
Asahi Lina
7f94c7f39a
tools.chainload.py: Fixes for 13.5
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-08-17 19:46:07 +09:00
Alexis Deruelle
b2e5b3ef00
proxyclient:picocom-sec.sh:warn when overriding SECDEV
...
Add a warning message when overriding the target serial device with
SECDEV variable, just in case one is caught by surprise there.
Signed-off-by: Alexis Deruelle <alexis.deruelle@gmail.com>
2023-08-17 19:45:13 +09:00
Alexis Deruelle
21a403a163
proxyclient:tools:add default device name for macOS
...
Under macOS host, secondary UART device name is different from the linux
device name. Check OS name and chose default device name accordingly.
Signed-off-by: Alexis Deruelle <alexis.deruelle@gmail.com>
2023-08-17 19:45:13 +09:00
Alexis Deruelle
0673a226c9
proxyclient:m1n1:rely on UartInterface defaults when creating object
...
- in 'main' section, device name and baud values are redundant as the
UartInterface constructor handles it already
- Add a comment on how to run proxy.py as script
Signed-off-by: Alexis Deruelle <alexis.deruelle@gmail.com>
2023-08-17 19:45:13 +09:00
Alexis Deruelle
bd82c5f47a
proxyclient:m1n1:add macOS device name for m1n1 primary UART
...
m1n1 UART device names on macOS follow /dev/cu.usbmodemP_XX naming
convention. Check for platform name using platform.system() and use the
macOS device name instead of /dev/m1n1 if equals 'Darwin'
Signed-off-by: Alexis Deruelle <alexis.deruelle@gmail.com>
2023-08-17 19:45:13 +09:00
Davide Cavalca
6bca5f77e1
m1n1.asm: make it work again with gcc
...
Signed-off-by: Davide Cavalca <davide@cavalca.name>
2023-08-15 18:27:51 +09:00
Hector Martin
31930a25f7
m1n1.hv: Add t6022 cpustart
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-07 19:27:47 +09:00
Hector Martin
33ef9cdaa8
m1n1.adt: Fix GPUPerfStates64 for T6022
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-08-07 19:27:47 +09:00
Asahi Lina
538693a05a
hv/trace_agx{_defer}.py: Enable command dumps
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
d437d04dd4
m1n1.trace.agx: Fix broken TA parsing
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
d2cb85d048
m1n1.trace.agx: Add a missing UAT inval
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
6e40dd9aaa
m1n1.trace.agx: Add AGXDECODE solib support & trace VDM
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
825fbaf1ec
m1n1.agx.initdata: Split buffer manager mappings between GPU/FW
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
817b48dbc9
m1n1.fw.agx & co: Unbork a bunch of stuff on <G14X
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
b270f2f86c
m1n1.agx: Handle pending stamps properly for V13_5B4
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
6761cd2d53
m1n1.fw.agx: Blit stuff for G14X
...
Just hacking on the structures to get it to dump, this probably broke
other firmware combinations...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
788a5b9866
m1n1.trace.agx: Changes to unbreak G14X tracing
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
40c9dfe128
m1n1.trace.agx: Skip tracing the stats queue
...
This is spammy and sometimes so slow it blocks forever. Let's explicitly
remove these ranges from the GPUVM tracer.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
d743db30b6
m1n1.trace.agx: Add extra dumping around TVB control messages
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
8ae5c219dc
m1n1.trace.agx: Add support for dumping commands as json
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
61678c4231
m1n1.fw.agx: Add compute changes for G14X
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-11 01:49:13 +09:00
Asahi Lina
34df83601c
m1n1.fw.agx: Add TVB growth control messages
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-07 13:50:13 +09:00
Asahi Lina
9e63f885e9
m1n1.fw.agx.initdata: Add 13.5B4 G14X initdata changes
...
Simple for once!
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-07 13:25:19 +09:00
Asahi Lina
6a149e5028
m1n1.constructutils: Improve json serialization of Value types
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-07-07 13:24:26 +09:00
Asahi Lina
311385e645
m1n1.trace.agx: Dump some buffers on G14X from register values
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
6902cb6210
m1n1.trace.agx: Disable the ASC tracer after initdata is available
...
Since we directly trace the queue rptr/wptr memory locations, we don't
need the ASC tracing and this speeds things up quite a bit (without it,
Linux can get stuck in a pathological stats gathering loop without
making forward progress while traced).
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
b219bc318a
m1n1.fw.agx: Fixes for V13_3
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
b6dec2a644
m1n1.constructutils: Improve Rust export
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
c2bbb41953
m1n1.fw.agx: More fixes for t602x stuff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
1c7131e26d
m1n1.agx: T602x rendering changes
...
Too lazy to split this up...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
af6b8c29a8
m1n1.constructutils: Fix array addressing bug
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
b29c9734ad
m1n1.adt: Add float parsing for *-kp-1
props.
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
dabde44937
m1n1.fw.agx: Initdata setup & fixes for G14X/V13_3
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
e4fa6048c2
m1n1.fw.agx: Add changes for G14X on 13.2 and 13.3
...
Still pending confirming 13.3 on other architectures...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
d3e61153cc
m1n1.trace.agx: Do not dump misc structs
...
These are no longer there with the register lists, and it's all
redundant anyway...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
2dbbe6050d
m1n1.fw.agx.initdata: T602x 13.3 initdata structure changes
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
18005b0f73
m1n1.fw.agx.initdata: T602x 12.3 initdata structure changes
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
83a2a6a9bc
m1n1.adt: Add afr/cs perf state props
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
0f1f3b23ee
m1n1.trace.agx: Run the init_hook before the shell
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
f7639885ce
fw.agx.channels: Don't crash if meta_fn is None
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Hector Martin
a0d2ed20be
payload: Do cpufreq init before smp_start_secondaries()
...
This also requires exporting this to the proxy so linux.py can use it.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-04 15:56:42 +09:00
Hector Martin
4124485265
hv: Make breadcrumbs per-CPU and introduce panic handler
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-03 12:47:39 +09:00
Hector Martin
db598aa4cf
m1n1.hv: Fix register names
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-21 12:29:13 +09:00
Hector Martin
ae1bcd6fe2
m1n1.hv: Update IMPDEF reg names
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-06 00:51:30 +09:00
Hector Martin
6c005ddd49
asm: Fix replacing reg names that are substrings (DAIF etc)
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-06 00:51:05 +09:00
Hector Martin
234b7064ef
experiments/aic2_vms.py: New experiment
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 02:02:19 +09:00
Hector Martin
ebd4613f61
proxy: Add smp_call[_sync]_el1 variants
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 00:31:05 +09:00
Janne Grunau
7a84b2bbf9
tools/run_guest_kernel.sh: Support concatenated initramfs images
...
This allows booting a kernel with the firmware cpio and a cpio
containing matching modules. The modules initramfs can be prepared from
the kernel source directory with:
`make dir-pkg && usr/gen_initramfs.sh -o initramfs_mod.cpio -u squash -g squash ./tar-install/lib/`
The modules are available in /modules/$(uname -r) and the initramfs can
handle modules in the same way as the vendor firmware to make them
available for itself and the main OS.
Signed-off-by: Janne Grunau <j@jannau.net>
2023-04-27 04:09:49 +09:00
Hector Martin
54f44be7d6
hv_exc: Add hv_add_time() function & proxy thunk
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-26 00:51:51 +09:00
Hector Martin
a0f01809ce
experiments/touchbar_rainbow.py: Better rainbow
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-23 18:12:09 +09:00
Hector Martin
a81314fe77
run_guest: Implement going to sleep
...
Getting back from sleep is left as an exercise to the reverse
engineer...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 03:21:58 +09:00
Hector Martin
06b732e788
smp: Add smp_stop_secondaries()
...
Doesn't work properly yet since we can't restart them...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 03:21:58 +09:00
Hector Martin
3288548faa
utils: Add cpu_sleep() function
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 03:21:58 +09:00
Hector Martin
4638632657
hv: Implement emulated guest CPU shutdown
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 01:21:33 +09:00
Hector Martin
4d7b18d382
m1n1.proxy: Support negative arguments
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 01:02:03 +09:00
Hector Martin
a75afff83b
hv_exc: Pass through dangerous CYC_OVRD writes to Python
...
This makes it easier to experiment with the sleep/WFI stuff.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-18 23:36:55 +09:00
Hector Martin
a1be8f233c
m1n1.fw.smc: Add read32f()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-18 22:09:07 +09:00
Hector Martin
7f9eaecbad
m1n1.asm: Textually replace sysregs with their identifier
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-18 22:08:41 +09:00
Hector Martin
b57a91726d
experiments/cpu_pstate_latencies.py: Fix stuff
...
Extra pstates only for J416c, drop the second pstate field sets (still
no idea what that does), fix a mask.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-18 21:55:12 +09:00
Asahi Lina
8f6e13b170
firmware: Add 13.3
...
This has the same iBoot version as 13.3.1, so firmwares probably did not
change.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-04-18 20:45:10 +09:00
Hector Martin
88b1866fcc
experiments/spi.py: Cleanup/updates
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-16 21:23:46 +09:00
Hector Martin
9b7ae1b443
m1n1.fw.mtp: Fix parsing of init messages
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-16 21:23:46 +09:00
Hector Martin
36bcc36173
m1n1.fw.asc.oslog: Implement properly
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-16 21:23:46 +09:00
Hector Martin
d5267123c1
experiments/mtp.py: Clean up
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-16 21:23:46 +09:00
Asahi Lina
19e00f1f23
m1n1.hv: Remove __OS_LOG segments from coprocessors
...
These are supposed to be after the kernel, so we'd have to move them
for the guest to be able to access them. It seems things work if we just
delete those segments.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-04-16 21:23:46 +09:00
Janne Grunau
22890f3ba1
experiments: Optimize bad apple video playback
...
Let ffmpeg rotate, align to stride and convert to RGBA.
Do not allocate a framebuffer for every frame.
Signed-off-by: Janne Grunau <j@jannau.net>
2023-04-16 17:11:33 +09:00
Sasha Finkelstein
5681036b2e
Add touchbar screen experiments
...
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
2023-04-15 17:23:36 +09:00
Hector Martin
ad53766d22
m1n1.fw.asc.{crash, ioreporting}: Do not align prealloc buffer sizes
...
On SMC on t602x, this is a small SRAM and we can run off the edge.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-12 00:40:06 +09:00
Hector Martin
aaeb3000e6
m1n1.hv: t6020 support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-12 00:40:06 +09:00
Hector Martin
3bc3b0131f
tools/pmgr_adt2dt.py: Add multidie support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-09 23:50:42 +09:00
Hector Martin
06884b5613
experiments/cpu_pstate_latencies.py: Fix SoC configs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-09 21:04:40 +09:00
Hector Martin
2389fa9d3d
m1n1.adt: Fix parsing of template ADTs
...
Adding the speaker calibration stuff broke it because we try to parse
template values as real values. Don't do that.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-09 19:46:13 +09:00
Hector Martin
fe104d3848
m1n1.hv: Also hook ATC_AON device
...
It seems 13.2 is messing with this now.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-09 19:46:13 +09:00
Hector Martin
795211c534
m1n1.fw.dcp.ipc: More fields
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-09 19:46:13 +09:00
Mario Hros
693ebbae2b
m1n1.hv: Support T6021 cpustart offset
...
Signed-off-by: Mario Hros <git@reversity.org>
2023-04-09 19:46:13 +09:00
Mario Hros
69012c0702
experiments/cpu_pstate_latencies.py: Extend for T6021
...
Signed-off-by: Mario Hros <git@reversity.org>
2023-04-09 19:46:12 +09:00
Asahi Lina
8bf08b0ff1
linux.py: Implement TSO
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-28 19:06:20 +09:00
Asahi Lina
0a05a0171e
proxy: Add smp_is_alive() thunk
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-28 19:06:20 +09:00
Eileen Yoon
6ce14d8735
m1n1/ane: Initial commit
...
Signed-off-by: Eileen Yoon <eyn@gmx.com>
2023-03-28 17:10:15 +09:00
Hector Martin
8be0596ae8
experiments/mtp.py: Fix DART stuff
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-15 13:54:35 +09:00
Hector Martin
43a737b608
m1n1.adt: Add speaker calibration parsing
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-11 20:09:57 +09:00
Asahi Lina
7ad099a5b6
m1n1.trace.agx: Add exploit mitigation
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
6d3e594903
m1n1.hv: Fix read-only or write-only hooks
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
5cacbdc501
m1n1.fw.agx.initdata: Define buffer manager ctl fields better
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
90f4957725
experiments/agx_xtest.py: Here be exploits!
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
3548d4d210
m1n1.fw.ags.microsequence: Add more ops
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
e8377889d2
m1n1.proxyutils: Add 13.0 beta5/6 versions
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
c35168bb88
m1n1.hw.uat: Gracefully handle inaccessible page tables
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
b063fde19a
m1n1.hw.uat: Support block maps
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
bfaf358f82
m1n1.agx.render: Add microsequence hooks
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
e49c90a314
m1n1.agx.context: Add GPUMicroSequence.cur_addr()
...
This requires that we pre-allocate the buffer
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
586be52ec5
m1n1.trace.agx: Log structure UAT permissions as meta
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
b4c687ce13
m1n1.hw.uat: Add ioperm()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
cc1284f264
hv/trace_agx_defer.py: Exclude context ID 1 (compositor)
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
9a8da80e8d
m1n1.trace.agx: Add exclude_context_id option
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00
Asahi Lina
9e93bd70e4
m1n1.fw.agx: More compute and blit stuff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-03-06 15:15:17 +09:00