IRC channel logs
2025-04-06.log
back to list of logs
<hakanrw_>but in theory it can be implemented for other ISAs through platform-specific code, right? <AlmuHS>yes, but you have to change the sequence to startup and the assembly routine <AlmuHS>by example, in RISC V the IPI are different <damo22>hakanrw_: i dont see why you couldnt try smp on x86_64 <hakanrw_>i was unsure if there's the low level smp implementation in x86-64 port <damo22>if its not complete, that would be a bug <hakanrw_>on another note - full smp boot is still not ready, right? only some hurd servers can run on child processors (at least thats what i read on the wiki) <damo22>yeah the netdde driver does not work correctly with smp <damo22>if you can live without networking, everything else should work <hakanrw_>that sounds great! so people got it to boot full smp although without those troubled driver(s)? <hakanrw_>great, that means at least gnu mach's platform-agnostic parts are thread safe and ready to multiprocess, i think? <hakanrw_>i'm seeing lock mechanisms beşng used in the code <damo22>as youpi said, hurd used to run originally with multiple processors <hakanrw_>what's going on in the aarch64 port? from what ive read they get gnu mach and some hurd stuff running on it? <hakanrw_>is it on a different branch/repo, btw? the aarch64 folder upstream seems to lack implementations <hakanrw_>i'll probably get in contact with them, i'm wondering how they handle DTBs <damo22>but the thing is going to be drivers <hakanrw_>i'm working on a riscv64 gnu mach port for fun/learning, i got it to compile and link - although it's full of stub implementations <almuhs1>damo22: you cannot use the i386's SMP in x86_64, because the x86_64 processors has to jump to extended mode after protected mode, and change some memory configurations too. So we would need to add other assembly routines to the x86_64 architecture <damo22>ok, perhaps you can try adding that? <almuhs1>the xAPIC keeps, but the percpu area must be changed, and it's necessary to create other assembly routine <almuhs1>the x86_64 configuration is more complex and difficult to implement. I don't understand it at all <damo22>you seem to know more about it than i do <almuhs1>i asked to some OSDevs some months ago <almuhs1>they explain me some things about changes in pagetables, percpu area must be implemented in a different way... added to jump to extended mode <almuhs1>i need many more information that i have at now <damo22>nobody is going to hand you specs that are complete, you need to try things <almuhs1>i lost the conversation where an osdev explained me the steps <almuhs1>i remember that the pagetable configuration, and the percpu area changes <almuhs1>i'm searching about how to create the percpu in x86_64, but i don't find info about it <damo22>i think the only thing that changes is the swapgs instruction swaps gs and fs <almuhs1>btw, are you sure that the only race condition is in netdde? If netdde is the only problem, maybe we can keep netdde in the default processor_set (only cpu0) and move the rest of process to the SMP processor_set <damo22>we did discuss that possibility, the plan was to complete rumpnet, but i got stuck <almuhs1>i'm working as professor and making my PhD at same time. But the PhD requires some "innovation", so SMP is not enough and we are exploring about write translators in Rust <almuhs1>it need to port some libraries, but it's cool <almuhs1>but i have some friends who are explaining me some things about Rust, and I tested some basic program examples which compiles in rustc <damo22>so you wouldnt be the first developing operating systems in rust <Gooberpatrol66>almuhs1: do you have a link to that osdev thread where you asked <almuhs1>it was in this Telegram group @osdev <azert39>almuhs1: how does it work in your university? Can you fully support your PhD by teaching? Don’t you need it one or two mentors? <azert39>Where I live I can only do a PhD by working for someone else, apparently. <azert39>There are independent fellowships, but the level is very high and you still need to find strong support from a professor. <AlmuHS>azert: yes, i have a teacher for my PhD <AlmuHS>but i don't need to work in a laboratory to make my PhD <AlmuHS>and i can agree the topic with my teacher <hakanrw_>what is the current priority on development of GNU Mach? are there any areas that need definite work before an ambitious addition like a new driver framework for userspace device drivers can be implemented? <AlmuHS>currently damo22 and Pellescours are trying to port rumpnet to replace netdde <hakanrw_>does rumpnet run in kernel or userspace? is it like netbsd's rumpkernel? <hakanrw_>i should read more about the architecture of gnu mach and hurd <hakanrw_>thanks, i've been reading it on my free time <youpi>hakanrw_: afawk there's all that is needed for userland drivers: physical memory allocation/access, irqs