Asahi Lina
6902cb6210
m1n1.trace.agx: Disable the ASC tracer after initdata is available
...
Since we directly trace the queue rptr/wptr memory locations, we don't
need the ASC tracing and this speeds things up quite a bit (without it,
Linux can get stuck in a pathological stats gathering loop without
making forward progress while traced).
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
b219bc318a
m1n1.fw.agx: Fixes for V13_3
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
b6dec2a644
m1n1.constructutils: Improve Rust export
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
c2bbb41953
m1n1.fw.agx: More fixes for t602x stuff
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
b7389c59be
kboot_gpu: Add T602x to the support list
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
1c7131e26d
m1n1.agx: T602x rendering changes
...
Too lazy to split this up...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
af6b8c29a8
m1n1.constructutils: Fix array addressing bug
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
b29c9734ad
m1n1.adt: Add float parsing for *-kp-1
props.
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
dabde44937
m1n1.fw.agx: Initdata setup & fixes for G14X/V13_3
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
e4fa6048c2
m1n1.fw.agx: Add changes for G14X on 13.2 and 13.3
...
Still pending confirming 13.3 on other architectures...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:01 +09:00
Asahi Lina
d3e61153cc
m1n1.trace.agx: Do not dump misc structs
...
These are no longer there with the register lists, and it's all
redundant anyway...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
2dbbe6050d
m1n1.fw.agx.initdata: T602x 13.3 initdata structure changes
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
18005b0f73
m1n1.fw.agx.initdata: T602x 12.3 initdata structure changes
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
83a2a6a9bc
m1n1.adt: Add afr/cs perf state props
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
0f1f3b23ee
m1n1.trace.agx: Run the init_hook before the shell
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
b35f0d7cf2
kboot_gpu: Initial T602x support
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
af85202b58
math: Add powf()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Asahi Lina
f7639885ce
fw.agx.channels: Don't crash if meta_fn is None
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2023-06-27 18:35:00 +09:00
Hector Martin
88df8a6335
cpufreq: Initialize a bunch more stuff
...
At least some of this fixes hangs when overheating on j413. We still
don't know exactly what most of this is, but let's try to get closet to
the init that macOS does.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-04 20:10:39 +09:00
Hector Martin
5cd985b4db
cpufreq: Redefine the dvmr flag as pcluster
...
We're going to use this later.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-04 17:03:58 +09:00
Hector Martin
7ce414224c
pmgr: Add a helper to test for pmgr features in the ADT
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-04 17:02:48 +09:00
Hector Martin
1f154402a4
cpufreq: Drop the DVMR stuff
...
This is enabled by iBoot in all versions we support.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-04 17:02:44 +09:00
Hector Martin
a0d2ed20be
payload: Do cpufreq init before smp_start_secondaries()
...
This also requires exporting this to the proxy so linux.py can use it.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-04 15:56:42 +09:00
Hector Martin
4124485265
hv: Make breadcrumbs per-CPU and introduce panic handler
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-06-03 12:47:39 +09:00
Hector Martin
2c531aa7ae
hv_exc: Remove PMC0 CNT enable shadowing from fast sysreg path
...
This is outside the hv_exc_entry/hv_exc_exit bracketing now, so modify
the register directly. We only stop the PMCs when we go into the
slowpath.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-22 00:27:08 +09:00
Hector Martin
db598aa4cf
m1n1.hv: Fix register names
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-21 12:29:13 +09:00
Janne Grunau
076217a802
display: Skip init on j473/474s while it's not supported
...
Signed-off-by: Janne Grunau <j@jannau.net>
2023-05-16 18:23:44 +09:00
Hector Martin
ae1bcd6fe2
m1n1.hv: Update IMPDEF reg names
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-06 00:51:30 +09:00
Hector Martin
6c005ddd49
asm: Fix replacing reg names that are substrings (DAIF etc)
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-06 00:51:05 +09:00
Hector Martin
48db941199
cpu_regs.h: Typo fix
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 19:20:48 +09:00
Hector Martin
50c808df2c
pmgr: Power up parents before children
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 12:39:26 +09:00
Hector Martin
59e0032ba4
cpu_regs,apple_regs.json: More registers
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 04:46:11 +09:00
Hector Martin
234b7064ef
experiments/aic2_vms.py: New experiment
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 02:02:19 +09:00
Hector Martin
895488aebb
chickens: Change IRQ mode from 0 to 2
...
0 seems to misbehave when IRQs fire in EL1. 2 works as intended.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 00:32:42 +09:00
Hector Martin
abe4bb04c5
exception: Improve IRQ/FIQ log messages
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 00:31:05 +09:00
Hector Martin
ebd4613f61
proxy: Add smp_call[_sync]_el1 variants
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-05-05 00:31:05 +09:00
Janne Grunau
254a2acf18
dcp_iboot: Support macOS 13.3 DCP firmware
...
The macOS 13.3 DCP firmware extended swap_set_layer_cmd in an
incompatible way. Let dcp_ib_swap_set_layer() send the matching struct
based on the firmware version.
Signed-off-by: Janne Grunau <j@jannau.net>
2023-04-27 04:11:18 +09:00
Janne Grunau
01ea1ae8df
afk: Accept message type TYPE_REPLY in start_interface
...
The macOS 13.3 DCP firmware uses TYPE_REPLY instead of TYPE_NOTIFY for
the disp0-service interface init message.
Signed-off-by: Janne Grunau <j@jannau.net>
2023-04-27 04:11:18 +09:00
Janne Grunau
7a84b2bbf9
tools/run_guest_kernel.sh: Support concatenated initramfs images
...
This allows booting a kernel with the firmware cpio and a cpio
containing matching modules. The modules initramfs can be prepared from
the kernel source directory with:
`make dir-pkg && usr/gen_initramfs.sh -o initramfs_mod.cpio -u squash -g squash ./tar-install/lib/`
The modules are available in /modules/$(uname -r) and the initramfs can
handle modules in the same way as the vendor firmware to make them
available for itself and the main OS.
Signed-off-by: Janne Grunau <j@jannau.net>
2023-04-27 04:09:49 +09:00
Janne Grunau
cd8e9d6676
payload: Add a custom header with a payload size field for initramfs'
...
This add supports for concatenated (compressed) cpio archives and relies
on the kernel to decompress the initramfs.
Signed-off-by: Janne Grunau <j@jannau.net>
2023-04-27 04:09:49 +09:00
Hector Martin
54f44be7d6
hv_exc: Add hv_add_time() function & proxy thunk
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-26 00:51:51 +09:00
Hector Martin
9e9693eb6c
rust: Switch to RUSTC_BOOTSTRAP=1 backdoor instead of nightly
...
Nightly is messing around with alloc_error_handler and they can't seem
to make up their mind about it, breaking our CI. Just switch to stable
rust with the usual backdoor to enable unstable features (same as the
kernel does).
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-25 23:58:05 +09:00
Hector Martin
1933e59af6
rust: Drop mixed_integer_ops feature
...
This is now stable.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-25 23:56:17 +09:00
Hector Martin
7cbd3e7612
rust: Upgrade log to 0.4.17
...
Fixes a compile warning.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-25 23:50:01 +09:00
Hector Martin
9602fb1859
hv_exc: Add a fast path for sysregs that can be handled without locking
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-25 20:08:59 +09:00
Hector Martin
a0f01809ce
experiments/touchbar_rainbow.py: Better rainbow
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-23 18:12:09 +09:00
Hector Martin
b8b76f34f4
cpufreq: Correct fixup for M2 devices
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 04:44:58 +09:00
Hector Martin
a81314fe77
run_guest: Implement going to sleep
...
Getting back from sleep is left as an exercise to the reverse
engineer...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 03:21:58 +09:00
Hector Martin
bd63b119ec
startup: Direct primary CPU RVBAR entry to m1n1 main
...
This definitely isn't going to work yet, but it's better than ending up
in the secondary loop if it ever works.
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 03:21:58 +09:00
Hector Martin
06b732e788
smp: Add smp_stop_secondaries()
...
Doesn't work properly yet since we can't restart them...
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-04-19 03:21:58 +09:00