marcan 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
aquijoule_ has joined #asahi
richbridger has quit [Ping timeout: 264 seconds]
br377 has left #asahi ["WeeChat 1.9.1"]
br377 has joined #asahi
amboar has quit [Ping timeout: 245 seconds]
Namidairo_ has quit [Ping timeout: 260 seconds]
Namidairo has joined #asahi
amboar has joined #asahi
zkrx has quit [Ping timeout: 264 seconds]
zkrx has joined #asahi
Mrmaxmeier3 has joined #asahi
Namidairo_ has joined #asahi
gabiruh_ has joined #asahi
marvin24 has quit [Ping timeout: 240 seconds]
marvin24 has joined #asahi
angelXwind has joined #asahi
Mrmaxmeier has quit [Quit: Ping timeout (120 seconds)]
Namidairo has quit [Quit: ZNC - https://znc.in]
gabiruh has quit [Quit: ZNC 1.7.5 - https://znc.in]
akemin_dayo has quit [Remote host closed the connection]
Mrmaxmeier3 is now known as Mrmaxmeier
riker77_ has joined #asahi
riker77 has quit [Ping timeout: 260 seconds]
riker77_ is now known as riker77
porkbone has quit [Ping timeout: 260 seconds]
porkbone has joined #asahi
nicolas17 has quit [Quit: Konversation terminated!]
phiologe has quit [Ping timeout: 260 seconds]
PhilippvK has joined #asahi
br377 has quit [Remote host closed the connection]
br377 has joined #asahi
br377 has quit [Ping timeout: 264 seconds]
br377 has joined #asahi
Glanzmann has quit [Quit: leaving]
marvin24 has quit [Ping timeout: 260 seconds]
marvin24_ has joined #asahi
odmir has quit [Remote host closed the connection]
korzq has joined #asahi
korzq has quit [Changing host]
korzq has joined #asahi
zkrx has quit [Ping timeout: 260 seconds]
amboar has quit [Ping timeout: 260 seconds]
taziden has quit [Ping timeout: 260 seconds]
dsR1904 has joined #asahi
zkrx has joined #asahi
VinDuv has joined #asahi
taziden has joined #asahi
alvaro_fe has quit [Ping timeout: 260 seconds]
alvaro_fe has joined #asahi
vimal has quit [Ping timeout: 260 seconds]
mxw39 has quit [Quit: Konversation terminated!]
VinDuv has quit [Quit: Leaving.]
amboar has joined #asahi
raster has joined #asahi
M1f4a9[m] has joined #asahi
TheJollyRoger has quit [Remote host closed the connection]
TheJollyRoger has joined #asahi
M1f4a9[m] has left #asahi [#asahi]
M1f4a9[m] has joined #asahi
<marcan> well, this was a long time coming: https://asahilinux.org/2021/03/progress-report-january-february-2021/ :)
<marcan> I'll wait a bit before firing off the tweets
<winocm> nice article
<JTL> Gave it a brief skim (will read more later). Very impressed with the progress so far.
<sven> nice article :)
<dsR1904> nice
user1tt[m] has quit [Quit: Idle for 30+ days]
dpatterbee[m] has quit [Quit: Idle for 30+ days]
<vafanlignarde> awesome :)
bpye has joined #asahi
eric_engestrom has quit []
eric_engestrom has joined #asahi
vimal has joined #asahi
vimal has quit [Ping timeout: 272 seconds]
vimal has joined #asahi
<pipcet[m]> Hello everyone. I'm a GNU/Linux developer who just got an M1 MacBook Pro to run Linux on.
<pipcet[m]> I'm a bit confused about the different Linux kernel ports. I'm currently using the Corellium kernel and running Debian on top of that, and that appears to work. At what point would it make sense to start working with the Asahi kernel repo instead?
<j`ey> pipcet[m]: what's your goal?
<maz|> pipcet[m]: I guess it depends what you want to do. the current state of the Asahi kernel is much more primitive, but does the right thing in terms up upstreaming.
<pipcet[m]> Are you planning on reimplementing everything the Corellium kernel does, but doing so in a better way?
<j`ey> that's the eventual goal
<pipcet[m]> My goal, right now, is to compile my own kernel and debug it.
<j`ey> (well the goal is to upstream them)
<j`ey> pipcet[m]: debug the kernel?
<maz|> heresy!
<pipcet[m]> sorry, work on the drivers :-)
<pipcet[m]> I didn't mean running a debugger on it.
<jn__> debug also means, in general, to find and eradicate bugs
<j`ey> pipcet[m]: we dont know what corellium plans on doing with their code
<sven> their code is at least a good reference as to how parts of the hardware work, but I expect much of it will look very different when upstreaming it
<jannau> pipcet[m]: do you have a way to access the serial over the USB-C port? If not it's working with m1n1 or the asahi kernel is currently quite limited and annoying
<j`ey> sounds like sven is making some progress on USB stuff though :-)
<sven> I haven't looked at it very much but the parts I've seen look like they more or less reimplement what apple does instead of figuring out how linux would handle it
<sven> j`ey: yeah, if everything works out I should be able to get a cdc device up and running this weekend. so probably another 2-3 weeks ;)
<jannau> although testing a different kernel with coerllium's preloader is as annoying
<pipcet[m]> jannau: I don't think so. I don't have a second M1 Mac, at least :-)
<jn__> meanwhile, there's the big status report: https://asahilinux.org/2021/03/progress-report-january-february-2021/
<jn__> in case anyone hasn't seen it yet
<j`ey> pipcet[m]: what sven is working on should allow using a normal usb cable with m1n1
<sven> essentially enumeration (i.e. descriptors, set address, set configuration etc.) and control transfers work with a linux host. Mac OS doesn't like what I'm doing at all though and balks directly after a reset so far
<pipcet[m]> jannau: it certainly is annoying to have to go through 1TR whenever I want to boot a new kernel.
<pipcet[m]> sven: are you at the point yet where you can bitbang data from/to a Linux computer connected with a standard USB cable?
<sven> pipcet[m]: essentially yes. I could abuse control transfers to do that
<sven> but implementing the CDC device side shouldn't take much work at this point
<sven> and after that all of m1n1's tooling should just work with a normal usb cable
<pipcet[m]> sven: awesome, I think that would mean many more people could help and test.
<sven> yup :-)
Ravenheart has joined #asahi
odmir has joined #asahi
odmir has quit [Ping timeout: 245 seconds]
klaus has joined #asahi
amonakov has joined #asahi
<amonakov> hi folks. I wonder if someone could enlighten me about interrupt handling conventions on Linux: is there some mechanism that would prevent invoking a handler while it is in progress on another CPU for a previous interrupt from the same device?
<amonakov> afaict it is not covered in the usual books and docs. details and context of my curiousity: https://lore.kernel.org/netdev/alpine.LNX.2.20.13.1802012234510.5946@monopod.intra.ispras.ru/T/
<maz|> amonakov: invoking a handler from interrupt context involves taking a lock on the interrupt descriptor. by construction, you can't have the same interrupt being handled on another CPU.
commandoline_ has joined #asahi
tpw-rules has joined #asahi
zarvox_ has joined #asahi
br377_ has joined #asahi
PendulumSwinger9 has joined #asahi
balrog_ has joined #asahi
tarzeau_ has joined #asahi
krbtgt_ has joined #asahi
ml_ has joined #asahi
<amonakov> maz|: thank you, this helps, but unfortunately doesn't answer my Real Question about interrupt disabling for netconsole (from the link)
scubasteve has joined #asahi
dfff has joined #asahi
e9 has joined #asahi
kallsyms has joined #asahi
milek7_ has joined #asahi
_ghost_ has quit [Ping timeout: 256 seconds]
commandoline has quit [Ping timeout: 256 seconds]
tpw_rules has quit [Ping timeout: 256 seconds]
br377 has quit [Ping timeout: 256 seconds]
balrog has quit [Ping timeout: 256 seconds]
zarvox has quit [Ping timeout: 256 seconds]
scubasteve_ has quit [Ping timeout: 256 seconds]
Janhouse has quit [Ping timeout: 256 seconds]
PendulumSwinger has quit [Ping timeout: 256 seconds]
krbtgt has quit [Ping timeout: 256 seconds]
tarzeau has quit [Ping timeout: 256 seconds]
vup has quit [Ping timeout: 256 seconds]
Shiz has quit [Ping timeout: 256 seconds]
crabbedhaloablut has quit [Ping timeout: 256 seconds]
nico_32 has quit [Ping timeout: 256 seconds]
ml has quit [Ping timeout: 256 seconds]
dff has quit [Ping timeout: 256 seconds]
emptynine has quit [Ping timeout: 256 seconds]
milek7 has quit [Ping timeout: 256 seconds]
Shiz has joined #asahi
agraf has quit [Ping timeout: 256 seconds]
PendulumSwinger9 is now known as PendulumSwinger
balrog_ is now known as balrog
e9 is now known as emptynine
crabbedhaloablut has joined #asahi
vup has joined #asahi
agraf has joined #asahi
Jangal has joined #asahi
nico_32 has joined #asahi
<maz|> amonakov: maybe you could as your "Real Question" directly then...
<j`ey> just ping him!
<j`ey> err, wrong channel
<amonakov> maz|: for netconsole, drivers implement "ndo_poll_controller" callback which in many cases is implemented as invoking the device's interrupt handler, bracketed by interrupt disable-enable
<amonakov> the issue is, some drivers do disable_irq/enable_irq (which is fine), but other drivers do local_irq_save/restore, which looks quite suspicious as it wouldn't do anything to prevent the handler running on another CPU as a result of a hardware interrupt
<amonakov> I couldn't find any explanation as to why local_irq_save is sufficient in that context (apart from "netconsole in those drivers is unsafe on SMP")
robinp_ has quit [Read error: Connection reset by peer]
simjnd[m] has joined #asahi
mandresic[m] has joined #asahi
simjnd has joined #asahi
simjnd has quit [Client Quit]
<marcan> pipcet[m]: basically we're working on doing everything in an upstreamable way, so it takes a bit more time but it should be more efficient in the long term (since linux kernel forks aren't sustainable long-term)
<marcan> I don't really know what corellium's plans are, since unfortunately they haven't interacted with the linux kernel community at all to date
<marcan> so lacking further info and a communications channel, we're basically working on our own
<marcan> the goal is indeed to support all the hardware, including the GPU, and upstream it :)
<simjnd[m]> have you tried to reach out to them to see if you could share information?
<marcan> I did invite them to our IRC (over twitter) and the corellium guy writing the linux patches was CCed on my upstream submissions
<pipcet[m]> thank you, that's really interesting. Weird that they don't want to communicate, apparently.
<maz|> amonakov: I wouldn't be surprised if these drivers were just broken on SMP, having been implemented on (old) UP systems.
krbtgt_ has quit [Changing host]
krbtgt_ has joined #asahi
<pipcet[m]> what's also weird is that they've continued working on the kernel after producing the mach-o image they offer for download. Which, if it's based on the code on github, must do things in the initrd that I don't know about yet, because just rebuilding it from the relevant commit results in a broken kernel.
thestr4ng3r has quit [Read error: Connection reset by peer]
thestr4ng3r has joined #asahi
thestr4ng3r has quit [Read error: Connection reset by peer]
thestr4ng3r has joined #asahi
<jannau> pipcet[m]: the last time I looked (end of january, before nvme support) corellium did not use a initrd. Using the config extracted from their kernel resulted in booting kernel
<amonakov> maz|: alright, then perhaps I was not too off base with my initial understanding. thank you
<jannau> use scripts/extract-ikconfig to extrac the confg from their kernel image
<pipcet[m]> jannau: CONFIG_INITRAMFS_SOURCE="~/cmw/avirt/psc/linux64/initrd-autofs.cpio.gz"
<pipcet[m]> this is from a running system with their nvme kernel, /proc/config.gz
<pipcet[m]> and the kernel boots, but usb, keyboard, touchpad, wifi are all broken (framebuffer works, though)
<jannau> are the relevant drivers built-in or loadable modules? wifi requires a firmware blob which might be in their initrd\
<pipcet[m]> modules, I believe.
<pipcet[m]> their firmware blob is on the nvme disk which it does find
<pipcet[m]> er, the firmware blob
<pipcet[m]> but now I know it's gzip, I can just find the cpio image in the macho by looking for the signature! How did I miss that?
vimal has quit [Remote host closed the connection]
vimal has joined #asahi
chivay_ is now known as chivay
br377_ has quit [Remote host closed the connection]
thestr4ng3r has quit [Read error: Connection reset by peer]
br377_ has joined #asahi
thestr4ng3r has joined #asahi
br377_ has quit [Quit: WeeChat 1.4]
odmir has joined #asahi
tpw-rules is now known as tpw_rules
odmir has quit [Ping timeout: 276 seconds]
br377 has joined #asahi
mxw39 has joined #asahi
roxfan has quit [Ping timeout: 260 seconds]
zopieux has quit [Ping timeout: 260 seconds]
zopieux has joined #asahi
wmehilos has joined #asahi
roxfan has joined #asahi
<davidrysk[m]> pipcet: does their initrd contain busybox or similar stuff?
roxfan has quit [Ping timeout: 276 seconds]
vimal has quit [Remote host closed the connection]
VinDuv has joined #asahi
vimal has joined #asahi
roxfan has joined #asahi
roxfan2 has joined #asahi
thestr4ng3r_ has joined #asahi
thestr4ng3r has quit [Ping timeout: 256 seconds]
roxfan has quit [Ping timeout: 256 seconds]
taziden has quit [Ping timeout: 272 seconds]
dsR1904 has quit [Quit: Connection closed]
choozy has joined #asahi
<pipcet[m]> just a rather small stripped binary /init
<pipcet[m]> but I built their kernel with their initrd, and it still doesn't work. So I must be doing something else wrong.
taziden has joined #asahi
KindTwo has joined #asahi
KindOne has quit [Ping timeout: 272 seconds]
KindTwo is now known as KindOne
jaalsa has quit [Quit: jaalsa]
commandoline_ has quit [Changing host]
commandoline_ has joined #asahi
commandoline_ is now known as commandoline
VinDuv has quit [Quit: Leaving.]
VinDuv has joined #asahi
aquijoule_ has quit [Remote host closed the connection]
aquijoule_ has joined #asahi
roxfan2 is now known as roxfan
raster has quit [Quit: Gettin' stinky!]
nicolas17 has joined #asahi
odmir has joined #asahi
ender| has joined #asahi
<klaus> devs (such as myself). i wish all courage and good progress. i hope to free my laptop from prison-bsd (macos) asap ;)
<klaus> the progress report blog post was very thorough. that must be the deepest progress report i've read yet. that was so much more than i expected. amazing work going on. glad to see it will be a monthly thing too, like for dolphin emu. i don't know if the next ones will be as deep as this one, but it is a very good read, and also a source of interest and entry point into discovery about the inner working of linux, even for less skilled
VinDuv has quit [Quit: Leaving.]
ml_ is now known as ml
choozy has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]