Commit graph

707 commits

Author SHA1 Message Date
Martin Povišer
38ca45816f m1n1.hw.admac: Support early poll() exit
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Martin Povišer
f353017ac6 m1n1.hw.loadobjs: Accept queer call methods
Let user specify a call method to use on symbols.

Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Martin Povišer
dcc75ab4f1 m1n1.hw.mca: Document the feedback disable
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Martin Povišer
9e32a75bc6 experiments/speaker_amp.py: Remove dead power-domain call
/arm-io/mca0 doesn't have a PD (instead /arm-io/mca-switch has the MCA0
domain).

Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Martin Povišer
2579a97fde m1n1.loadobjs: Avoid pasting paths into cmdline strings
Do not go through a formatted cmdline string when invoking tools. There
are user-controlled paths involved which can contain spaces (and other
foul characters).

Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Martin Povišer
72c6170ee8 m1n1.loadobjs: Support loading of inline C snippets
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Hector Martin
9212ac2036 m1n1.hw.asc: Add more mailbox control fields
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-05-30 23:23:37 +09:00
Janne Grunau
12db5c3910 tools/reset_panic_counter.py: Use ADT to support t600x
In addition make it executable and add python shebang as for the other
tools.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-05-30 22:56:43 +09:00
Janne Grunau
8a90ced4b4 tools/reset_panic_counter.py: minor fixes
- add SPDX-License-Identifier
 - make it executable
 - add python shebang
 - remove unused import

Signed-off-by: Janne Grunau <j@jannau.net>
2022-05-30 22:56:43 +09:00
Sven Peter
afe9c9bb16 proxyclient: add AES experiment
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-05-30 22:54:50 +09:00
Sven Peter
ee045af977 proxyclient: add AES registers
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-05-30 22:54:50 +09:00
Janne Grunau
8c82a7cb92 m1n1.fw.dcp.ipc: Add Call/Callbacks observed while tracing macos 12.3
Signed-off-by: Janne Grunau <j@jannau.net>
2022-05-30 22:49:00 +09:00
Janne Grunau
5ef9197edc m1n1.fw.dcp.ipc: Annotate 'swap_complete_ap_gated' arguments
Signed-off-by: Janne Grunau <j@jannau.net>
2022-05-30 22:49:00 +09:00
Janne Grunau
8119130e88 hv/trace_dcp.py: update to mac OS 12.3 API
Verified calls A000 through A358 due to inconsistencies in the trace
log for A104 and A105.

Signed-off-by: Janne Grunau <j@jannau.net>
2022-05-30 22:49:00 +09:00
Janne Grunau
8366bcd859 m1n1.fw.dcp.ipc: Update struct sizes to macos 12.3 firmware
Signed-off-by: Janne Grunau <j@jannau.net>
2022-05-30 22:49:00 +09:00
Akihiko Odaki
4a67fbe10e m1n1.shell: Don't save history if init failed
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-05-30 22:48:40 +09:00
Akihiko Odaki
3440aadc3c proxy: Specify coordinates in fb_fill method
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-05-30 22:47:26 +09:00
Hector Martin
45ac8633bd m1n1.shell: Don't print bools as hex
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-05-30 22:38:30 +09:00
Hector Martin
e9080b8139 hv: Don't allow lower() on non-fault states
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-05-30 22:38:11 +09:00
Hector Martin
984b22cd51 m1n1.hv,proxyutils: Refactor how faults are printed re: context
Instead of directly taking a proxy entry code to determine what to
decode, just take an is_fault argument and only show and decode ESR/FAR
if true.

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-05-30 22:36:37 +09:00
Hector Martin
7c5d47ff85 m1n1.hv: Use hv.run_shell() everywhere
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-05-30 22:35:49 +09:00
Hector Martin
8eeb7966aa hv: Refactor CPU switch logic, make hv.cpu() not exit shell
Get rid of the hv_rearm() thing (which was always a bit dodgy) and
instead properly make sure that all CPUs rendezvous when needed and
switch the active proxy thread without ever exiting exception context.

The Python side can now switch proxy context (by waiting directly for
a proxy boot) without having to exit out of the hypervisor callback,
so cpu() now works as a normal Python method.

Add a cpus() iterator so you can do things like:

>>> for i in cpus(): bt()

Signed-off-by: Hector Martin <marcan@marcan.st>
2022-05-30 22:33:44 +09:00
Hector Martin
01a1a0f597 hv: Make time stealing run-time configurable
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-05-30 19:37:23 +09:00
R
dd111b22b8 prores: test 36-bit iova; fix tracer
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
8406d44db3 prores: some cleanups
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
fb968ef3fe prores: figure out output size
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
2cc5c9488f prores: rename some variables
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
200bdf9ce6 prores: figure out alpha
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
270da3849b prores: input format / chroma flags
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
b95baad365 prores: figure out offset
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
846b1cb37b prores: get data into block the correct way
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
fbd63c4bc7 prores: legible image with wrong colors
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
6986aa9c81 prores: sizes are less huge now
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
da6c8379fd prores: make container hack slightly smarter
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
479fe52128 prores: play with sizes
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
95ff15f2bd prores: load in some luma stuff
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
2b6e1ed218 prores: this bug got perturbed away
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
6fff4af32f prores: add a big fat hack so we can actually look at the output
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
baf5ebcde9 prores: clarify
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
0328517051 prores: picture header fields
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
af8ebc03ef prores: figure out frame header stuff
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
014edb643c prores: ack IRQ
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
7af2335cda prores: initial work on an experiment
it appears to succeed, but no data is written to the output

Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
66c019cfec prores: trace enough to dump some buffers
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
3970b25add prores: start tracing descriptors
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
3f60769b39 prores: add results of register bruteforce
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
R
6a8a816bfa prores: initial commit
Signed-off-by: R <rqou@berkeley.edu>
2022-05-30 18:05:16 +09:00
Janne Grunau
d5ceafe41d m1n1.hv: fix argument names in HV.trace_range()
event_mmio() uses 'start' kwarg since 'zone' conflicts with
add_tracer()'s argument of the same name.

Fixes
TypeError: HV.add_tracer() got multiple values for argument 'zone'

Signed-off-by: Janne Grunau <j@jannau.net>
2022-05-25 15:24:05 +09:00
Asahi Lina
d44306a1c7 m1n1.agx: Initial AGX client scaffolding
Moves things from m1n1.fw.agx to here; the fw object will only do the
basic ASC stuff, GPU management gets its own object.

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
ae1a8ad504 m1n1.fw.agx.initdata: Remove complex creation code
Moving this to its own place

Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00