Commit graph

1098 commits

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