Janne Grunau
3c5b0fdd52
dart: Add DART_PTR_ERR to indicate failures for IOVA returning functions
...
0 is a valid and used device virtual address. Daart functions returning
device address can not use 0 to indicate errors.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-09-27 06:04:41 +09:00
Asahi Lina
fe0d3e8e34
tunables_static: New module to set up static tunables
...
This is for things that xnu hard-codes. This first one for AGX is
required to make coprocessor TLB coherency work properly...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:04:41 +09:00
Asahi Lina
a15eb0919d
hv_vm: Support LDAR/STLR instructions
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:04:41 +09:00
Asahi Lina
da9ceddeac
memory: Map lowmem using 16K pages only
...
Turns out CTRR does not like working with huge pages, and just throws up
its hands in the air with an L2 address size fault if a huge page
overlaps the CTRR region.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Asahi Lina
6feceef2b0
hv_vm: Retry mapped page faults
...
This is usually a race that happens when the Python side has just
removed a hook, but there was already a CPU core faulting on an access.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-09-27 06:02:28 +09:00
Hector Martin
c0b1dbea20
kboot: Fix chosen arg setting with >1 var
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-09-18 20:17:51 +09:00
James Calligeros
ca47121561
kboot: inject Apple serial number into the FDT
...
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
2022-08-30 22:32:03 +09:00
Janne Grunau
0f0ddf3397
hv_exc: Add s3_7_c15_c3_1 sysreg passthroughs for t8112/macos 12.4
...
Boot panics due to what appears a timeout without ignoring this sys_reg
in m1n1.
Signed-off-by: Janne Grunau <j@jannau.net>
2022-08-30 22:30:22 +09:00
Hector Martin
4c672c00b6
iodev, uartproxy: Fix write interleaving causing corruption
...
This should fix the issue where console writes from another CPU in the
middle of events/etc corrupt data
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Hector Martin
170cca1482
mcc: Also unmap memory aliases
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Hector Martin
8fa5659bab
kboot: Squelch die-count warning
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Hector Martin
8f945fcdfe
exception: Clean up FIQ state on secondary startup
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-08-29 17:02:40 +09:00
Asahi Lina
ad29c08ab8
exception: Clear L2C error flags on exception
...
Some of these errors are apparently sticky / write-1-to-clear, and if we
don't do this, then the SError behaves as level-triggered and just continues
to fire.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-18 18:33:32 +09:00
Asahi Lina
89a482fcab
memory: Do not invalidate Normal-NC mappings
...
We probably don't need it, and the hypervisor doesn't like it.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 17:17:22 +09:00
Asahi Lina
6f6073a531
exception: Fix a lot of brokenness when exceptions are taken in GLx
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
e1b12a6983
usb_dwc3: Make it 3 times faster
...
We can use buffers that are more than one packet in size!
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 15:00:00 +09:00
Asahi Lina
15d04b3778
proxy: Expose hv_write_hcr()
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:02:55 +09:00
Asahi Lina
b6d2cc127c
hv_exc: Add support for resetting stolen time delta
...
This is useful to re-sync AGX, since it shares the same timebase as the
CPU.
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-17 14:01:49 +09:00
Asahi Lina
e3d5f70244
afk: Correctly ack unknown messages during init
...
Signed-off-by: Asahi Lina <lina@asahilina.net>
2022-08-05 15:26:05 +09:00
Hector Martin
0c04783a86
main: Check for SIP disable for proxy backdoor mode
...
Seems -v stopped being filtered (or never was?). Explicitly check boot
policy, so we don't depend on boot-args filtering directly (which can
change). -v still makes things verbose unconditionally, but the proxy
backdoor now requires that plus full SIP disable (sip0=127).
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-30 11:18:23 +09:00
Hector Martin
f61e5d4958
cpu_regs: Add more chicken bit names
...
These are from a public Apple source that shall remain unidentified
(because it's utterly silly that they keep trying to hide these).
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-17 03:17:13 +09:00
Hector Martin
ee0667e190
chickens_avalance: Add missing HID11_DISABLE_LD_NT_WIDGET
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-17 01:43:32 +09:00
Hector Martin
ffc38f84ac
kboot: Grab kblang-calibration for M2
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-12 13:44:48 +09:00
Hector Martin
9769200f60
nvme: Reset ANS as well as ANS2
...
M2 machines call it that...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-12 13:08:28 +09:00
Hector Martin
a5a57c230e
pmgr: Add pmgr_adt_reset()
...
This isn't actually useful for NVMe, but let's keep it...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-12 13:04:42 +09:00
Sven Peter
aacbfc04e9
kboot: swap BD address
...
Unlike the MAC addresses Bluetooth addresses have to be stored
in little-endian byte order (see devicetree/bindings/net/bluetooth.txt)
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-07-11 19:56:42 +09:00
Hector Martin
b1ad2d340f
asc: Do not clear ASC run bit while running
...
Some ASCs will get stuck if we do that. Instead, explicitly clear it
after an RTKit shutdown.
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
ecfed3e100
pcie: Add t8112 support
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-01 23:37:00 +09:00
Hector Martin
bf09fcd286
asc: Add retries and a timeout to asc_send
...
Fixes : #211
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-07-01 18:03:42 +09:00
Sven Peter
481e4ceefc
kboot: use 'local-bd-address' for bluetooth mac address
...
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-07-01 17:58:02 +09:00
Sven Peter
2c37105412
kboot: propagate bluetooth calibration blob
...
Depending on the chip stepping (stored in the OTP) either the blob for
beamforming or the normal calibration blob has to be used.
Signed-off-by: Sven Peter <sven@svenpeter.dev>
2022-07-01 17:58:02 +09:00
Hector Martin
b1f9d72554
hv: Don't touch DCP on laptops
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:47:02 +09:00
Hector Martin
1ac6c7659d
smp: Add T8112 support
...
PMGR cpustart offset moved...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:47:02 +09:00
Hector Martin
55ca4855a5
cpufreq: Add T8112 clusters
...
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
Hector Martin
bfd03cf428
mcc: Add t8112 support
...
This is compatible with t8103.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
ece84e0acb
mcc: Make more robust
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
c481c0799b
main: Fix version number message
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:24 +09:00
Hector Martin
22adc922f7
chickens: Add T8112 chickens
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
b16a19715a
chickens: Split off core sequences into separate files
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
d9c1ef7d49
cpu_regs: Add new defines for T8112 chickens
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
8a607f049f
soc: Add T8112 defines
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Hector Martin
c947b600c7
main: Add a BRINGUP define to disable ~everything but UART
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-28 01:41:23 +09:00
Vincent Duvert
66a85593db
AFK: limit number of tries in start_interface
...
Signed-off-by: Vincent Duvert <vincent@duvert.net>
2022-06-21 17:20:54 +09:00
Hector Martin
f3ce8a68d0
smp: Fix pathological thrashing with the hypervisor
...
Writing to the IPI register causes a trap, which sets the event...
causing every CPU to go into a tight loop of traps contended on the BHL.
We don't need to clear IPIs in WFE mode, so don't do that.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 21:53:42 +09:00
Hector Martin
849729f0c0
memory: Add GRE and nGRE mappings for experiments
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 21:53:06 +09:00
Hector Martin
c95189ba2e
memory: Normalize naming of Normal-NC memory attributes
...
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 16:12:16 +09:00
Hector Martin
ee2949e744
smp: Use stronger barriers around wfe/sev
...
Not sure if this fixes anything, but it looks more correct.
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-06-19 15:21:59 +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