Martin Povišer
1836913ef6
m1n1.utils: Accept 'base' in chexundump
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-11-04 12:36:49 +09:00
Martin Povišer
e03603df35
m1n1.utils: Skip empty lines on chexundump input
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-11-04 12:36:49 +09:00
Martin Povišer
f83af93c05
m1n1.utils: Fix chexundump exception
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-11-04 12:36:49 +09:00
R
9a23d55b83
scaler: Can scale W larger
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
642f3af5e8
scaler: Basic scaling kinda works
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
fc6378a86a
scaler: Imports from RE
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
8cea72dfab
scaler: clarify flip/rotate
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
a10865bf11
scaler: Understand most basic of w/h
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
31c80bca04
scaler: work out flip/rotate
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
7559de8705
scaler: Can copy data without changing
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
84e13c7967
scaler: add some unknown regs near the start
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
R
784febab4c
scaler: initial commit
...
Signed-off-by: R <rqou@berkeley.edu>
2022-11-04 12:32:23 +09:00
Kellerman Rivero
404ab21fe4
hv/trace_isp.py: add ISP tracer
...
Image Signal Processor is a co-processor in charge of Facetime camera
in Apple laptops. This tracer is based on ISP found in M1 processor.
The ISP in M1 SoC exposes seven inter-process communication channels.
Using those channels Application Processor (AP) can perform a variety of
task in the ISP and viceversa. All channels seems to be bidirectional, with
unique exception of TERMINAL channel.
DART translation is used often to translate control structures passed
over IPC channels to IO virtual addresses.
How those channels are used is still unclear but tracer should allow us
to dive deep on high-level protocol to communicate with Facetime camera.
ISP exposes also some I2C peripheral and SPMI registers but I haven't
dive into their working or purpose.
Signed-off-by: Kellerman Rivero <krsloco@gmail.com>
2022-11-04 12:30:59 +09:00
Sven Peter
aa3ce98a53
m1n1.hw.atc: Add more registers
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-10-31 18:22:46 +09:00
Hector Martin
0fb9bf6c40
hv/trace_wlan.py: More WLAN tracer stuff
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-10-23 17:22:14 +09:00
Asahi Lina
3e36d18241
tools/run_guest_kernel.sh: Support --
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Asahi Lina
d6d72b6398
hv_exc: Pass through TLBI OS instructions
...
Gues VM TLBI OS instructions don't work. Trap them and pass them through
as the host.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Asahi Lina
4274c9d74a
hv: Log memory attribute & sharability info in mmiotrace
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-10-17 22:14:21 +09:00
Zhuowei Zhang
5836db9305
m1n1.proxy: increase p.call max args to 5 to match proxy.c
...
Commit 6a1a9bfc3c
raised the limit in proxy.c but not in the Python code.
Signed-off-by: Zhuowei Zhang <zhuoweizhang@yahoo.com>
2022-10-11 22:55:53 +09:00
Radovan Blažek
e9e2571a17
proxyclient/m1n1/proxy.py: Add missing returns
...
Return the result in setX, clearX and maskX functions.
Signed-off-by: Radovan Blažek <blazra@gmail.com>
2022-09-28 01:21:47 +09:00
Sven Peter
ded7e58e90
trace_dcp: Add dcpdptx-hdcp-auth-session tracer
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
c1e84bf79c
trace_dcp: Add dcpav-controller-epic tracer
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
c8d606e270
trace_dcp: Add dcpdp-device-epic tracer
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
3e112460cd
trace_dcp: Add dcpav-audio-interface-epic tracer
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
f072434647
trace_dcp: Add dcpdptx-port-epic tracer
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
da8a691023
trace_dcp: Rename EPIC endpoints
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
f5ed6f89b0
trace_dcp: Add SilentEp to shut individual tracers up
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
b5e16b2a67
trace_dcp: Add EPICServiceTracer
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Sven Peter
e1ad6e7e90
trace_dcp: Allow to switch to dcpext
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-09-28 01:21:23 +09:00
Asahi Lina
63345c43ac
m1n1.fw.agx.channels: Map the specific size for each state field type
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
13cfe5028f
m1n1.fw.agx.initdata: Replace padding with explicit fields
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
202781f4f1
m1n1.fw.agx.initdata: Fix number of buffer managers
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
35b33fdd28
m1n1.trace.agx: Fix number of UAT contexts
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
d1a3b8c7fa
experiments/agx_dumpstructs.py: Dump microsequence
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
88603e153c
hv/trace_agx_defer.py: Add another tracer variant
...
This one configures it to stop tracing after init, good for
self-contained tests
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
d6d17b6b2d
m1n1.fw.asc.crash: Gracefully handle faulting code dumps
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
83b9d5c13f
m1n1.agx.initdata: Add a field
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
cb9f7cd685
m1n1.proxyutils: Fix instruction cache
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
0aed256416
m1n1.fw.agx: Add Halt message (maybe?)
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
0d3ed156a1
m1n1.constructutils: Add offsetof()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
7889f056f9
m1n1.agx.cmdqueue: Rename Timestamp to TimeStamp
...
This avoids a conflict with Construct
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
8a222a1346
m1n1.agx.context: Print address in hex
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
65d4f7ab80
m1n1.fw.agx.channels & co: Add some KTrace support
...
This is quite handy to see what the firmware is doing
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
7a38d14a0c
m1n1.agx.channels: Complain if the ring pointer overflows
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
0e8a522845
experiments/agx_renderframe.py: Rework based on the other demos
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
fddb8d63e0
m1n1.trace.agx: Allow configurable user/kernel map tracing
...
Also improve the general handling of all this... the logic is still
broken in places.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
35a5e2a838
m1n1.trace.agx: Handle new queue pointer resets properly
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
5dfbd5216c
m1n1.trace.agx: Disable handoff tracer
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
cc29042f97
m1n1.trace.agx: Don't trace Stats/KTrace
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
70b08f6eb3
m1n1.trace.agx: Disable buffermanager dumping
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
01fbc9be41
m1n1.fw.agx.cmdqueue: Fix tail
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
3fa023a0d9
m1n1.hw.uat: Only clear out kernel PTs on init()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
77a00eb5b3
m1n1.hw.uat: Decode permissions properly
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Hector Martin
50f02bb58a
hv/trace_wlan.py: Add WLAN tracer
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-19 19:24:15 +09:00
Hector Martin
6461488450
m1n1.trace.pcie: New module
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-19 19:23:53 +09:00
Hector Martin
83fc313611
m1n1.proxyutils: Support split 64-bit read/write
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-19 19:23:22 +09:00
Hector Martin
ddb3497794
hv/trace_codecs.py: Disable time stealing
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-14 11:55:35 +09:00
Hector Martin
6da0301d6b
m1n1.adt: Add amp-dcblocker-config decoding
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-13 00:26:15 +09:00
Hector Martin
8a44f1ddb2
m1n1.adt: Add speaker-config decoding
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-13 00:18:21 +09:00
Hector Martin
5e26ae26f8
tools/run_guest_kernel.sh: Allow overriding $TMPDIR
...
Also use $XDG_RUNTIME_DIR by default if set
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-12 17:46:31 +09:00
Hector Martin
281784d48e
experiments/dcpext_iboot.py: displayRequest() works now
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-31 02:32:35 +09:00
Hector Martin
501a367310
m1n1.fw.afk.rbep: Update rptr after each packet
...
This seems to unblock things for some reason.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-31 02:29:31 +09:00
Hector Martin
270f864ae9
m1n1.fw.afk.epic: Implement system endpoint & debug enable
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-31 02:14:54 +09:00
Hector Martin
7d999ddf11
m1n1.fw.afk.epic: s/send_cmd/call/ for higher level messages
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-31 02:14:54 +09:00
Hector Martin
2c528baf2d
m1n1.fw.common: Implement OSSerialize build
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-31 02:14:54 +09:00
Hector Martin
041e07b56b
m1n1.fw.afk.epic: Ack notifies (maybe)
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-31 02:14:54 +09:00
Sven Peter
76b878a350
proxyclient/m1n1/hv: Support loading additional symbols from kexts
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-08-30 22:41:58 +09:00
Sven Peter
0f87d79a61
proxyclient/m1n1/macho: Support demangling symbols
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-08-30 22:41:58 +09:00
Javier Alvarez
8a544a8b27
m1n1 entrypoint args for raw binary images ( #240 )
...
* tools/run_guest.py: Allow specifying entrypoint for raw images
This allows running images other than m1n1 that don't have the
entrypoint at 0x800. If unspecified, it defaults to 0x800 for m1n1.
Signed-off-by: Javier Alvarez <javier.alvarez@allthingsembedded.net>
2022-08-30 22:39:20 +09:00
Javier Alvarez
6836e8a72f
tools/chainload.py: Allow specifying entrypoint for raw images
...
This allows running images other than m1n1 that don't have the
entrypoint at 0x800. If unspecified, it defaults to 0x800 for m1n1.
Signed-off-by: Javier Alvarez <javier.alvarez@allthingsembedded.net>
2022-08-30 22:38:38 +09:00
Janne Grunau
5e6a6abcfb
experiments/dcp.py: replace image loading with rainbow
...
A couple of p.memset32() are much faster than uploading an image over
the virtualized uart.
Avoids creating resolution dependent framebuffer data files.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-08-30 22:32:30 +09:00
Janne Grunau
27439718e4
experiments/dcp.py: adapt update_notify_clients_dcp to macos 12.3 API
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-08-30 22:32:30 +09:00
Janne Grunau
583401d630
m1n1.fw.asc: Increase default boot timeout to 3
...
Necessary for running experiments/dcp.py with hv/trace_dcp.py.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-08-30 22:32:30 +09:00
Janne Grunau
4ddf2a9eb6
m1n1.fw.dcp.manager: use kwargs for swap_complete_*
...
Also handle NULL swap_data. Fixes experiments/dcp.py after naming the
parameters in ipc.py.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-08-30 22:32:30 +09:00
Sven Peter
44781f2b72
proxyclient/trace_atc: Add dwc3 PIPEHANDLER regs
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-08-30 22:31:36 +09:00
Sven Peter
236e01808e
proxyclient/trace_atc: Change default settings
...
Trace async because we don't care about DMA buffers yet and disable
dwc3 tracing by default since that's relatively boring.
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-08-30 22:31:36 +09:00
Sven Peter
0aa91e5b98
proxyclient/trace_atc: Add more ATCPHY registers
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-08-30 22:31:36 +09:00
Sven Peter
443194a8cd
proxyclient/trace_atc: Split register definitions from trace_atc.py
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-08-30 22:31:36 +09:00
Sven Peter
f3d34a3765
proxyclient/trace: Allow to specify offset into RegMap
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-08-30 22:31:36 +09:00
amarioguy (Arminder Singh)
7367f91089
set sym_offset if using XNU symbols
...
This is to fix a bug with the hv raw binary patch that caused XNU symbols to stop working.
Signed-off-by: amarioguy (Arminder Singh) <arminders208@outlook.com>
2022-08-30 22:30:04 +09:00
Martin Povišer
ff46ca4118
tools/run_guest.py: Add --append-payload
...
Add command-line option for appending a separate file (or files) to
the payload.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
ed84e15eaa
m1n1.asm: Fix missing DEFAULT_ARCH on Darwin
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
7de6d56274
experiments/speaker_amp.py: Fix AUDIO_P power-domain index
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
bce384e8c4
m1n1.hw.codecs: Define some TAS5770 TDM_* registers
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
4f6a65f481
m1n1.hw.codecs.cs42l84: Extend register definitions
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
42f7f46bdc
m1n1.hw.admac: Add fill_canary()
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
e20509f42d
m1n1.hw.admac: Fix typo
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
3c012da1ee
tools/codecshell.py: Enforce reset (unless given --no-reset)
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
13a15aefc3
m1n1.utils: Add chexundump, inverse of chexdump
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
6fa017cb0b
m1n1.hv: Support hooks on breakpoints
...
Also add clear_hw_bps() to clear all breakpoints.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
4a61e3d50d
m1n1.hostutils: Support accesses wider than kernel granule
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Martin Povišer
27e1499c72
m1n1.hw.hostutils: Add regmap backend over host kernel's regmaps
...
Add utility accessor to the host kernel's regmaps -- allowing one to use
m1n1 RegMaps with the internal regmap structures of the host kernel,
poking behind the back of in-development kernel drivers.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-08-30 22:29:41 +09:00
Hector Martin
846b1a4d6a
tools/run_guest_kernel.sh: Fix usage without initramfs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-30 21:42:16 +09:00
Hector Martin
90b8a47462
tools/run_guest.py: Start HV with ^D
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-30 21:42:00 +09:00
Hector Martin
b6823890db
m1n1.utils: RegMap: Fix aliasing...
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-30 21:41:45 +09:00
Hector Martin
692817f382
experiments/dcpext_iboot.py: Separate experiment for dcpext stuff
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-30 21:39:38 +09:00
Hector Martin
d0ba79fde2
m1n1.fw.dcp: Support multi-unit EPIC services, refactor, add stuff
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-30 21:38:45 +09:00
Hector Martin
5ed8991c38
m1n1.utils: RegMap: Fix inheritance
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 18:10:16 +09:00
Hector Martin
4ed4dea56e
m1n1.hv: Make TLBOS op tracing optional
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:25:40 +09:00
Hector Martin
5456642834
tools/run_guest_kernel.sh: Support specifying kernel
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:14:33 +09:00
Hector Martin
a47b590776
m1n1.adt: Add translate() method
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:03:02 +09:00
Hector Martin
29a85d6857
Makefile, asm.py: Work on native arm64 by default
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:03:01 +09:00
Asahi Lina
a010a2fc36
m1n1.hw.uat: Clear out any stray page tables on init
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-19 02:04:08 +09:00
Asahi Lina
5ec5def953
m1n1.hw.agx: Better fault decoding
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-19 02:03:18 +09:00
Asahi Lina
85b4dc6b27
m1n1.agx.object: Fix noncoherent object unmap dance
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-18 21:39:01 +09:00
Asahi Lina
fafe5c8c62
m1n1.fw.agx.handoff: Fix args & flush fields
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-18 21:38:38 +09:00
Asahi Lina
a87d85a7a2
m1n1.constructutils: Do not print Ver-disabled fields
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-18 21:26:00 +09:00
Asahi Lina
b95860ee10
m1n1.fw.agx.initdata: Unbreak 12.3 firmware
...
I knew I'd mess something up here...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-18 21:25:28 +09:00
Asahi Lina
690ff9bde8
tools/run_guest_kernel.sh: Allow passing HV args
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-18 02:05:49 +09:00
Asahi Lina
cfca18b83a
experiments: Add misc AGX experiments
...
A lot of these are broken/out of date with the current code, but it's
good to have them committed...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
2506ccf63f
m1n1.agx.render: Misc field value changes (CHECK!)
...
Things I changed during the 13.0b4 port. These are all suspect and we
really should figure out what they do.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ffb42cabc7
m1n1.agx.render: Only blit 1920px wide FBs, disable depth dumps
...
This is a hack anyway. Almost all my demos/tests work with this
particular logic right now.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
2b1bb76416
m1n1.agx.render: Log event IDs
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
b0f8700796
m1n1.agx.render: Add support for input barriers
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
fc887ac570
m1n1.agx.render: Updates for struct changes and 13.0b4 support
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8f7d1a9a9c
m1n1.fw.agx.microsequence: Updates for 13.0b4 and fixes
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
88de83422a
m1n1.fw.agx.cmdqueue: Updates for 13.0b4 support and misc
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
a4bfc4a9b8
m1n1.agx.event: Log when flag messages are received
...
This makes the event grouping visible
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
d96d17d36a
m1n1.agx.initdata: Disable the idle time overrides
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
dc3a39a2c7
m1n1.agx.object: Show object type in the Construct path
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
7f9d8a343c
m1n1.agx.channels: Add support for more DeviceControl messages
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
3ad561bc25
HACK: Disable Stats message parsing
...
The size changed in 13.0b4, need to figure out the new size...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
35067afec3
m1n1.fw.agx.channels: Fix KTrace message size/count
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
59bce08297
m1n1.fw.agx.channels: Fix TimeoutMsg field
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
f4daec5869
m1n1.fw.agx.channels: Add some more DeviceControl messages
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
b189e6a0ba
m1n1.fw.agx.channels: Switch a bunch of things to ZPadding
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
6441fe11cd
m1n1.fw.asc: Increase default boot timeout to 2
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
e8ce458dd5
m1n1.fw.agx.initdata: Updates for 13.0b4 support
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
6a99f397de
hv/trace_agx.py: Automatically set version
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
2b06a62b63
m1n1.proxyutils: Add support for figuring out firmware version
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ccbb943993
m1n1.construcutils: Add to_rust() to generate Rust struct defs
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8e3d6b1b52
m1n1.constructutils: Add Ver() versioning support
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
da40a6d843
m1n1.constructutils: Add ZPadding type
...
Like Padding, but actually asserts that the contents are zeroed.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
9aaac03907
m1n1.trace.agx: Print work item addresses
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
71e24171be
m1n1.trace.agx: Check for ring buffer overflow
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
5b9c709753
m1n1.trace.agx: s/NewInitData/InitData/
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
2ce4db9d8d
experiments/dcp_iboot.py: Fix p.display_shutdown() call
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
4923dd1e2e
m1n1.agx.shim: Optimize GBM buffer polling/copying
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
6ddc79a6eb
m1n1.agx.shim: Add log() method
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
15ba9aa55c
m1n1.agx.shim: Allocate GPU context explicitly
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
f89a0f5c8d
m1n1.agx.render: Change fb/depth dumping conditions
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
f4a71eecb0
m1n1.agx.render: Log more/less stuff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
818ba31268
m1n1.agx.render: More random field value updates
...
Some of these really need to be investigated...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
e53298a6ca
m1n1.agx.render: Add timestamp objects
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
23e8d463d0
m1n1.agx.render: Rearm events when fired
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
4fa101e0a3
m1n1.agx.render: Keep track of work objects and free them
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
b6fde95d88
m1n1fw.agx.cmdqueue: Update barrier stamp field names
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8923ffdaa4
m1n1.fw.agx.microsequence: More field updates
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
448bcf1bba
m1n1.agx.event: Do not free event when it fires
...
Renderer will reuse events
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
1f7e1b34c9
m1n1.agx.object: Properly do the free() unmap dance
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
2a4b408678
m1n1.agx.object: Optimize handling of raw buffers
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
76071a4fee
m1n1.agx.context: Add freeing support
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
701714d92b
m1n1.agx.context: Default to shared mappings
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8f5ba29af9
m1n1.agx.context: Add strange map at 0x6fffff8000
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
75ebc3ad31
m1n1.trace.agx: Remove some dumps
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
daf56619df
m1n1.trace.agx: Reset queue tracer on new queue
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
08cc1c3178
m1n1.trace.agx: Add separate kern/user va tracing
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
00625fb8a0
m1n1.trace.agx: Add handoff tracer
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
daa7dfba28
m1n1.trace.agx: Add FWCtl ring tracing
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
04a92ce11c
m1n1.fw.agx: Drop spurious UAT import
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
1275e15b58
m1n1.agx: Add FWCtl ring
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0aee8b7e2e
m1n1.fw.agx: Add FWCtl doorbell function
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
b5c3d9fdd6
m1n1.agx.channels: Add FWCtl ring support
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8631deb731
m1n1.agx: Add the poke_sgx() mystery thing
...
Still don't know what this does...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
fa6edb8fe8
m1n1.agx: Drop uat.early_init()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8a3aad19e9
m1n1.agx: Add show_stats to disable stats printing
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0b37f5599c
m1n1.agx: Update DeviceControl message names
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ae8a4d9c4e
m1n1.fw.agx.channels: Add support for FWCtl ring
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ab136b3234
m1n1.fw.agx.channels: Rename some DeviceControl messages
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
3609cb0f11
m1n1.hv: Trace GPU TLBI operations
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
f705672a7b
m1n1.hv: Actually step through unhandled atomics instead of punting
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0f87d2b4f2
m1n1.hv: Add support for log timestamps, Linux style
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
f81bbcbd61
hv/trace_agx.py: Trace more/less things
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
94084c8ede
m1n1.proxyutils: Lower gzip compression level
...
This is the right tradeoff for the faster dwc3 code.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
bfccbd32e7
m1n1.proxyutils: Support sys/sysl ops (e.g. tlbi)
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
60d69697d3
m1n1.proxyutils: Add instruction cache to speed up repeat inst() calls
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0b787f7d0d
m1n1.fw.agx.initdata: More field updates...
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
a76dd299a8
m1n1.hw.uat: Flush TLB on changes
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
8f2530cf64
m1n1.hw.uat: Clear out new page tables
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
2b6996db63
m1n1.hw.uat: Move handoff code to m1n1.fw.agx.handoff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
ec3fcfc562
m1n1.asm: Upgrade to armv8.4-a
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
0cd85eb14b
m1n1.utils: Hack to recognize NdRange even if a partial reload happened
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
15d04b3778
proxy: Expose hv_write_hcr()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:02:55 +09:00
Asahi Lina
b6d2cc127c
hv_exc: Add support for resetting stolen time delta
...
This is useful to re-sync AGX, since it shares the same timebase as the
CPU.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:01:49 +09:00
Asahi Lina
8cd2865c1f
m1n1.sysreg & co: Add support for op-like sysregs (e.g. TLBI)
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:01:07 +09:00
Asahi Lina
52492350ee
m1n1.fw.agx.cmdqueue: Add support for setting queue priority
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:58:37 +09:00
Asahi Lina
a0aa41c743
m1n1.fw.agx.cmdqueue: Rename uuid field
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:58:19 +09:00
Asahi Lina
2193b4faff
m1n1.agx.render: Track fewer objects
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:58:04 +09:00
Asahi Lina
4810a868f3
m1n1.agx.render: Use separate TA/3D stamps
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:57:47 +09:00
Asahi Lina
1e0999450d
m1n1.agx.{context,render}: Track fewer objects
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:56:55 +09:00
Asahi Lina
27e161b94e
m1n1.fw.agx.channels: Proper statistics message definitions
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:56:19 +09:00
Asahi Lina
06673c40ba
m1n1.agx: str() arguments to log()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:55:56 +09:00
Asahi Lina
96e4979c84
m1n1.agx: Support fault handling and recovery
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:55:39 +09:00
Asahi Lina
cb61ec4146
m1n1.agx: Increase guard page count for default allocators
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:54:44 +09:00
Asahi Lina
cc03bd8877
m1n1.agx: Instantiate SGXRegs
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:52:24 +09:00
Asahi Lina
be386b23c4
m1n1.hw.agx: Add SGXRegs definition
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:51:32 +09:00
Asahi Lina
b3afa720fc
m1n1.construcutils: Add .clone() method
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:49:47 +09:00
Asahi Lina
4bc08e9173
m1n1.constructutils: Abbreviate lists with trailing zero/null items
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:49:22 +09:00
Asahi Lina
5ab443ccd7
m1n1.fw.agx.initdata: Even more updates and new fields...
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:48:42 +09:00
Asahi Lina
ec3cc1bad3
experiments/agx_1tri.py: Updates for new structs
...
This is probably broken anyway, but worth keeping around for
reference...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:07 +09:00
Asahi Lina
554b44c022
m1n1.agx.shim: Add support for dumping frames
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
bbdd86a998
m1n1.agx.render: Lots and lots of updates for new structs, etc.
...
Also add GPUFrame to represent saved GPU frame dumps, and save/load
support.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
d476c03b19
m1n1.agx.object: Auto-push new buffers
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
8647e1102c
m1n1.agx.context: BufferManager fixes, add explicit counter management
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
c94c020197
m1n1.agx.context: Keep track of microsequence length
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
37a7243b7e
m1n1.agx.object: Remember map flags used
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
fac3a5a9b9
m1n1.agx.object: Support polling and diffing
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:46:02 +09:00
Asahi Lina
438ec70baa
m1n1.fw.agx.{cmdqueue,microsequence}: Lots of struct updates
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
54f9f22578
m1n1.fw.agx.channels: Pass __str__ kwargs for diff/etc support
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
bc77092cb7
m1n1.fw.agx.channels: s/Fault2/Timeout/
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
59a00bdb5a
m1n1.agx.event: Log events again
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
80a18f7761
m1n1.agx.context: Caller passes job_list structure
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
027dea9145
m1n1.agx.context: Add a separate allocator for GEM objects
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
85e6208a79
m1n1.agx.shim: Move UAPI to m1n1.agx.uapi
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
5eeed0a8bd
m1n1.hw.uat: Add stream field to control whether to parse recursively
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
8c0b6453f4
m1n1.trace.agx: Disable mon for now
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
6b0f600a33
m1n1.trace.agx: Update for initdata changes
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
277b840a86
m1n1.trace.agx: Log less
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
08c7473c9a
m1n1.trace.agx: Add redump and trace_userva options
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
1f895e1ad2
m1n1.agx: Add timeout handler
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
1c1331a28d
m1n1.agx: Map all structs as shared for now
...
This makes it easier to snoop on what the GPU is doing...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
3182be4fc3
m1n1.agx: Correctly map RX channels as RX
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
3ff716d321
m1n1.agx: Support tracking/diffing objects
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
1e7805284c
m1n1.fw.agx.initdata: Lots of fixes/updates and new fields...
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
4b9bda904d
m1n1.constructutils: Support loading to/from JSON
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
6fad479e08
m1n1.constructutils: Add addrof()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
1fcfa3d0e3
m1n1.constructutils: Optionally do not recurse through pointers
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
203c0135e7
m1n1.construcutils: Correctly set address of structs in lists
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
42af4319de
m1n1.constructutils: Add struct diffing feature
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
2d1151041f
m1n1.constructutils: Keep a global addr->struct map
...
This allows easily identifying pointers to the beginning of structs.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
9a94937e3f
m1n1.constructutils: Add SPDX header, move imports
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
ee59dec6e5
m1n1.gpiola: Support explicitly telling the LA thread to exit
...
Also misc fixes.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
c7254865c0
m1n1.proxy: s/ic_ivac/dc_ivac/
...
This was a typo...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
894f9726e1
m1n1.proxyutils: Switch RegMonitor to use chexdiff32()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
eedaf2941a
m1n1.setup: Always reset PMU boot error counters
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:42:59 +09:00
Asahi Lina
9a39bf15ef
m1n1.utils: Add chexdiff32()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 13:13:34 +09:00
Asahi Lina
af3814c56d
m1n1.gpiola: Support reg/RAM-only tracing properly
...
This also implements compression for reg-only tracing properly.
TODO: should probably change the logic for when both pin and reg change
detection are active.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-05 15:26:05 +09:00
Hector Martin
f09c10b5fa
tools/run_guest_kernel.sh: Fix initramfs support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 15:59:21 +09:00
Hector Martin
4f0be4aa2c
m1n1.hv: Add ctx
shell alias for context
.
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 15:12:55 +09:00
Hector Martin
72cce09c77
m1n1.hv: Improve context printout
...
Make the addresses virtual, add symbols
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 15:12:55 +09:00
Hector Martin
12bff05700
tools/run_guest_kernel.sh: New utility script
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 15:12:55 +09:00
Hector Martin
659093b8bb
scripts/picocom-sec.sh: Add convenience script
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 15:12:55 +09:00
Hector Martin
1247c2b7e4
m1n1.proxy: Default to /dev/m1n1
...
We have udev rules, let's just default to a pretty device name to avoid
conflicts with other devices.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 14:18:39 +09:00
amarioguy
0cf1f393ed
Add raw binary support to HV scripts
...
Signed-off-by: amarioguy <arminders208@outlook.com>
2022-07-30 14:18:39 +09:00
Hector Martin
8ae1d15fac
hv/trace_pmgr.py: Tolerate missing pwrgate-regs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-12 13:08:16 +09:00
Hector Martin
c6e95657c3
experiments/mtp.py: Dump info
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 20:14:48 +09:00
Hector Martin
94a115800a
m1n1.hw.dart: Support sub-instances
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:56:16 +09:00
Hector Martin
ad6b340a3b
experiments/mtp.py: Update to use client
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
e2e093b66c
m1n1.hw.asc: Add .work_pending() and .has_messages()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
0b509daa47
m1n1.constructutils: Handle variable-length tail structs nicely
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
60c523d1a6
m1n1.fw.mtp: MTP client module
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
adae2516fe
m1n1.trace.dockchannel: Add DockChannel tracer
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
4d688062db
experiments/mtp.py: New experiment
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
1526560bd9
m1n1.hw.dockchannel: New module
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
6075388d31
tools/dump_pmgr.py: Do not dump pwrgate regs
...
These are gone in newer ADTs
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
b02eed81f0
m1n1.shell: Add poll_func hook
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
5921631f28
m1n1.setup: Always clear PMU counters
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
b6f358021c
m1n1.hw.dart8110: Pass kwargs through from_adt()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
4d8065807c
m1n1.fw.asc: Make startup/shutdown more proper
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
615878ce68
m1n1.fw.asc: Support setting DART stream and allow physmem passthrough
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-11 19:02:21 +09:00
Hector Martin
4555cc5148
dapf: Initialize DAPFs from the ADT
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-03 23:27:50 +09:00
Hector Martin
eb4fa83bbc
m1n1.hw.spmi: Add some more register defs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-02 00:29:08 +09:00
Hector Martin
4f0c712e16
m1n1.hw.pmu: Don't hardcode PMU address
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-02 00:28:55 +09:00
James Calligeros
a95c6d4de6
hv/trace_mesa: remove butchered tracer gore
...
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2022-07-01 17:58:20 +09:00
James Calligeros
1e2c52b5b3
hv/trace_mesa: rename bindump of fingerprint transfer message
...
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2022-07-01 17:58:20 +09:00
James Calligeros
1f21b6b7b8
hv/trace_mesa: tidy up output and trace SPI regs
...
We weren't tracing the SPI control registers before, and the output
was borked due to changes in m1n1. These have been fixed. Still
doesn't show much useful information..
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2022-07-01 17:58:20 +09:00
Hector Martin
1b8c422202
m1n1.hw.dart8110: Misc fixes
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:47:02 +09:00
Hector Martin
fa4aedefdb
m1n1.hv: Support t8112 cpustart offset
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:47:02 +09:00
Hector Martin
4856e37a79
experiments/cpu_pstate_latencies.py: Support t8112
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:47:02 +09:00
Hector Martin
efc83f61da
m1n1.proxyutils: Add a flag for MMU-less mode
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
6f52823441
m1n1.hw.dart8110: Support multiple instances
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
55ccea6a2d
m1n1.hw.dart8110: Use 32-bit IOVA space by default
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
f3f883c2fc
m1n1.adt: Match PMU properties properly for t8112
...
Apple changed the node name...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
96f59e6322
proxyclient/experiments/aes.py: Add t8110 DART support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
b077c08181
dart: Add dart,t8110 support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
James Calligeros
e2d671d597
hv/trace_mesa.py: add mesa tracer
...
Mesa is Apple's codename for the TouchID sensor. On M1-based
systems, it is connected to the SPI bus and communicates via
SIO on DMA channels 0x18 and 0x19. The application processors
seem to have very little to do with its operation.
After power on, the command buffer is encrypted by the SEP and
very little useful data can be gleaned from snooping the SIO
messages. While the commands are garbled by the SEP, we can see
that it has a few recurring themes:
* A power on routine involving some sort of calibration, perhaps
to get a noise image to subtract from each fingerprint
* A polling mode where it is kicked by the kernel and acks if
there's no finger on the sensor (runs while macOS waits for a
print)
* A data transfer mode, where a SIO message is sent to an unmapped
EP and the fingerprint scanned into memory. Likely triggered by
an interrupt coming off the finger detection ring, but I haven't
been able to verify this.
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2022-06-21 17:22:16 +09:00
Martin Povišer
e2065decbe
m1n1.trace.i2c: Clean up handling of page/immediate split
...
Also fix detection of read being a read of the page control register.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-06-21 17:20:30 +09:00
Martin Povišer
56d8de66db
m1n1.hw.codecs.cs42l84: File the ohmmeter codec regmap
...
Move the regmap from experiments/ to a handier place. Also add the
codec to trace_codecs.py and codecshell.py.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-06-21 17:20:30 +09:00
Martin Povišer
0da13afda8
tools/codecshell.py: Add codec-poking shell
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-06-21 17:20:30 +09:00
Martin Povišer
a8bc1bc3f2
m1n1.hw.i2c: Add I2CRegMapDev base class
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-06-21 17:20:30 +09:00
Martin Povišer
46a5e0450c
experiments/ohmmeter.py: Fill missing definitions
...
Fill in missing headset-interface-related registers into the regmap,
mostly by analogy with CS42L42.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-06-21 17:20:30 +09:00
Martin Povišer
d358563d6c
hv/trace_codecs.py: Trace volume/gain on speaker amps
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-06-21 17:20:30 +09:00
Martin Povišer
97d0130bcc
m1n1.trace.i2c: Extend device tracing
...
Start new class I2CRegMapTracer to trace register accesses on devices
with the usual paged register maps.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-06-21 17:20:30 +09:00
Janne Grunau
dc69227c96
hv/trace_nvme: Trace rtkit interface and remove hardcoded sart address
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-06-21 17:19:32 +09:00
Asahi Lina
512982f4aa
m1n1.agx.shim: New module
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
51abb9082e
m1n1.agx.render: New module
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
2ffc9fb166
m1n1.agx.event: Add a new event manager class
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
31dfb0c071
m1n1.agx.context: Add a pipeline object allocator
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
9688aeb52c
m1n1.agx: Handle faults
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
b10a56f1ff
m1n1.agx: Poll syslog channels first
...
This gets us the syslogs caused by a fault before the actual fault
raises an exception
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
f829afcf80
m1n1.agx: Logging updates
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
610f3e6a11
m1n1.agx.object: Support deallocation
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
3fa3b5abd3
m1n1.agx.object: Support making mon tracking, align to end optional
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
17142da838
m1n1.agx.object: Support setting guard page count
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
6ce60e875c
m1n1.agx.object: Be more efficient for pushes, verbose control
...
- Support compression
- Avoid pushing objects which haven't changed (optionally)
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
f19625f8da
m1n1.fw.agx: Disable some prints
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:31 +09:00
Asahi Lina
cd1803f6dc
experiments/agx_1tri.py: Update for bunny frame, new structs
...
This will be obsolete soon anyway, but for now it runs...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:28 +09:00
Asahi Lina
39f9844431
m1n1.fw.agx: Lots more structure updates / renames
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:54:22 +09:00
Asahi Lina
5a8c54c762
hv/trace_agx.py: Encoder ID filter example
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:37:22 +09:00
Asahi Lina
c34e9f95af
m1n1.hw.uat: Do not always flush PTs, except for the internal allocator
...
This optimizes GPU submissions since the PTs can be flushed just once,
instead of for every UAT manipulation. But we need to flush for the
internal allocator since it is used by RTKit stuff that does not know
how to flush.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:37:22 +09:00