Commit graph

1199 commits

Author SHA1 Message Date
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