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
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
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
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
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
1526560bd9
m1n1.hw.dockchannel: New module
...
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
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
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
b077c08181
dart: Add dart,t8110 support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +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
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
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
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
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
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
Asahi Lina
0c9d64b80c
m1n1.proxyutils: Improve compressed_writemem
...
Make progress arg optional, reduce compression. Spending more time on
gzip does not help speed things up (at least with USB).
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:37:22 +09:00
Asahi Lina
3de894576c
m1n1.trace.agx: Do not pause after init by default
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:37:22 +09:00
Asahi Lina
2ecbe6f39b
m1n1.trace.agx: Monitor some more initdata-referenced areas
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:37:22 +09:00
Asahi Lina
6335e20fae
m1n1.trace.agx: Disable dumping some structures we know about
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 03:37:22 +09:00
Asahi Lina
129726ddbc
m1n1.trace.agx: Add support for filtering by encoder ID
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 01:41:51 +09:00
Asahi Lina
5d245d6ba5
m1n1.utils: Support setting stride in chexdump()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 01:36:56 +09:00
Asahi Lina
ffe2f4104e
fb: Support XBGR pixel format for fb_blit()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-19 01:36:41 +09:00
Asahi Lina
2d317ee515
m1n1/fw/agx/controllist.py: Improve tiler params struct
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-07 01:50:44 +09:00
Asahi Lina
a2affd834b
m1n1.agx.context: Support passing block count to GPUBufferManager
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Asahi Lina
ff7a145d6f
m1n1.agx.context: Support tracking userspace objects
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Asahi Lina
f7fe615251
m1n1.agx.context: Fix allocator protocol
...
.ctx needed for agx.reg_object() to work.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Asahi Lina
f6db8502d1
m1n1.agx.object: Allow aligning VAs properly
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Asahi Lina
77d6e75a1f
experiments/agx_1tri.py: Clean up more fields/structs
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Asahi Lina
ccedb7fb9c
m1n1.constructutils: Prefix struct members with short struct name
...
This makes it easier to grep for stuff across multiple structs.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Asahi Lina
94b1209139
m1n1.fw.agx.cmdqueue: More WorkCommandSubC fields
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Asahi Lina
ecb7de93c9
m1n1.trace.agx: Fix field name
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-06 23:37:42 +09:00
Janne Grunau
b6e9333cd6
m1n1.hw.pmu: Add SPMI PMU support for resetting the panic counter
...
Replace the handrolled implementation in experiments/agx_1tri.py and
tools/reset_panic_counter.py.
In addition reset the panic counter in reboot.py and run_guest.py. If
can reboot or start guests the boot process works fine and macOS
recovery needs to leave us alone.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-06-05 20:58:15 +09:00
Akihiko Odaki
5cea0db10d
m1n1.hv: Introduce gdbserver
...
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-06-04 20:20:21 +09:00
Akihiko Odaki
cd3c3f36b2
m1n1.hv: Add hardware watchpoint support
...
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-06-04 20:20:21 +09:00
Akihiko Odaki
b02a84e1a7
m1n1.hv: Propagate breakpoint change to other CPUs
...
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-06-04 20:20:21 +09:00
Akihiko Odaki
bcbe26d79b
m1n1.hv: Always continue on the stepped thread
...
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-06-04 20:20:21 +09:00
Akihiko Odaki
6babf39184
m1n1.hv: Add a method to write memory
...
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-06-04 20:20:21 +09:00
Akihiko Odaki
0a28817ce2
m1n1.hv: Add a method to read memory
...
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-06-04 20:20:21 +09:00
Akihiko Odaki
16f6d5734b
m1n1.hv: Shadow used debug registers
...
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
2022-06-04 20:20:21 +09:00
Asahi Lina
a22df510c0
m1n1.agx.context: New module for context-related classes
...
GPUContext: GPU context (address space)
GPUWorkQueue: GPU work queue (command submission queue)
GPUMicroSequence: GPU microcommand sequence (for commands)
GPUBufferManager: GPU dynamic buffer/page manager (TVB related)
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:55:13 +09:00
Asahi Lina
b164021dbf
m1n1.trace.agx: Update to new structures
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:53:25 +09:00
Asahi Lina
0ca3af9b13
m1n1.fw.agx.cmdqueue,controllist: Add/fix lots of structures
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:53:00 +09:00
Asahi Lina
bdd9603fa7
m1n1.agx: Add AGX.p = proxy
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:50:06 +09:00
Asahi Lina
ff9a88fbba
m1n1.trace.agx: Load initdata with the fully extended address
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:49:42 +09:00
Asahi Lina
a69744688b
m1n1.trace.agx: Add regionA tracing, fix lengths
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:49:42 +09:00
Asahi Lina
4c7bc1103c
m1n1.trace.agx: Redump more stuff after command completions
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:49:42 +09:00
Asahi Lina
2fb80a5ae3
m1n1.trace.agx: Support optional monitoring of global regions
...
And make it work across reloads
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:49:42 +09:00
Asahi Lina
62c1f5bbc7
m1n1.trace.agx: Reload some stuff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:49:42 +09:00
Asahi Lina
a8038cb498
m1n1.trace.agx: Support GPUVM userspace tracing
...
Still not perfect, cannot track all unmaps/maps properly, causes HV
translation faults...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:49:42 +09:00
Asahi Lina
ca653557a3
m1n1.fw.agx.initdata: Make printing work without the hypervisor
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:49:42 +09:00
Asahi Lina
29f300548b
m1n1.fw.agx.initdata & co: Add/fix lots of initdata stuff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:46:01 +09:00
Asahi Lina
722f4c4b8e
m1n1.agx: Add channel allocation/init
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:46:01 +09:00
Asahi Lina
1f5905fffb
m1n1.agx.channels: Add channel management module
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:46:01 +09:00
Asahi Lina
cb5e8dbf3f
trace/agx.py: Update to new channel stuff names
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:46:01 +09:00
Asahi Lina
033bf7a130
m1n1.fw.agx.channels: Fix a bunch of structs, s/Channels/ChannelInfoSet/
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
ebe18e1fac
m1n1.agx: Add .work() and .log()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
3bcc2243b5
m1n1.agx: Fix allocator mapping flags
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
bf73b7f671
m1n1.agx.object: GPUAllocator: Support configurable page sizes & context
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
c78e92e9ad
m1n1.agx: Add global object tracker
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
b7da00f761
m1n1.agx.object: Improve GPUObject
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
d531af3a6d
m1n1.fw.agx: Add address decoding & iotranslate
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
8a5ab0047a
m1n1.fw.agx: Rename endpoints & fix/add proper messages
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:40:46 +09:00
Asahi Lina
0fcaf69728
m1n1.hw.uat: Add RegMap accessor
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:28:54 +09:00
Asahi Lina
d7a4f30043
m1n1.agx: Use new UAT init API
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:28:54 +09:00
Asahi Lina
8d808904a0
m1n1.hw.uat: Handle multiple contexts
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:21:18 +09:00
Asahi Lina
3a773c8a6e
m1n1.fw.agx and friends: Add __all__ to lots of modules
...
This unborks reloading, since otherwise non-reloaded modules can clobber
symbols from reloaded modules with their old versions
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:17:33 +09:00
Asahi Lina
6175739132
m1n1.hw.asc: Add work_for(time)
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:12:31 +09:00
Asahi Lina
1dad2dad6a
m1n1.fw.asc.crash: Decode registers and stacktraces
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:12:23 +09:00
Asahi Lina
eb15ba0102
m1n1.adt: Decode more GPU properties
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:11:23 +09:00
Asahi Lina
4dcdb608a7
m1n1.trace: Fix PrintTracer address decoding
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:10:57 +09:00
Asahi Lina
682333e520
m1n1.proxyutils: Add 512-bit read/write accessors
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:04:51 +09:00
Asahi Lina
f13489f516
m1n1.hv: Fix atomic instruction mask
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:04:31 +09:00
Asahi Lina
0a25a3ef0d
m1n1.hv: Fix trace_range()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:04:09 +09:00
Asahi Lina
e1e8d05ead
m1n1.constructutils: Fix building ConstructValueClass
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:03:21 +09:00
Asahi Lina
a9ae6b81fa
m1n1.constructutils: Add a regmap() to make a RegMap out of a Construct
...
Handy for ringbuf pointer type structures where we need to be able to
read/write individual members using atomic primitives, without going
through Construct.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:03:21 +09:00
Asahi Lina
892ee0e76b
m1n1.utils: Split RegMap into BaseRegMap (without metaclass)
...
This allows alternative BaseRegMap subclasses to dynamically build the
map instead of doing the metaclass stuff.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:03:19 +09:00
Asahi Lina
28fdcb4284
m1n1.constructutils: Improve str representation, add dump() for Python
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:03:19 +09:00
Asahi Lina
4ad733493b
m1n1.constructutils: Add a global struct address tracer
...
Currently unconditional, kind of hacky. Good for HV use.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:03:19 +09:00
Asahi Lina
de4f024ced
m1n1.constructutils: Make the Pointer<->addr association two-way
...
Also add Lazy support
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 23:03:17 +09:00
Asahi Lina
570ea8c4b8
m1n1.constructutils: Add .sizeof()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 22:57:32 +09:00
Asahi Lina
83dfa1ef70
m1n1.constructutils: Move _off to class, improve addr stuff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 22:56:52 +09:00
Asahi Lina
029ba73f44
m1n1.constructutils: Make Dec buildable
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 22:54:21 +09:00
Asahi Lina
1c35ce60c7
m1n1.constructutils: Better string representations
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 22:53:57 +09:00
Asahi Lina
3fe8f3e72f
m1n1.constructutils: Improve recursive reload
...
Reload more things, but also avoid reloading the same class multiple
times.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-06-02 22:53:17 +09:00
Hector Martin
714420a694
display: Put DCP to sleep if display is external
...
This stops DCP from killing our modeset if the connection cycles.
Also force a (potential) configure cycle if the display is external;
this makes sure updated stage2s will have a chance at fixing issues of
old stage1s. Modesetting is fast when it's the same mode as before.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-01 01:54:11 +09:00
Hector Martin
e9f383aa6b
m1n1.fw.dcp.dcpav: Add some DCPAV EPIC stuff
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-01 00:57:17 +09:00
Hector Martin
5c69011fc7
m1n1.fw.dcp.iboot: Fix padding
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-01 00:57:17 +09:00
Hector Martin
7282f30527
m1n1.fw.afk: Fix a bunch of brokenness
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-01 00:57:17 +09:00
Hector Martin
06ec66e2a9
proxy: Export pmgr_reset()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-01 00:57:17 +09:00
Hector Martin
0472bc05cd
proxy: Export display functions
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-01 00:57:17 +09:00
Hector Martin
9548ddd75d
fw.asc: Autodetect whether to boot the ASC or wake it up
...
Technically both can be done unconditionally, but let's be explicit in
the python side to see if we ever find this algorithm doesn't work.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-01 00:57:17 +09:00
Martin Povišer
4d306bb0d8
m1n1.hw.i2c: Fix & extend register access
...
Fix reading of registers (there have been STOPs issued between the two
messages which surprisingly went unnoticed until now). Also add support
for multibyte register addresses.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-31 21:51:53 +09:00
Martin Povišer
96d4b5dd07
m1n1.proxyutils: Fortify against non-working disassembler
...
If not caught it can lead to an ugly crash...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Martin Povišer
d040e61aa8
m1n1.hw.admac: Add UNK4 report flag
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
Martin Povišer
f0ff2e9eaf
m1n1.hw.admac: Do without an ADT node
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-05-30 23:26:31 +09:00
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
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
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
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
95ff15f2bd
prores: load in some luma stuff
...
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
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
Asahi Lina
891bdd3101
m1n1.fw.agx.channels: Remove creation code
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
3133dcfa15
m1n1.trace.agx: Many improvements to tracer
...
Also fix how cmdqueues are interpreted
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
2af56cbc0a
m1n1.fw.agx.cmdqueue: Lots of struct improvements
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
9893219052
m1n1.fw.agx.controllist: Add lots more structs/fields
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
7fb99adf10
m1n1.fw.agx.channels: Add meta_fn arg to get_message()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
8df6f6d060
m1n1.fw.agx.channels: s/DeviceControl_17/DC_DestroyContext/
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
01d7c5f6cd
m1n1.fw.agx.channels.NotifyCmdQueueWork: Show more info
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
f5ba42e3bb
tools/reset_panic_counter.py: New tool
...
Also adds m1n1.hw.spmi
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
25472a4373
m1n1.hw.uat: Remove init stuff, single allocator, make flags kwargs
...
Let's use this allocator only for ASC stuff. GPU stuff will have its own
va space allocators.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
4de4fdfb27
m1n1.fw.asc.mgmt: Allow being less verbose
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
cbe0e98f4c
m1n1.fw.asc: Add boot_or_start()
...
This tries both ways so it'll work regardless of how the ASC was shut
down.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
f3830c034f
m1n1.constructutils: Add debug (commented out)
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
797e58568b
m1n1.constructutils: Make Pointers useful for builds
...
- Add ROPointer subclass which is not built through
- Add build hook to detect (RO)Pointers and assign the address field
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
b681de37c5
m1n1.constructutils: Add colors, offsets, support additional metadata
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
4320d065c0
m1n1.constructutils: Support Switch() properly
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
5b6afed509
m1n1.constructutils: Add Dec(), improve printing
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
3ec82d989d
m1n1.hw.uat: Always print through translation failures
...
Make sure it's loud in case exceptions get eaten by Construct
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
87e0b69fc6
m1n1.trace: Propagate show_cpu in log()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
9201ce3a13
m1n1.utils: Work around Register reloads breaking Constants
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
88c443008f
m1n1.hv: Handle atomic instructions by disabling those pages
...
Ugly hack, but enough for now
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
2f2794508a
m1n1.hv: Make SIGQUIT dump stacks and exit
...
This is useful in case a tracer is stuck in an infinite loop
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
802b37aaf3
m1n1.hv: Add support for "hypercalls" via BRK
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
c746549c2e
hv: Map RAM via tracer infra, handle carveouts in Python
...
Previously RAM was mapped ad-hoc, but this can end up interacting
poorly with the tracer infrastructure which we are now using for RAM
too. Move to mapping guest RAM via the tracer infra, and also unmap the
TZ carveouts in the Python side so it knows about them.
This is a HV ABI break.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
30c4503966
m1n1.hv: Support names and bases for PrintTracers
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
22228934bd
m1n1.fw.agx.channels: EventMsg structure
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:12 +09:00
Asahi Lina
6b6dfde814
m1n1.fw.agx: Lots of GPU work
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:54:10 +09:00
Asahi Lina
dc21c15537
m1n1.fw.agx.channels/initdata: Use __repr__ instead of __str__
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:52:43 +09:00
Asahi Lina
dc4673c03b
m1n1.constructutils: Propagate force arg in _reloadcls()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:52:43 +09:00
Asahi Lina
57d23f8491
m1n1.constructutils: Use repr() instead of str()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-05-21 03:52:43 +09:00
Scott Mansell
a17e9e4f5e
m1n1.fw.agx: WIP generate initdata
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:43 +09:00
Scott Mansell
79b01a7bcb
m1n1.fw.agx: enough of a driver to boot gfx-asc
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:32 +09:00
Scott Mansell
fe9c1f4bca
m1n1.hw.uat: Implement iomap
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:32 +09:00
Scott Mansell
43e3e0f3c2
m1n1.hw.uat: Reflect ARMv8 nature
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:32 +09:00
Scott Mansell
f72417b78f
m1n1.trace.agx: Add support for Work submission
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:32 +09:00
Scott Mansell
636ebe70d7
m1n1.hw.uat: Allow accessing as a stream
...
This allows us to use construct's Pointer
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:32 +09:00
Scott Mansell
804e944a1b
m1n1.constructutils: Add ConstructClass wrapper around construct
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:32 +09:00
Scott Mansell
42edf41e37
m1n1.hw.uat: fix VA_MASK
...
Was missing the lowest bits, which broke unaligned reads/writes
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:52:32 +09:00
Scott Mansell
980b9241d2
m1n1.trace.agx: Trace AGX wip
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:46:36 +09:00
Scott Mansell
90eae66b33
m1n1.hw.uat: Intitial UAT implementaiton
...
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:46:26 +09:00
Scott Mansell
254f01b3ea
m1n1.proxyutils.RegMon: Allow custom read lambda
...
Useful for monitoring ranges beind an iommu
Signed-off-by: Scott Mansell <phiren@gmail.com>
2022-05-21 03:46:14 +09:00
Janne Grunau
d4637513e0
WIP: m1n1.hv: add support for starting CPUs on the second M1 Ultra die
...
notes:
- macos guest only works if the display is not initialized
- macos guest appears to be very slow
Signed-off-by: Janne Grunau <j@jannau.net>
2022-04-19 21:39:52 +09:00
R
d28ab8cc81
jpeg: Figured out how to activate tiling
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
b2a0352a8f
jpeg: Implement encoding from planar formats
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
f2b8054309
jpeg: Support encoding linear YUV
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
c71d341ff1
jpeg: Implement YUV10 mode for encoding
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
45876d09a1
jpeg: Import working encode experiment
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
0c1f89d1f9
jpeg: Import working basic decode experiment
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
49cdf7fe22
jpeg: probe registers more thoroughly
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
c6169c1c15
jpeg: Import register definitions
...
This comes from experiments that were performed out-of-tree
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
0f6991ccbc
dart-t8110: fill in more details from poking
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
96b2d584fe
dart-t8110: Import more stuff pulled from symbols
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
ce5e5fe476
dart-t8110: Add other seen registers; poke protect
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
18535a2385
dart-t8110: uncomment helper functions
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
25ebf8adb1
dart-t8110: map/translate
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
5b07956e43
dart-t8110: flush/init
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
ecb9d1210c
dart-t8110: dumping appears to work completely
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
16028224f9
dart-t8110: dump first-level translation tables
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
R
4a09eca74a
dart-t8110: Initial commit
...
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:24:00 +09:00
Asahi Lina
87a849287a
m1n1.utils.Reloadable: Add force argument to _reloadcls()
...
Useful to force reload classes that haven't changed when their
dependencies might have.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-04-16 19:06:22 +09:00
Asahi Lina
8b10324815
m1n1.trace: Add space after CPU number in PrintTracer logs
...
This makes the logs align properly with other trace logs.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-04-16 19:06:22 +09:00
Asahi Lina
6c57d3ded9
m1n1.proxyutils.RegMonitor: Add support for custom log function
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-04-16 19:06:22 +09:00
Asahi Lina
e2f63a07b2
hv: Improve VM emulation for tracer
...
Adds support for up to 64-byte ops and more SIMD/paired operations.
This is good enough to trace a lot of GPU VM address space.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-04-16 19:06:22 +09:00
Asahi Lina
cf8be42aa9
hv: Fix bug when unmapping IO ranges
...
Sometimes ranges were not properly unmapped if they did not overlap the
currently defined range maps.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-04-16 19:06:22 +09:00
Asahi Lina
302a9ec4c0
m1n1.hv: Add BYPASS trace mode
...
Forces SW mapping but does not do any hooking. This can be useful for
testing the emulation or to work around issues with HW/SW map
differences.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-04-16 19:06:22 +09:00
Janne Grunau
df53f16f76
m1n1.hv: Copy /chosen/memory-map/preoslog if it exists
...
preoslog was added in macos 12.3 and seems to contain iBootStage1 log
output. Since macos 12.3 accesses it it has to be copied to after the
guest image.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-20 03:04:13 +09:00
Hector Martin
94d640aa20
tools/run_guest.py: Support restricting CPU list available to guest
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-03-14 21:08:23 +09:00
Hector Martin
be1421d2ad
m1n1.hw.spi: Update register definitions
...
This had been sitting in my worktree...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-03-11 22:14:46 +09:00
Hector Martin
822b3c3cca
m1n1.trace.spi: Remove UNBUF mode
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-03-11 22:13:27 +09:00
Janne Grunau
387fab6132
m1n1.utils: Add CRC-16 (polygon 0xA001)
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-11 12:06:01 +09:00
Janne Grunau
025fa41e90
m1n1.trace: Add SPI tracer
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-11 12:06:01 +09:00
Janne Grunau
45824d2676
m1n1: move SPI register to m1n1.hw
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-11 12:06:01 +09:00
Janne Grunau
e90be797a8
m1n1.trace.gpio: Update register description based on the Linux driver
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-11 12:06:01 +09:00
Janne Grunau
9c80a69266
m1n1.hv: Use dynamic pin maps in trace_gpio.py
...
Hardcoded pin maps do not make sense with additional HW support.
Allows tracing of a single pin in another tracing module, for example
for tracing the SPI cs pin.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-11 12:06:01 +09:00
Janne Grunau
d1d93eb2b5
m1n1.fw.dcp: Add callbacks used by t600x-dcp
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-11 12:05:21 +09:00
Janne Grunau
7028f3e2d8
m1n1.fw.dcp: Zero dcpep's shared memeory
...
Fixes a crash of DCP with experiments/dcp.py after chainloading m1n1 on
j314c.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-03-11 12:05:21 +09:00
Hector Martin
123d1df1a7
kboot: Replace kboot_set_bootargs with kboot_set_chosen
...
This allows setting arbitrary /chosen string props
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-03-09 20:55:34 +09:00
Hector Martin
adb1cb943e
proxy: Export smp_set_wfe_mode
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-03-08 00:02:06 +09:00
Janne Grunau
d76f3a6631
m1n1.hw.DART: coalesce continuos l2 ptes
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-02-24 23:55:46 +09:00
Janne Grunau
fb49d88d90
m1n1.fw.dcp.ipc: annotate swap_complete_intent_gated
...
Signed-off-by: Janne Grunau <j@jannau.net>
2022-02-24 23:55:46 +09:00
Sven Peter
53af416b07
hv.py: Add helper to break on symbols
...
We already have breakpoints and symbols, let's make our life easier
by also allowing to break on symbols.
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-02-24 23:55:25 +09:00
Hector Martin
08b77c2b1b
m1n1.adt: Handle underscores in properties as __
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-02-21 15:31:31 +09:00
Hector Martin
5bf8c5ac83
m1n1.hv: Use p.mcc_hv_unmap_carveouts()
...
Fixes random SErrors due to the guest issuing speculative instruction
fetches into TZ regions.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-02-21 15:30:25 +09:00
Hector Martin
50a9593034
mcc: Add mcc_hv_unmap_carveouts() and proxy op
...
This is necessary to stop the guest from speculating into carveouts.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-02-21 15:30:21 +09:00
Hector Martin
d381341865
m1n1.trace.asc: Add missing power control messages
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-02-15 14:05:13 +09:00
Hector Martin
45c3682f60
m1n1.fw.smc: Handle notifications
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-02-15 14:05:13 +09:00
Hector Martin
a0680a2678
m1n1.adt: Better parse PMU props
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-02-15 14:05:13 +09:00
Martin Povišer
0d4c7af26b
m1n1.hw.mca: Add MCA register definitions
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-02-08 14:18:20 +09:00
Martin Povišer
90c4a1ae46
m1n1.hw.admac: Improve polling
...
Make sure we read any reports before we start submitting new
descriptors. Also put sleep in busy-wait loop and make speaker_amp.py
exit once EOF is reached.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-02-08 14:18:20 +09:00
Martin Povišer
532f260fae
m1n1.hw.admac: Label burst size, buswidth registers
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-02-08 14:18:20 +09:00
Martin Povišer
3a8ae74907
m1n1.hw.admac: Introduce RX channels
...
Fill in register definitions and extend the driver code to introduce
support for RX channels. This involves change of channel numbering.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-02-08 14:18:20 +09:00
Martin Povišer
590722b29d
m1n1.hw.admac: Use stderr for debug prints
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-02-08 14:18:20 +09:00
Martin Povišer
64d8f9d1b3
m1n1.loadobjs: Add util for loading objects on target
...
For those of us who can't write assembly but still need to run code on
the other side.
>>> from m1n1.loadobjs import *
>>> lp = LinkedProgram(u)
>>> lp.debug_printf("hello from the other side (%d)\n", 42)
TTY> hello from the other side (42)
0x1f
>>> lp.load_obj("build/test.o")
>>> lp.test()
TTY> hello from loaded object
0x19
>>> lp.clear_objs()
Signed-off-by: Martin Povišer <povik@protonmail.com>
2022-02-08 14:14:38 +09:00
Hector Martin
0d35eb3da7
m1n1.proxyutils: Wrap ADT base to 64 bits
...
This works around a wraparound issue when the virt base ends up causing
the ADT address to go negative, when on 12.1+ using a dummy virt base.
Fixes : #155
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-02-06 20:49:54 +09:00
Mikhail Gusarov
88874936c6
proxyclient: utils.py: add ehexdump()
...
ehexdump is similar to chexdump, and uses CP437 control characters
and Braille to improve eyeballability of character output.
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
2022-01-26 15:39:23 +09:00
Sven Peter
ccf4b20a1d
proxy: add nvme_{read,flush}
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-01-26 15:38:40 +09:00
Sven Peter
f44d5db4fa
proxyclient/asc: s/Mgmt_StartSyslog/Mgmt_SetAPPower/
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-01-26 15:38:40 +09:00
Sven Peter
6816c151bb
proxyclient/epic: Add support for SubHeader.version = 3
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-01-19 03:24:20 +09:00
Hector Martin
ce2f705b16
m1n1.trace.asc: Handle prealloc'd syslog buffers
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-19 03:21:30 +09:00
Hector Martin
293d78fd7f
m1n1.hw.asc: Add verbose flag
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-19 03:21:15 +09:00
Hector Martin
a79200ef1e
m1n1.fw.smc: Many improvements
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-19 03:21:04 +09:00
Hector Martin
c7d42837e4
m1n1.fw.asc.mgmt: Fix the IOP/AP power state stuff
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-19 03:19:48 +09:00
Hector Martin
e468e08603
m1n1.fw.asc.{crashlog,syslog}: Do not ack prealloced bufs
...
This is wrong and causes IOP crashes due to unacked crashlog msgs.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-19 03:18:18 +09:00
Hector Martin
bacb19b301
m1n1.fw.asc: Make DVA_OFFSET dynamic
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-19 03:16:12 +09:00
Hector Martin
f98723bb81
m1n1.trace.dart: Prime register cache on startup
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-17 04:42:00 +09:00
Hector Martin
7969d2c689
m1n1.fw.dcp.iboot: Cleanup & fixes
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-17 04:42:00 +09:00
Hector Martin
d2535159a5
m1n1.fw.dcp.iboot: Add iBoot DCP interface client
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
1d79711e79
m1n1.fw.afk: Add AFK/EPIC endpoint support
...
These cover the non-dcpep endpoints of the DCP interface, including
the iBoot interface (disp0).
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
b2da9faac7
m1n1.fw.dcp.ipc: Add some more struct fields
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
0e326923cf
m1n1.fw.common: Move some common defs here from m1n1.fw.dcp.ipc
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
72b7dfed5f
m1n1.fw.asc: Stop endpoints on global stop
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
b388093d33
m1n1.hw.dart: Wait for invalidations to complete
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
78d1e5fd93
m1n1.hw.dart: Remove stray print
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
4482ae634d
m1n1.hv: Add a .started variable to indicate HV is running
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
deb728adb9
m1n1.fw.asc: Invalidate DART after making new mappings
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
fb9cdcb1e9
m1n1.fw.asc.crash: Raise exception on ASC crashes
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
df481228b7
m1n1.gpiola: Add load_regmap()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
1ecf7de936
m1n1.gpiola: Make Reloadable
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
9012247cdd
m1n1.trace.i2c: Add I2C dev tracer
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 19:39:03 +09:00
Hector Martin
430e8d2e8a
m1n1.hw.i2c: Rename registers to PASemi names, add all bit defs
...
This can serve as hardware documentation of the PASemi peripheral,
in lieu of public docs.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-01-16 18:55:44 +09:00
Sven Peter
0b9829e227
proxyclient: add nvme_{init,shutdown}
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-01-16 18:53:29 +09:00
Sven Peter
6445cf61ba
proxyclient: utils.py: allow to specify print function to chexdump
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-01-01 16:49:14 +09:00
Hector Martin
40894439cb
m1n1.trace: Fix redundant MMIO logs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-12-28 21:09:58 +09:00
Hector Martin
90cf4baf85
m1n1.gpiola: Bugfixes
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-12-28 21:09:48 +09:00
Hector Martin
054e437c31
experiments/pcie_enable_devices.py: New script
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-12-21 20:14:56 +09:00
Hector Martin
a05f68d1c8
m1n1.gpiola: New module
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-12-09 01:22:37 +09:00
Janne Grunau
5e202ab2fe
m1n1.trace.dart: initialize DART with correct pte type
...
Signed-off-by: Janne Grunau <j@jannau.net>
2021-12-08 09:06:07 +09:00
Janne Grunau
d23e09c2f0
m1n1.hw.dart: update pte BIT(1) annotation
...
BIT(1) of a page table entry is "disable sub-page protection".
Signed-off-by: Janne Grunau <j@jannau.net>
2021-12-08 09:06:07 +09:00
Hector Martin
32515c936f
m1n1.proxy: Fix typos in fb_blit/unblit
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-27 01:24:36 +09:00
Martin Povišer
4f7d03addf
m1n1.hw.*: Fill in SPDX license headers
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
5e5b83e7a2
m1n1.hw.nco: Add NCO driver
...
Apple SoCs have an NCO block used for generating audio master clocks.
The block performs fractional division of a higher-rate input clock and
contains a counter which is partially implemented as a LFSR. Credit
goes to Hector for reversing the divisor register semantics.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
549dcf8b3a
m1n1.hw.admac: Add debug print of estimated rate
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
8833696c69
m1n1.hw.admac: Fix descriptor deserialization
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
301ba75b6b
m1n1.utils: Remove dead formatting
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
145b1101c9
m1n1.utils: Add Register32.fields property
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
d65526d326
m1n1.hw.admac: Clear underflow counters on reset
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
570107629a
m1n1.hw.admac: Fix and extend register defs
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
2cebfaab73
m1n1.hw.i2c: Reset status before transaction
...
Reset the status register before each transaction. This is necessary if
we are taking over the peripheral after the Linux driver (e.g. in paused
hypervisor).
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 17:49:39 +09:00
Martin Povišer
a40840f13c
proxy: Expose usb_iodev_vuart_setup
...
Expose the usb_iodev_vuart_setup function in uartproxy. This opens
the secondary ACM pipe to new uses outside the hypervisor. E.g. it can
be set up as another stream for sending proxy requests.
Sample usage from proxyclient:
p.usb_iodev_vuart_setup(p.iodev_whoami())
p.iodev_set_usage(IODEV.USB_VUART, USAGE.UARTPROXY)
# the second virtual serial now also serves proxy
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-11-26 15:31:21 +09:00
Hector Martin
0e3ee31254
m1n1.fw.asc.kdebug: Handle prealloc messages (partially)
...
Not sure if these need a reply...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-23 17:27:37 +09:00
Hector Martin
99acc2675b
m1n1.fw.asc: Add support for shutting down RTKit links
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-23 17:20:09 +09:00
Hector Martin
0446838460
m1n1.fw.asc.crash: Add a basic crashlog parser
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-23 17:19:38 +09:00
Hector Martin
10dda2550d
m1n1.hv: Automatically lower BRKs
...
This makes Linux BUG()s work out of the box without breaking into the
HV.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-23 14:05:26 +09:00
Hector Martin
8778819831
m1n1.hw.dart: Fix typo
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-22 18:13:32 +09:00
Hector Martin
c8a8946e82
m1n1.hw.dart: Add a constructor that figures out DART type from the ADT
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-22 18:13:10 +09:00
Hector Martin
4027c34c7a
proxy: Add proxy ops for pcie_init/shutdown
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-22 16:04:35 +09:00
Hector Martin
5d214606df
m1n1.hv: Add flag to hide the CPU prefix in hv.log()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-16 17:20:47 +09:00
Hector Martin
06975c8b87
m1n1.hv: Add TraceMode.WSYNC to make writes synchronous, but not reads
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-16 17:20:21 +09:00
Hector Martin
ccbe181d75
m1n1.adt: Improve PMGR props parsing, add to dump_pmgr.py
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-16 17:19:42 +09:00
Janne Grunau
46c945ac95
usb: use dynamic paths for usb related ADT nodes
...
Adds support for the 3rd USB-C port on 2021 Macbook Pros.
Currently up to 8 USB-C ports are supported which should be sufficient
for expected future devices.
Tested on Macbook Pro 14" and Mac Mini.
Signed-off-by: Janne Grunau <j@jannau.net>
2021-11-12 23:48:32 +09:00
Janne Grunau
2724d69f4c
iodev: usb: replace secondary usb iodevs with single vuart iodev
...
Signed-off-by: Janne Grunau <j@jannau.net>
2021-11-12 23:48:32 +09:00
Janne Grunau
3a2446c53b
m1n1.proxy: remove trailing whitespace
...
Signed-off-by: Janne Grunau <j@jannau.net>
2021-11-12 23:48:32 +09:00
Hector Martin
c947f6aec3
m1n1.trace.asc: Add support for tracing DARTless ASCs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-11 15:22:25 +09:00
Hector Martin
eaa72c7a91
m1n1.fw.smc: Improve and add more functions
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-10 20:43:51 +09:00
Hector Martin
198fc24f14
m1n1.adt: Fix ranges prop decoding
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-10 20:43:51 +09:00
Hector Martin
ae7228f398
m1n1.asm: Fix bad objdump variable
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-10 20:43:51 +09:00
Hector Martin
b9ddd74c02
hv/trace_smc.py: Add SMC tracer
...
Also fix up a bunch of stuff in m1n1.fw.smc, but it's untested as a
client.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-10 20:43:51 +09:00
Vincent Duvert
407663b73d
bootstrap_port: Improve UART baud setting
...
Rework the serial port bootstrap so it works correctly if the target is already
at 1500000 baud.
No baud adjustment is made if the proxy is using the serial-USB interface.
Tested with the Mac-to-Mac serial connection (macvdmtool) and the serial-USB
connection.
Signed-off-by: Vincent Duvert <vincent@duvert.net>
2021-11-10 16:02:44 +09:00
Hector Martin
8e0ca1a39c
m1n1.hv: Print diagnostic info when MMIO forwarding fails
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-08 19:55:16 +09:00
Hector Martin
e19e74be8b
m1n1.asm: Make work on macOS/clang
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-08 14:41:24 +09:00
Hector Martin
a4e922ecaf
m1n1.hv: Map vUART IRQ properly
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 04:03:50 +09:00
Hector Martin
ff1b668a5d
m1n1.hv: Fix broken cpu# in SYNC tracers
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 04:03:50 +09:00
Hector Martin
74dece703e
m1n1.hv: Add support for dumping MMIO accesses in Python syntax to a log
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 04:03:50 +09:00
Hector Martin
bfc91be170
m1n1.hv: Keep track of started CPUs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 04:03:50 +09:00
Hector Martin
3d3d5ea5ad
m1n1.hv: Forward more sysregs properly to EL12
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 04:03:50 +09:00
Hector Martin
85ca5b94cb
m1n1.hv: Do map low RAM
...
Apparently this is still necessary
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 03:52:43 +09:00
Hector Martin
49858b6d2c
m1n1.hv: Fix cpustart for >2 clusters
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 03:52:43 +09:00
Hector Martin
f2975c7e34
m1n1.utils: Fix bug in RangeMap
...
Adding a zero-length range was breaking things.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 03:52:43 +09:00
Hector Martin
075168c233
m1n1.hv: Handle MMIO/PMGR hooks dynamically
...
This makes m1n1 boot all the way on t6000
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 03:52:43 +09:00
Hector Martin
08f90e6dd6
m1n1.hv: Fix bug for sync tracing 64-bit writes
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 03:52:43 +09:00
Hector Martin
77074b9098
hv_aic: Support AICv2
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-04 03:52:42 +09:00
Hector Martin
339bd37077
m1n1.hv: Compute RAM base from bootargs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-02 02:22:47 +09:00
Hector Martin
e3f0836eae
m1n1.hv: Use vUART base from ADT
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-02 02:22:17 +09:00
Hector Martin
68aec75918
memory: Larger PA support & dynamically map MMIO
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-01 21:00:56 +09:00
Hector Martin
bc82dbea4e
m1n1.hw.dart: Add support for T6000 DARTs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-01 19:00:34 +09:00
Hector Martin
f590ef73d0
m1n1.adt: Add field to pmgr devices
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-01 19:00:34 +09:00
Hector Martin
c76851ae11
m1n1.adt: Add pmap-io-ranges parsing
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-01 19:00:34 +09:00
Hector Martin
1e787e9d02
m1n1.adt: Add & use SafeGreedyRange
...
This avoids swallowing subcon errors silently, like GreedyRange does.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-01 19:00:34 +09:00
Hector Martin
7ff48f6201
memory: Make the RAM base dynamic
...
For now we compute this as phys_base aligned down to a 4GiB boundary.
Hopefully that works for future SoCs too.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-11-01 13:39:40 +09:00
Hector Martin
73180e29fa
m1n1.hw.dart: Add show_error() and some more defs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-10-27 15:49:12 +09:00
Hector Martin
0d0a646922
m1n1.adt: Support per-compat prop decoding, make it work on t6000
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-10-21 18:41:13 +09:00
Hector Martin
0255831153
m1n1.trace: Support HOOK mode
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-10-15 23:44:12 +09:00
Hector Martin
f49428bb65
m1n1.proxyutils: Fix GuardedHeap to actually work
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-10-15 23:44:12 +09:00
Hector Martin
1d0d60a846
m1n1.proxy: Fix weird typo in mask16
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-10-15 23:44:12 +09:00
Hector Martin
08873880fa
m1n1.hv: Fix TLB invalidation issue
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-10-15 23:44:12 +09:00
Hector Martin
1444c93a24
proxy: Add P_MMU_INIT_SECONDARY
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-10-15 23:44:12 +09:00
Danny Lin
7a29455646
proxyclient: Fix typo in LazyADT str implementation
...
Fix the `gstr` typo so that `print(hv.adt)` works as expected.
Signed-off-by: Danny Lin <danny@kdrag0n.dev>
2021-10-11 12:42:55 +09:00
Alyssa Rosenzweig
8010e38376
Add smc.py script to enable radios
...
Add a basic SMC client and a script in experiments/ using it to enable
the radios. Running this before booting Linux will make the network
controller devices show up in lspci, even if Linux lacks an SMC driver.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2021-10-11 12:41:27 +09:00
Martin Povišer
925215aea2
proxyclient: Expect m1n1 at /dev/ttyACM0
...
Change the default serial port.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-10-11 12:40:43 +09:00
TophEvich
913c775165
proxyclient: removed unused code
...
Little clean-up of unused proxyclient code.
Code used/referenced by commented out sections were taken
into account and left behind to be used by it at a later point.
Signed-off-by: TophEvich <84676511+TophEvich@users.noreply.github.com>
2021-09-22 19:00:34 +09:00
Martin Povišer
18bc2c7db1
Add m1n1.hw.admac, experiments/speaker_amp.py
...
Add initial code for driving the ADMAC hw blocks, also add a script
which shows it in action by streaming audio to the Mac mini's embedded
speaker.
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-09-22 16:02:35 +09:00
Martin Povišer
d25581ddb3
Fill in m1n1.hw.i2c
...
Signed-off-by: Martin Povišer <povik@protonmail.com>
2021-09-22 16:02:35 +09:00
Hector Martin
a816f2718b
m1n1.hv: Improve bt()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-22 00:36:41 +09:00
Hector Martin
9cc0c0a55b
m1n1.hv: Add lower() command to send an exception to the guest
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-22 00:36:40 +09:00
Hector Martin
36e0283a87
hv: Handle PAC mask automatically
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-21 23:28:31 +09:00
Hector Martin
bce239b36f
exception: Make space in the stack for full exception context
...
This is step 1 of the rework to make reentrant exceptions work
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-21 20:29:19 +09:00
Hector Martin
04668b370a
m1n1.proxyutils: Print and clear L2C regs on SErrors
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-21 17:15:49 +09:00
Hector Martin
0e3770ca47
hv, m1n1.hv: Add cpu() command to switch CPU contexts
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-21 13:18:06 +09:00
Hector Martin
9545371c87
m1n1.hv: Add more PMGR hacks for xnu bug workarounds etc
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-21 13:15:04 +09:00
Hector Martin
160ced7449
m1n1.hv: Also guard IMX pstate
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-21 00:40:31 +09:00
Hector Martin
16314a6203
m1n1.fw.pmp: New module
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-20 18:01:21 +09:00
Hector Martin
6211e9f9e6
m1n1.hw.pmgr: New module
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-20 18:01:09 +09:00
Hector Martin
eae9eceff1
m1n1.adt: Fix more pmgr fields, improve dump_pmgr.py
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-20 17:55:45 +09:00
Hector Martin
1e98c320df
m1n1.adt: Pretty sure the v_ things were wrong
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-20 02:49:58 +09:00
Hector Martin
5c99406790
m1n1.hv: Guard UART0 pmgr regs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-20 02:48:23 +09:00
Hector Martin
c461b5d033
m1n1.adt: Add clock-frequencies decoding
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-19 22:33:38 +09:00
Hector Martin
6c070fa224
m1n1.proxyutils: Only set baud if connected via serial
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-19 22:32:58 +09:00
Hector Martin
c3ba77ce16
hv_exc: Handle SYS_IMP_APL_CYC_OVRD in the fast path
...
m1n1 now uses this for SMP, and due to wfi FIQ leakage from the HV
timer this gets spammed thousands of times per second. Handle it in
the HV directly.
Fixes : #107
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-18 22:33:28 +09:00
Hector Martin
37b2fdda7c
m1n1.adt: Handle empty function props
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-18 22:27:13 +09:00
Hector Martin
2d952752db
proxy: Add smp_wait() to the proxy
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 15:25:34 +09:00
Hector Martin
b16bad61b4
m1n1.utils: Fix RegAccessor assignment
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 00:34:56 +09:00
Hector Martin
bbf8889d87
m1n1.trace.asc: Print more registers
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 00:34:42 +09:00
Hector Martin
36a7f3f2e1
m1n1.hw.asc: Print raw messages in hex
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 00:34:22 +09:00
Hector Martin
0d13ed692e
m1n1.fw.asc: Align buffer sizes in reply messages
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 00:33:34 +09:00
Hector Martin
966b50a753
m1n1.fw.asc: Support booting an ASC
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 00:33:12 +09:00
Hector Martin
b53b627cb9
m1n1.hw.dart: Support initializing a DART from scratch
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 00:30:41 +09:00
Hector Martin
97ed24a908
m1n1.fw.asc: Make DVA offset configurable
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-17 00:30:14 +09:00
Hector Martin
77fbb05623
m1n1.adt: Pretty-print functions
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-16 17:06:51 +09:00
Hector Martin
961f8eae4d
m1n1.adt: Print a useful diag when a prop fails to parse
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-16 16:48:22 +09:00
Hector Martin
de8b490b01
m1n1.adt: Add some mcc props
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-16 16:47:45 +09:00
Hector Martin
3b6a645db6
m1n1.adt: Support master (templated) ADTs properly
...
They used to parse but not round-trip, now they do
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-16 16:47:22 +09:00
Hector Martin
9ecaeb9e1b
m1n1.hv: Add SMP support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:32:57 +09:00
Hector Martin
509481d5d5
hv: Add SMP support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:32:57 +09:00
Hector Martin
d68e4e42dd
m1n1.trace: Show CPU number in default MMIO PrintTracer
2021-09-15 23:32:57 +09:00
Hector Martin
e88d55005a
m1n1.trace: Use hv.log() in Tracer.log()
2021-09-15 23:32:57 +09:00
Hector Martin
a4efa373f3
m1n1.trace: Make Tracer.trace() take read/write args
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:32:57 +09:00
Hector Martin
81aaa72740
m1n1.hv: Improve pmgr hack messages
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:32:57 +09:00
Hector Martin
2598b3a7ba
m1n1.hv: Only patch exception handling on CPU#0
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:27:21 +09:00
Hector Martin
e06e58e864
m1n1.xnutools: Update decode_debugger_state() for 12.0
...
We need to find a better way of doing this...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:26:45 +09:00
Hector Martin
290e851d98
m1n1.hv: Add read/write args to hv.trace_range()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:25:12 +09:00
Hector Martin
683161eef4
m1n1.hv: Make sysreg storage per-CPU
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:24:37 +09:00
Hector Martin
3871fa1e2f
m1n1.hv: Add hv.log() that prepends CPU index, use it
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:24:37 +09:00
Hector Martin
56b54a6641
hv_vm/hv_exc: Add cpu_id to exception & mmiotrace structs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:24:37 +09:00
Hector Martin
6627873267
m1n1.hv, run_guest.py: Make exception hook enable an argument
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:24:37 +09:00
Hector Martin
368b48a365
hv_wdt: Make HV WDT CPU configurable and WDT optional
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 23:24:37 +09:00
Hector Martin
aa11841808
m1n1.adt: s/gate/psidx/
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 21:59:13 +09:00
Hector Martin
496516ded0
m1n1.adt: PMGR and function call stuff
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 17:11:45 +09:00
Hector Martin
dfb10956bc
m1n1.fw.dcp: Add OSSerialize parser for DCPAV properties
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 17:08:21 +09:00
Hector Martin
9b91c90f3a
m1n1.utils: Move FourCC definition here
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-09-15 17:08:21 +09:00
Hector Martin
fa50bb6474
fb: Do not restore logo when using kboot
...
Also don't clear the whole screen, only the console section so the logo
is glitchless.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-31 14:10:52 +09:00
Hector Martin
219950235c
fw.dcp.ipc: Define rt_bw_config_t properly
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-30 12:09:36 +09:00
Hector Martin
4df78129aa
m1n1.shell: Fix broken signature thing for some objects
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-29 01:36:27 +09:00
Hector Martin
63547f6fc9
m1n1.fw.asc.mgmt: Print endpoints
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-29 01:36:01 +09:00
Hector Martin
0584200aaf
m1n1.fw.dcp.manager: Make map_buf() work
...
What it needs to do is map the buffer to the disp dart stream 4,
apparently (or maybe the stream varies?)
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-29 01:35:25 +09:00
Hector Martin
43c93af949
m1n1.fw.asc: Handle DARTless ASCs
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-29 01:32:27 +09:00
Hector Martin
eec6bbdeaf
m1n1.hw.dart: Fix dirty cache clobbering on iomap_at()
...
Fixes : #102
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-29 00:03:39 +09:00
Alyssa Rosenzweig
eb466796d8
fw.dcp: Add some stubs needed for modesetting
...
This isn't enough to set the video mode yet but it gets us further. I
think allocate_memory/map_buf/powerOnDART need real implementations,
otherwise setting a video mode crashes the DCP in an APIODMA interrupt
handler, whatever that is.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2021-08-24 21:09:35 +09:00
Hector Martin
e6d3b6b6c6
m1n1.adt: Handle borked reg properties
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-24 12:20:31 +09:00
Hector Martin
d0731de381
m1n1.hv: Fix pac_mask for linux
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-23 23:10:28 +09:00
Hector Martin
c39fe2fbde
m1n1.fw.asc: Handle syslog/ioreporting buffer size properly
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-23 23:10:28 +09:00
Hector Martin
1666d86d43
fw.asc.mgmt: Handle version negotiation properly
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-23 23:04:23 +09:00
Hector Martin
cc39491863
m1n1.proxy: Allow overriding default timeout with M1N1TIMEOUT
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-23 17:03:20 +09:00
Hector Martin
017f050fff
hv_vuart: Implement RX & enough to support Linux
...
This works to get to a serial shell on Linux, and to use m1n1-as-LV1
proxyclient with M1N1DEVICE=/dev/m1n1-sec
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-23 17:02:28 +09:00
Hector Martin
c2c6da3df2
fw.dcp.ipc: Remove junk prints
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:53:32 +09:00
Hector Martin
de5b5d996c
m1n1.fw.dcp: Add DCP client framework, port tracer to it
...
This also includes an update to the macOS 12.0 beta ABI
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:39:17 +09:00
Hector Martin
b32aec3786
m1n1.trace.asc: Use shared reg/msg definitions, improve syslog
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:37:09 +09:00
Hector Martin
27a0a15eee
m1n1.hw/fw.asc: Add basic ASC driver and RTKit handling
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:36:49 +09:00
Hector Martin
7b01b0525b
m1n1.trace.asc: Be more clear about endpoint number in log
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:34:24 +09:00
Hector Martin
105b671fb3
m1n1.hw.dart: Add mutation functions (iomap, iowrite)
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:33:18 +09:00
Hector Martin
fc5ce75c21
m1n1.adt: Add repr()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:32:26 +09:00
Hector Martin
fe503a3802
m1n1.proxy: Handle zero-length readmem()
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:32:07 +09:00
Hector Martin
a96e277b56
m1n1.utils: Add Constant support to Register
...
This allows setting register fields to an expected contant value, e.g.
because they are opcodes for a variable-format register (like a mailbox)
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:31:10 +09:00
Hector Martin
b00b36620a
m1n1.utils: Add unhex() helper
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:30:38 +09:00
Hector Martin
f8110dd409
hv_exc: Handle M1RACLES mitigation here due to 12.0 spam
...
macOS 12.0 added a silly ineffective "mitigation" that clears the
register on every context switch. This doesn't actually mitigate
anything, but it does make this sysreg trap performance-critical,
so we have to move its handling into the C side.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-08-14 16:30:18 +09:00
Andrew Worsley
bd5211909e
Fix Exception when no Signature present
...
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 23:54:23 +09:00
Pip Cet
d709b047d8
proxyclient/m1n1/utils.py: don't compact non-adjacent ranges
...
Signed-off-by: Pip Cet <pipcet@gmail.com>
2021-08-03 13:53:41 +09:00
Andrew Worsley
1d932888f9
Add command categories to reduce command clutter
...
Based on a suggestion from Ludwig Schubert it now uses the inspect class
to generate signatures of the functions for the help messages and
the qualified names which is a big improvement.
Also greatly reduced the clutter by putting the class functions into seperate
categories based on their class name. Now the top level help fits on one
page making it much more readable.
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 13:52:31 +09:00
Andrew Worsley
ddb6951abb
Fix some review comments, spacing
...
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 13:52:31 +09:00
Andrew Worsley
255f1bac16
Add some doc string to write/read/mrs/msr
...
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 13:52:31 +09:00
Andrew Worsley
eab52cc855
Extend help to all commands
...
Also print 1 line summary or full output if called directly on command
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 13:52:31 +09:00
Andrew Worsley
bf4f702077
Add some docstrings/help to shell commands
...
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 13:52:31 +09:00
Andrew Worsley
012ecc07e7
Add simple help command to shell tool
...
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 13:52:31 +09:00
Andrew Worsley
2ea43e6ff1
Briefly document protocol
...
Signed-off-by: Andrew Worsley <amworsley@gmail.com>
2021-08-03 13:52:31 +09:00
Hector Martin
63e8d0d48e
m1n1.fw.dcp.ipc: Fix late_init_signal return type
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-07-18 02:28:27 +09:00
Hector Martin
9fae977161
m1n1.fw.dcp.ipc: Add SizedArray/SizedBytes to handle data/len pairs
...
The serialization always uses fixed-length arrays. These wrappers use a
length argument (possibly coming later in the args) to size the fields
so that the arrays are truncated or padded to the right length as
returned to the user.
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-07-18 02:28:26 +09:00
Hector Martin
231aa772fd
m1n1.fw.dcp: Initial DCP log tracing implementation
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-07-15 22:29:01 +09:00
Hector Martin
0034311ee3
m1n1.utils: Add indent argument to chexdump
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-07-15 22:27:52 +09:00
Sven Peter
5b86c1ee8d
proxyclient: sep: add initial code to boot SEPOS
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2021-07-09 15:58:00 +09:00
Sven Peter
93ca3fae08
hv: add hardware breakpoint support
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2021-07-09 15:52:40 +09:00
Sven Peter
e0d889fac1
hv: add proper single stepping support
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2021-07-09 15:52:40 +09:00
Janne Grunau
e74b79dc2a
m1n1/hv: fix irq trace after "Rework MMIO PT handling & tracing"
...
Also removes unused leftover demonstration code which came obsolete by
tracer scripts. See hv/trace_gpio.py for an example.
Signed-off-by: Janne Grunau <j@jannau.net>
2021-07-09 15:31:08 +09:00
Hector Martin
3cfe943ec3
m1n1.trace.asc.Syslog: Fix message termination
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-06-24 01:15:15 +09:00
Hector Martin
7687d00f5f
m1n1.trace.asc: Add EP.start() to initialize endpoints
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-06-24 01:14:57 +09:00
Hector Martin
c490f74872
m1n1.trace.asc: Move EP handlers to per-EP objects
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-06-23 20:19:30 +09:00