ChanServ changed the topic of #asahi to: Asahi Linux: porting Linux to Apple Silicon macs | General project discussion | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Topics: #asahi-dev #asahi-re #asahi-gpu #asahi-offtopic | Keep things on topic | Logs: https://alx.sh/l/asahi
<alyssa>
sven: So if I get rid of the "link up wait" poll entirely, PCIe still comes up fine.
<alyssa>
(Like without handling interrupt either)
<alyssa>
what's unclear to me is if that's valid or if we're just winning the race every time.
<alyssa>
similarly for the link idle poll, just checking once before the init is a lot simpler. but again, now I dunno if there's a race.
<alyssa>
(It's worked every single time I've booted, but that isn't proof of the absence.)
riker77_ has joined #asahi
riker77 has quit [Ping timeout: 480 seconds]
riker77_ is now known as riker77
hendry has quit [Quit: brb]
PhilippvK has joined #asahi
phiologe has quit [Ping timeout: 480 seconds]
<alyssa>
sven: For whatever it's worth, "irqchip/apple-aic: fix irq_disable from within irq handlers" and "arm64: apple: add dwc3 controller and DART nodes" are both
<alyssa>
would love to get the dwc3 one out of my tree, it's been at the center of so many conflicts...
marvin24 has joined #asahi
marvin24_ has quit [Ping timeout: 480 seconds]
hendry has joined #asahi
<sven>
alyssa: pretty sure we just win the race
<sven>
and we need the interrupt for thunderbolt in the end anyway
<sven>
alyssa: the apple-aic is on the ML and needs marcan's review/ack. and i'd rather wait before submitting the usb nodes until at least the replugging issue is fixed
<sven>
and regarding conflicts... that's probably because i didn't order the nodes correctly. if they're all order by address git should be able to just resolve them
<sven>
*ordered
<marcan>
I'll look at it tomorrow, wrapping up some other stuff today
<sven>
no worries, it's not required for pcie. you also only hit that issue if you disable an interrupt inside its own interrupt handler, so it's probably rare
<pipcet[m]>
(not that rare, but it's a pretty obvious fix)
gladiac has quit [Quit: Ping timeout (120 seconds)]
gladiac has joined #asahi
gladiac is now known as Guest4481
gladiac has joined #asahi
Guest4481 has quit [Read error: No route to host]
gladiac has quit [Read error: No route to host]
gladiac has joined #asahi
<landscape15[m]>
Hi. Do you think FileVault encryption will not be a problem for Asahi to run? I don't want to reduce security.
<MTecknology>
IIRC, that's currently not recommended; I think it's mentioned in the "how to" docs
<tophevich[m]>
landscape15: Without realy answering your question directly, AFAIK nobody would recommend Asahi for production use in any way, shape or form at the moment. You can use it for testing/hacking purposes with the explicit knowledge that it can break things, like currupt your drive.
<pipcet[m]>
(which might require a DFU recovery!)
<MTecknology>
Is that the "revive" method?
<pipcet[m]>
I believe it is, yes.
<landscape15[m]>
Ok thanks. I can't understand why macOS Recovery isn't built-in. It would be better also for Apple 🙂
<MTecknology>
Ehm, as a mac hater, I'd say they do a pretty good job of it
<MTecknology>
With the dual boot method, my brain can't currently see any way to brick it
<sven>
DFU is only required if you mess up very badly, like using a nvme-enabled kernel and then overwriting the entire namespace or something
<MTecknology>
I would need a friend of a friend with a mac to be able to use that recovery option, but I'm sure I could find /someone/.
<sven>
there's also a chance that erasing the NOR flash bricks it even beyond DFU-repair, but that's still unknown
<pipcet[m]>
sven: writing to the recovery partition does the trick :-)
<sven>
libidevicerestore also support DFU-restore now afaik
<sven>
so all you should need is another linux machine
<MTecknology>
oh, neat-o
<sven>
there's at least a PR that got merged so i assume it works :-)
<MTecknology>
"libidevicerestore" currently goes over my head and I start a new job in a few hours so I /should/ go to sleep, but I made a note of that for later reading.
<landscape15[m]>
MTecknology: Yeah, I'm also pleased that the T2 chip has been removed.
<MTecknology>
Thanks :)
<sven>
might be more accurate to say that the intel chip got removed and the T2 chip was improved :D
<chadmed>
yeah the T2 didnt go anywhere, its just been renamed to the SEP
<sven>
uh, no
<sven>
the T2 became the main SoC
<sven>
the T2 also has an SEP afaik
<landscape15[m]>
Maybe the Touch ID data is saved there
<sven>
what used to be the T2 is literally the M1 now
<chadmed>
yeah wow ok errors have been made
<chadmed>
never realised it was so... fully featured
<sven>
yeah, i'm pretty sure you could even run linux with the various patches for M1 support on the T2 with some minor changes
<landscape15[m]>
I hope, because I have a T2 Mac right now.
<sven>
erm.. that wouldn't help you there
<pipcet[m]>
sven: you haven't run into the nGnRnE/nGnRE thing at all so far, right?
<sven>
pipcet[m]: what do you mean by that?
<pipcet[m]>
(weird serrors when mixing read and write accesses to mmio space)
<sven>
uhh... no
<sven>
and it sounds like you're doing something weird
<landscape15[m]>
sven: But I think I will definitely forget Intel Macs in few years...
<pipcet[m]>
sven: corellium code (which uses nGnRnE) works, asahi doesn't, asahi + ioremap_np works again, pretty sure it's the E/nE thing. only shows up in kernel code since you have to mix read*() and write*() pretty much immediately for it to race
<sven>
yeah, as i said: doing something weird
<pipcet[m]>
I was writing to the SMC SRAM and it behaved like the writes never happened, so I added some reads to make sure they made it, and they didn't...
<marcan>
pipcet[m]: the initial patchset introduced ioremap_np into the relevant abstraction layers
<marcan>
it's not a race. if you use the wrong mode you get SErrors on writes, period, always
<marcan>
(if you're not corellium and don't disable it :p)
<marcan>
M1-specific drivers that need to do bare ioremaps on non-PCI space and cannot just rely on the existing abstraction layers for openfirmware/etc should use ioremap_np
<pipcet[m]>
so IIUC they disabled the serrors and wrote in the wrong mode, and you didn't and write in the right mode? cool.
<marcan>
I don't know why they disable the serrors
<marcan>
I do know you can get serrors for other reasons, e.g. byte writes to the UART, but those *do* work even though you get a serror
<marcan>
so I can only assume they have semi broken drivers that trigger errors but still (kind of?) work and that's why they do that
<kettenis_>
yeah the uart writes were fun ;)
<marcan>
also corellium did the ioremap stuff in a completely different way, so if you're grafting their drivers onto mainline, that won't work if they use ioremap directly
<marcan>
you need to go through the appropriate abstraction layers or use ioremap_np
<marcan>
this is why I spent weeks bikeshedding this to find a solution acceptable to mainline ;)
<pipcet[m]>
fair enough
<marcan>
anyway, just to reiterate: I know a bunch of the corellium code is bad, and y'all are taking those drivers as-is under your own responsibility. I'm going to take a good look at getting this kernel mess on track starting this week, just let me wrap up some unrelated stuff today ;)
<landscape15[m]>
I tried the Corellium project, but it is almost unusable. I hope Asahi will be as clean as possible, especially with GPU drivers.
<marcan>
that is the goal :)
<marcan>
it just takes some time
<landscape15[m]>
Ok then ;) Rome has not been built in one day
<landscape15[m]>
Which community should I look when watching the Youtube streams?
<j_ey>
landscape15[m]: here or the youtube chat
Santiago[m]1 has joined #asahi
<marcan>
I generally have both open
<landscape15[m]>
Ok thanks, I will keep both opened
<marcan>
also if you're saying something to me here, ping me by name, since it's not a channel dedicated to the stream
<tophevich[m]>
marcan: it feels spammy in here, and it is quite disconnected if ppl don't know that one writes in response to something happening on stream, #asahi-streams or something along those lines would might be nice. Can also be used by others while like alyssa ...
<marcan>
yeah, that might be a good idea
<landscape15[m]>
marcan: Yes sure
<tophevich[m]>
(omg, my sentences always get so jumbled, I'm a realy bad multi-tasker, but I keep trying and failing at it anyways ... I hate that it gives the sence of being oh so productive while in reality it is quite the opposite :( ... sorry in advance if you feel like you are having a stroke while reading my word salat)
<jn>
good idea. the /topic of #asahi-stream could also have the link to the currently running stream, while there is one
<marcan>
sounds good, I'll set it up before the next stream :)
jbowen has joined #asahi
marvin24_ has joined #asahi
marvin24 has quit [Ping timeout: 480 seconds]
cgv[m] has joined #asahi
<alyssa>
sven: ack.
yuyichao has quit [Ping timeout: 480 seconds]
yuyichao has joined #asahi
Raito_Bezarius has quit [Ping timeout: 480 seconds]
Raito_Bezarius has joined #asahi
bps2 has quit [Remote host closed the connection]
bps2 has joined #asahi
bps2 has quit [Ping timeout: 480 seconds]
sid-maddy has joined #asahi
kwilczynski has quit []
kwilczynski has joined #asahi
kthxg has quit [Quit: Quit]
phofe is now known as Guest4527
Guest4527 has left #asahi [brb]
erincandescent has quit [Remote host closed the connection]
erincandescent has joined #asahi
sid-maddy has quit [Quit: Quit]
<jeffmiw>
fwiw I just updated the https://github.com/AsahiLinux/docs/wiki/SW:Hypervisor wiki page with some details about macOS & Kernel version as it can help when trying to reproduce the experiment(booting macOS under hv). I did validate it with macOS 11.5.2.
bps2 has joined #asahi
bps2 has quit [Remote host closed the connection]
phofe has joined #asahi
phofe is now known as pho[m]
<alyssa>
Two years of Mali r/e have made me way too comfortable writing drivers I don't understand for hardware I don't understand.