m1n1/proxyclient/hv
James Calligeros e2d671d597 hv/trace_mesa.py: add mesa tracer
Mesa is Apple's codename for the TouchID sensor. On M1-based
systems, it is connected to the SPI bus and communicates via
SIO on DMA channels 0x18 and 0x19. The application processors
seem to have very little to do with its operation.

After power on, the command buffer is encrypted by the SEP and
very little useful data can be gleaned from snooping the SIO
messages. While the commands are garbled by the SEP, we can see
that it has a few recurring themes:

* A power on routine involving some sort of calibration, perhaps
  to get a noise image to subtract from each fingerprint

* A polling mode where it is kicked by the kernel and acks if
  there's no finger on the sensor (runs while macOS waits for a
  print)

* A data transfer mode, where a SIO message is sent to an unmapped
  EP and the fingerprint scanned into memory. Likely triggered by
  an interrupt coming off the finger detection ring, but I haven't
  been able to verify this.

Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2022-06-21 17:22:16 +09:00
..
README.md run_guest.py: Add options to run external scripts: 2021-06-10 22:37:12 +09:00
trace_agx.py hv/trace_agx.py: Encoder ID filter example 2022-06-19 03:37:22 +09:00
trace_all.py hv/trace_all.py: Use async tracing by default 2022-01-16 19:39:03 +09:00
trace_atc.py proxyclient: hv: Add simple DWC3/XHCI/ATCPHY tracer 2021-09-22 19:01:03 +09:00
trace_codecs.py m1n1.hw.codecs.cs42l84: File the ohmmeter codec regmap 2022-06-21 17:20:30 +09:00
trace_dart.py m1n1.trace.dart: Add DART tracer/handler 2021-06-22 01:39:38 +09:00
trace_dart8110.py dart-t8110: Initial commit 2022-04-16 19:24:00 +09:00
trace_dcp.py hv/trace_dcp.py: Log hexdumps to the HV log 2022-06-01 00:57:17 +09:00
trace_gpio.py m1n1.hv: Use dynamic pin maps in trace_gpio.py 2022-03-11 12:06:01 +09:00
trace_i2c.py hv/trace_i2c.py: New example trace script 2022-01-16 19:39:03 +09:00
trace_keyboard.py m1n1.hv: Add trace script keyboard/trackpad 2022-03-11 12:06:01 +09:00
trace_mesa.py hv/trace_mesa.py: add mesa tracer 2022-06-21 17:22:16 +09:00
trace_nvme.py hv/trace_nvme: Trace rtkit interface and remove hardcoded sart address 2022-06-21 17:19:32 +09:00
trace_pmgr.py hv/trace_pmgr.py: New script 2021-11-22 07:21:07 +09:00
trace_prores.py prores: test 36-bit iova; fix tracer 2022-05-30 18:05:16 +09:00
trace_smc.py hv/trace_smc.py: Add GetKeyByIndex decoding 2022-02-15 14:05:13 +09:00

m1n1 hypervisor scripts

This directory contains scripts that can be executed to configure the hypervisor using the -m option to run_guest.py.