ChanServ changed the topic of #asahi-re to: Asahi Linux: porting Linux to Apple Silicon macs | Hardware / boot process / firmware interface reverse engineering | WARNING: this channel (only) may contain binary reverse engineering discussion | RE policy: https://alx.sh/re (MANDATORY READ) | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Logs: https://alx.sh/l/asahi-re
Ph03n1ks has quit [Remote host closed the connection]
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
doggkruse has joined #asahi-re
Ph03n1ks has joined #asahi-re
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<rqou_> i think i have the core of the t8110 dart figured out https://github.com/rqou/m1n1/tree/dart-t8110
<rqou_> note that this is hardware revision 1.0, and the actual M2 may have yet another new version of this DART interface
<nicolas17> rqou_: did you figure it out by blackbox testing or reversing Apple's kernel?
<rqou_> mix of both
<nicolas17> you could decompile A15 kernels if you're curious about the future hw :)
<rqou_> oh, the code is available, just the hardware behavior wouldn't be
<rqou_> unless someone wants to hand me a research jailbreak on an a15
<rqou_> possibly even requiring a PPL bypass
Ph03n1ks has quit [Remote host closed the connection]
chadmed has joined #asahi-re
akemin_dayo has joined #asahi-re
Ph03n1ks has joined #asahi-re
Ph03n1ks has quit [Read error: Connection reset by peer]
Ph03n1ks has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
Ph03n1ks has quit [Remote host closed the connection]
Ph03n1ks has joined #asahi-re
Ph03n1ks has quit [Ping timeout: 480 seconds]
Ph03n1ks has joined #asahi-re
Ph03n1ks has quit [Ping timeout: 480 seconds]
Ph03n1ks has joined #asahi-re
PhilippvK has joined #asahi-re
phiologe has quit [Ping timeout: 480 seconds]
Ph03n1ks has quit [Remote host closed the connection]
bisko has quit [Read error: Connection reset by peer]
Ph03n1ks has joined #asahi-re
doggkruse has joined #asahi-re
bisko has joined #asahi-re
Ph03n1ks has quit [Ping timeout: 480 seconds]
Ph03n1ks has joined #asahi-re
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ph03n1ks has quit [Ping timeout: 480 seconds]
Ph03n1ks has joined #asahi-re
Ph03n1ks has quit [Remote host closed the connection]
Ph03n1ks has joined #asahi-re
alcazar has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
doggkruse has joined #asahi-re
Ph03n1ks has quit [Remote host closed the connection]
Ph03n1ks has joined #asahi-re
<rqou_> uhh the linux DART driver doesn't try to set PTE bit 1 (SP_PROT_DIS) does it? because on t6000 that bit does something completely different
<rqou_> according to the symbols, it flags the page as uncacheable
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
<jannau> rqou_: the common io-pgtable-arm.c used by the dart driver sets that bit
r0ni has quit [Quit: Textual IRC Client: www.textualapp.com]
<rqou_> uhh where? can we make it not do that?
<jannau> search for ARM_LPAE_PTE_TYPE_PAGE
<rqou_> ah
<rqou_> Someone(TM) should maybe investigate/fix that?
<rqou_> idk if the bit actually works
<jannau> I don't think we can change it to not set that code, we would hvae to copy it and make it dart specific
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jannau> it's possible to not set that bit for testing locally
<jannau> or maybe we can, just extend the 'fmt != ARM_MALI_LPAE' with 'fmt != APPLE_DART'
<rqou_> idk, i'm not really a good kernel dev
<rqou_> at some point should investigate whether or not that bit actually makes the page not be cached (presumably in the DART TLB?)
<rqou_> unrelatedly, does anybody know how to fix ghidra's varargs ABI?
Ph03n1ks has quit [Remote host closed the connection]
doggkruse has joined #asahi-re
the_lanetly_052 has joined #asahi-re
doggkruse has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
chadmed has quit [Remote host closed the connection]
<sven> uh, uncacheable might also mean that access to that page bypasses all caches
<sven> which wouldn't be great if we accidentally set that for all pages :D
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
chadmed has joined #asahi-re
nicolas17 has quit [Ping timeout: 480 seconds]
<rqou_> this only affects iommu pages, but yes
<rqou_> idk if it bypasses all caches or just the iommu TLB
chadmed has quit [Remote host closed the connection]
chadmed has joined #asahi-re
chadmed has quit [Remote host closed the connection]
chadmed has joined #asahi-re
MajorBiscuit has joined #asahi-re
Ph03n1ks has joined #asahi-re
Ph03n1ks has quit []
chadmed has quit [Ping timeout: 480 seconds]
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
MajorBiscuit has quit [Ping timeout: 480 seconds]
<sven> I’ve never seen a bit to indicate “don’t add this to the tlb” but “accesses to this page bypasses all caches” is pretty common
herbas has joined #asahi-re
MajorBiscuit has joined #asahi-re
<rqou_> btw, why doesn't attempting to turn on dart-apcieN work?
<rqou_> >>> p.pmgr_adt_clocks_enable(f'/arm-io/dart-apciec0')
<rqou_> TTY> pmgr: Error getting /arm-io/dart-apciec0 clock-gates.
<rqou_> 0xffffffffffffffff
<jannau> the clock-gates are in '/arm-io/apciec0' and not in the dart node
<rqou_> hmm, then i get 0xffffffff trying to read any of the DART registers
<rqou_> (i'm just trying to check the parameter registers to see if they're very different or not)
MajorBiscuit has quit [Ping timeout: 480 seconds]
<sven> that's more complex
<sven> getting the thunderbolt DART up requires ATCPHY to be up and that CIO co-processor to be running as well
<sven> technically it only requires you to poke some "thunderbolt clock" or something that's different from the normal PMGR stuff
<sven> but if you do that without ATCPHY or handling that CIO co-processor you get ~2 seconds until the entire SoC reboots
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
<rqou_> even if i just want to read register 0?
<sven> yes
<rqou_> F
<rqou_> ok, i'll look at this some other time
amarioguy has joined #asahi-re
<sven> the easiest way is probably to run macOS, connect some thunderbolt device and then break in the hypervisor and read it from there
<rqou_> not sure i even own any thunderbolt devices
amarioguy has quit [Remote host closed the connection]
kameks has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
alyssa has quit [Quit: leaving]
bisko has joined #asahi-re
herbas has quit [Quit: herbas]
the_lanetly_052 has quit [Ping timeout: 480 seconds]
MajorBiscuit has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
kameks has quit [Ping timeout: 480 seconds]
nicolas17 has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
doggkruse has joined #asahi-re
Misthios has quit [Quit: Misthios]
Misthios has joined #asahi-re
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bisko has joined #asahi-re
MajorBiscuit has quit [Ping timeout: 480 seconds]
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
Shiz has quit [Ping timeout: 480 seconds]
bisko has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bisko has joined #asahi-re
bisko has quit [Read error: Connection reset by peer]
bisko has joined #asahi-re
bisko has quit [Quit: Textual IRC Client: www.textualapp.com]
yrlf has quit [Quit: The Lounge - https://thelounge.chat]
yrlf has joined #asahi-re
yusoofsh[m] has left #asahi-re [#asahi-re]