Commit graph

642 commits

Author SHA1 Message Date
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
08c34dbc37 hv/trace_agx.py: Reload some stuff
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
Hector Martin
144c3da78e experiments/amcc_err_handler.py: New old thing to dump AMCC errors 2022-04-19 23:32:11 +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
90479ac755 jpeg: Add documentation
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
04fc26639b jpeg: Unbreak encode for RGB formats
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +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
4681053ea9 jpeg: Implement encoding other RGB formats
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
970b2789d0 jpeg: Implement encoding subsampling modes
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
9fca773c8f jpeg: Implement decoding into planar formats
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
3a18075d89 jpeg: Decode linear YUV
Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
4c8807fcca jpeg: Add RGB565 to decoder
Note that dithering does not get configured

Signed-off-by: R <rqou@berkeley.edu>
2022-04-16 19:40:44 +09:00
R
7350baf58b jpeg: Implement decoding other subsampling modes
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