klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
CryptoDavid has joined #osdev
frkzoid has quit [Read error: Connection reset by peer]
alifib has joined #osdev
kpel has quit [Remote host closed the connection]
nyah has quit [Quit: leaving]
Halofreak1990 has quit [Ping timeout: 245 seconds]
frkazoid333 has joined #osdev
agent314 has joined #osdev
troseman has joined #osdev
troseman has quit [Client Quit]
Pixi has joined #osdev
CryptoDavid has quit [Quit: Connection closed for inactivity]
<heat> re adjtimex(), apparently everyone on the UNIX side is using derivatives of the same code by the NTP author
<heat> that makes me less guilty about not wanting to write an implementation of that
mobivme has joined #osdev
vdamewood has joined #osdev
<vdamewood> Glorp!
nitrix has quit [Quit: ZNC 1.8.2 - https://znc.in]
nitrix has joined #osdev
fedaykin has quit [Quit: leaving]
fedaykin has joined #osdev
FreeFull has quit [Quit: Lost terminal]
agent3142 has joined #osdev
agent314 has quit [Ping timeout: 260 seconds]
monkeyPlus has joined #osdev
monkeyPlus has quit [Remote host closed the connection]
craigo has joined #osdev
<cloudowind> wake up osdev
heat has quit [Ping timeout: 246 seconds]
<the_oz_> no u
<cloudowind> are you in australia oz? i thought you were
<the_oz_> no, my handle has nothing to do with the usual reasons to have this as a handle
<the_oz_> not aussie, not wizard of oz etc
<the_oz_> the because names usually must be greater than 3
surabax has quit [Quit: Leaving]
<the_oz_> oz because it was a shortening to 2 of a longer name that a 13 year old would think was cool back when aol ruled the net
<cloudowind> :)
<cloudowind> i got mine by doing anology to manowar, i hted manowar
<cloudowind> man of war , cloud of wind cloudowind
<the_oz_> cloud'o'wind guvnah innit
<cloudowind> thanks for teaching me a word
<the_oz_> wuzzat
<cloudowind> i have another nck called timer but i am letting the python program thative written which brings chatgpt here into irc by using selenium and irc libraries
<cloudowind> it basically creates a oort between http and irc
<cloudowind> i borught him here one day just for a short time to make a show but i think he got banned here
<cloudowind> i do better shut up now to get banned cloudowind here as well , you have a good one
<the_oz_> seeya
<kof673> Ozzie/Flea/Slash - Chrono Trigger that's about aol time ;D
<the_oz_> nah it's not a reference to anything
<the_oz_> it's a shortening of an o.. omnipoeaia?
<the_oz_> sort of
<the_oz_> I forget the word, but it's also not that but anyway
Halofreak1990 has joined #osdev
<the_oz_> it's very dumb and I will never reveal it
<the_oz_> sorry, no sphinx here
alifib has quit [Quit: .]
alifib has joined #osdev
alifib has quit [Quit: .]
Halofreak1990 has quit [Ping timeout: 260 seconds]
FreeFull has joined #osdev
GeDaMo has joined #osdev
ZipCPU has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
ZipCPU has joined #osdev
sortiecat has joined #osdev
<sortiecat> I'm at FOSDEM. Anyone else here? :D
ThinkT510 has quit [Quit: WeeChat 4.5.1]
ThinkT510 has joined #osdev
<the_oz_> negatory for me but have fun!
<zid`> if nobody else is there I think you went on the wrong day
Lucretia has joined #osdev
Gooberpatrol_66 has quit [Read error: Connection reset by peer]
Gooberpatrol_66 has joined #osdev
sortiecat has quit [Ping timeout: 260 seconds]
the_oz_ has quit [Ping timeout: 244 seconds]
sortiecat has joined #osdev
the_oz has joined #osdev
Halofreak1990 has joined #osdev
Halofreak1990 has quit [Ping timeout: 272 seconds]
Halofreak1990 has joined #osdev
agent3142 has quit [Ping timeout: 252 seconds]
agent314 has joined #osdev
Halofreak1990 has quit [Ping timeout: 252 seconds]
netbsduser`` has joined #osdev
sortiecat has quit [Ping timeout: 246 seconds]
sortiecat has joined #osdev
sortiecat has quit [Ping timeout: 260 seconds]
sortiecat has joined #osdev
agent314 has quit [Ping timeout: 252 seconds]
agent314 has joined #osdev
sortiecat has quit [Ping timeout: 260 seconds]
sortiecat has joined #osdev
strategictravele has joined #osdev
sortiecat has quit [Ping timeout: 248 seconds]
sortiecat has joined #osdev
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
Halofreak1990 has joined #osdev
sortiecat has quit [Ping timeout: 248 seconds]
sortiecat has joined #osdev
halloy9662 has joined #osdev
alifib has joined #osdev
Halofreak1990 has quit [Ping timeout: 244 seconds]
goliath has joined #osdev
mobivme has quit [Remote host closed the connection]
sortiecat has quit [Ping timeout: 248 seconds]
Halofreak1990 has joined #osdev
Marsh has joined #osdev
MiningMarsh has quit [Ping timeout: 260 seconds]
Marsh is now known as MiningMarsh
alifib has quit [Quit: .]
gog has joined #osdev
alifib has joined #osdev
alifib has quit [Quit: .]
goliath has quit [Quit: SIGSEGV]
strategictravele has quit [Ping timeout: 260 seconds]
Halofreak1990 has quit [Ping timeout: 265 seconds]
Halofreak1990 has joined #osdev
goliath has joined #osdev
Halofreak1990 has quit [Ping timeout: 265 seconds]
agent314 has quit [Ping timeout: 260 seconds]
Brnocrist has quit [Ping timeout: 252 seconds]
agent314 has joined #osdev
Halofreak1990 has joined #osdev
FreeFull has quit [Ping timeout: 260 seconds]
Halofreak1990 has quit [Ping timeout: 276 seconds]
Brnocrist has joined #osdev
Gooberpatrol_66 has quit [Remote host closed the connection]
Gooberpatrol_66 has joined #osdev
sortiecat has joined #osdev
halloy9662 has quit [Quit: halloy9662]
Left_Turn has joined #osdev
surabax has joined #osdev
Halofreak1990 has joined #osdev
Turn_Left has joined #osdev
agent314 has quit [Ping timeout: 246 seconds]
Left_Turn has quit [Ping timeout: 265 seconds]
agent314 has joined #osdev
sortiecat has quit [Ping timeout: 252 seconds]
sortiecat has joined #osdev
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
FreeFull has joined #osdev
Halofreak1990 has quit [Ping timeout: 244 seconds]
heat has joined #osdev
sortiecat has quit [Ping timeout: 272 seconds]
sortiecat has joined #osdev
sortiecat has quit [Ping timeout: 246 seconds]
sortiecat has joined #osdev
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
foudfou_ has quit [Remote host closed the connection]
foudfou has joined #osdev
SGautam has joined #osdev
frkazoid333 has quit [Ping timeout: 260 seconds]
agent314 has quit [Ping timeout: 248 seconds]
agent314 has joined #osdev
agent314 has quit [Max SendQ exceeded]
agent314 has joined #osdev
<MrBonkers> sortiecat I’m just seeing your message now, but yeah the Managarm crew has a bunch of people at FOSDEM, me included. We just finished giving a talk in the microkernel devroom
<sortiecat> I watched it
<sortiecat> I'm still here in the room
<MrBonkers> Nice. So are we (back of the room, on the right)
<sortiecat> Let's say hi when the presentations are done? I'm in yellow with the flame hat
<MrBonkers> Spotted! Sure thing
<MrBonkers> i believe we’re leaving after this one tho
<sortiecat> I wanna say hi to the managarm and redox people hehe
<MrBonkers> I can arrange half of that :)
<sortiecat> But yeah I can pop out in the hallway now
ryoskzypu has quit [Ping timeout: 264 seconds]
<sortiecat> That was fun to say hi :)
<gog> hi
<bslsk05> ​timeguessr.com: TimeGuessr
<heat> hi gog i'm at GOGDEM
<heat> where are you
<gog> in my hosue petting breki
<gog> (for freedom)
craigo has quit [Ping timeout: 248 seconds]
xenos1984 has quit [Ping timeout: 248 seconds]
xenos1984 has joined #osdev
theruran has joined #osdev
sortiecat has quit [Ping timeout: 246 seconds]
sortiecat has joined #osdev
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
<MrBonkers> Absolutely sortiecat! Maybe see you tomorrow?
<nikolar> heat where's the GOGDEM
<nikolar> At your place?
<heat> gog's place obviously
<gog> he's petting breki for freedom too
frkazoid333 has joined #osdev
Halofreak1990 has joined #osdev
ryoskzypu has joined #osdev
tjf has quit [Quit: l8r]
goliath has quit [Quit: SIGSEGV]
tjf has joined #osdev
sortiecat has quit [Ping timeout: 252 seconds]
sortiecat has joined #osdev
ryoskzyp1 has joined #osdev
ryoskzypu has quit [Remote host closed the connection]
Shaddox404 has joined #osdev
<Shaddox404> Just wanted to share, I was around here last june iirc. I have now created a minimal OS, where it boots up, goes into 64 bit mode and then starts a single process. Discussions that happened here motivated me to pursue writing the code, and I am grateful for that.
<heat> congrats :)
<Shaddox404> Hello heat, i remember you!
CryptoDavid has joined #osdev
hwpplayer1 has joined #osdev
<nikolar> Everyone knows heat
<sortiecat> Yay Shaddox404 :)
<gog> hi
<gog> good work Shaddox404
<Shaddox404> Thank you! I will make it open source soon with some notes and documentation I made so it will help anyone who wants to understand what's going on
<Shaddox404> I remember you gog
<gog> oh yeah?
<gog> was i helpful or annoying?
<zid`> ᓚᘏᗢ
* gog petpet
<Shaddox404> gog it was helpful
<gog> doesn't sound like me
<Shaddox404> I remember that conversation about Microkernels vs Monolithic, rust being the future of kernel programming language (or rather, the preferred language used for writing kernels)
<zid`> sounds more like you were talking to the schizo crowd
<gog> i don't think i've written a single line of rust :|
<zid`> I tried
<zid`> I failed
<Shaddox404> for me it was sort of easy, although I am still in the basics
<GeDaMo> Shaddox404: is your kernel in Rust?
<Shaddox404> no, in x64 assembly and C
<Shaddox404> I remember someone from this IRC telling that MS Windows is the close to being a microkernel, I am positive about that
<zid`> that isn't what they said
<zid`> The NT projected *started* as one, then rapidly stopped
netbsduser`` has quit [Ping timeout: 260 seconds]
<zid`> So it still has some project-structure-holdovers
<Shaddox404> Oh? 👀
<GeDaMo> Would L4 not be closer to being a microkernel given that it's a microkernel? :|
<Shaddox404> But didnt they move many things from the kernel space to user space since Win Vista?
<GeDaMo> I seem to remember NT having to move the graphics drivers into the kernel for performance reasons
<Shaddox404> Yes, DWM is now in userspace iirc
netbsduser`` has joined #osdev
<gog> there are two parts for graphics drivers now, a kernel mode and user mode component
<gog> the user mode component can crash and be recovered gracefully by the kernel mode component
<Shaddox404> Also GeDaMo, I didn't write any kernel code in Rust, I use Java or python for my projects. I was just testing rust to see how the language was
<Shaddox404> Oh, i responded to your message previously, my bad!
<Shaddox404> Oh, i see
<Shaddox404> Wait, does MINIX have any proper desktop env/UIs?
<gog> in theory you could get xorg to run on it
<gog> idk if anybody has
<bslsk05> ​mike632t.wordpress.com: Installing X windows on MINIX 3 | Notes on Linux
<Shaddox404> Thanks
erdem has joined #osdev
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
Shaddox404 has quit [Quit: Konversation terminated!]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
goliath has joined #osdev
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
* geist yawns
<geist> hiya germs
<geist> aww, shaddox is gone
<geist> was gonna grats em
<heat> did you just call me a germ
geist-sdf has joined #osdev
<heat> two geists!
<geist-sdf> heh yeah. i have been meaning to use this irssi more from sdf.org
<geist-sdf> not that irccloud doesn't work perfectly fine, but it's more street cred
<heat> i can't irssi from onyx now, it's just crashing mysteriously
<heat> /bin/sh is also crashing, it is quite weird
<gog> hi geist-sdf
<pog> hi geist
<geist> hiya!
<geist> one is my innie, and one is my outie
<gog> haaa
<geist> actually no, my innie is @travisg
<gog> i see you're enjoying severance too
<geist> yah watched S1 back in the day, rewatching it now. it's soooo good
<gog> S2 isout
<geist> yah was rewatching in prep for S2
<gog> or rather it's started
<geist> yah
<heat> considering google just offered severance to a bunch of teams
<heat> i got really fucking confused
sortiecat has quit [Read error: Connection reset by peer]
<gog> lol
<geist> well also yeah, it's a pretty twisted and not entirely unrealistic thing
<geist> that's what makes it hit good
sortiecat has joined #osdev
<geist> just watched a fun one from DamiLee, she does good architecture style analysis of stuff https://youtu.be/HLeU4BF2s4o
<geist> but yeah severance the show is brilliant. the metaphors it spins are not particularly contrived to, but they work on a few levels, so it's still pretty deep
steelswords94361 has quit [Quit: Ping timeout (120 seconds)]
steelswords94361 has joined #osdev
<gog> i ahve an actual programming question
<gog> say i have an inline assembly "lea label(%rip), %rax"
<gog> why did it remove the double percent signs
<gog> anyhow, what if i wanted to use a placeholder %3 say and then define a "g" constraint
<gog> do i need to specify a variable it refers to or can i leave that out?
<gog> instead of "g"(whatever), just "g"
<gog> i don't have any particular need to use rax here
<gog> so i'd rather not have to use a specific register and have to mention it in the clobber list
<gog> "+g" i guess it would be
sortiecat has quit [Read error: Connection reset by peer]
sortiecat has joined #osdev
<zid`> 'g' just means "anything"
<zid`> so if you did "g" (42) it might be mov eax, 42 and be "%eax" or it might be "42" or it might be "dword ptr [fortytwo]"
sortiecat has quit [Read error: Connection reset by peer]
<zid`> depending on where it felt the best place to get that 42 from was
<gog> ok i'd want "+r" there then
sortiecat has joined #osdev
<gog> but i don't need the value outside of the assembly template
<zid`> r is put it in a reg then it evalutes to that reg's name
<zid`> why + it then if you don't need it afterwards?
<gog> because it's goign to be pushed
<zid`> ?
<zid`> push doesn't write
<zid`> to the register
<gog> hang on i'll paste it
<gog> in fact, no, i won't, i'm just going to try it and see if it works
<gog> :D
<zid`> +r is "I want the value in this reg, but also, I am going to destroy it, so technically, give me just a copy"
<zid`> vs r which is "I want the value in this reg, I won't destroy it"
sortiecat has quit [Read error: Connection reset by peer]
<heat> i have an actual operating systems question too
<heat> obviously getting the time from an rtc is kinda fucked because of the 1s imprecision
<heat> however, would it a decent idea to periodically poll the rtc chip waiting for the second to roll over, and register *that*?
<zid`> spend an entire second of your boot process polling it until it ticks over
<zid`> sounds like a good plan
<heat> not necessarily
<heat> you can get a timer to do it every milli or every 10 millis or use the RTC's irq functionality or alarm functionality
hwpplayer1 has quit [Quit: cytomorrow]
<zid`> alarm sounds like it might work okay
<heat> like some sort of internal best effort calibration
<heat> it might Just Work
<heat> decently enough
<gog> ok no it wants an expression after the constraint definition
<gog> so i can't just leave it blank
<zid`> I think the cmos might actually take like.. quite a while to update though
<zid`> like a crappy LCD
<zid`> gog: like, ofc?
<zid`> int bob; bob = ;
<zid`> "I want the value of this in a register" "Okay, what value?" "Fuck you, I'm not a snitch"
<gog> it's an output value
<gog> but i don't need it outside of the template
<zid`> "I want this value in an output variabble" "Okay, what variable" "Fuck you, I'm not a snitch"
<zid`> :p
<gog> yes
<nikolar> how's it an output if you don't want it
<zid`> I'm not seeing a problem with yea just.. not specifying an output
<gog> it's an output into the next line
<gog> i'll paste it
<nikolar> so you have two asm blocks or something?
<heat> zid`, if the cmos fucking sucks then yeah, that idea is dead in the water
<bslsk05> ​gist.github.com: thing.c · GitHub
<gog> like this
<heat> uhhhhh
<heat> are you sure you want to do this stuff in C
<gog> yes it's fine
<zid`> okay and why are we preserving _ when
<zid`> you don't need to preserve _
<gog> exactly
<gog> so i want to omit the declaration and the expression
<zid`> right, but you can't ask for "an register", you'd have to pick one
<zid`> and mark it as a clobber manually
<gog> that's what i do in the prior version of this
<zid`> so it might interfere with *perfect* codegen, but whatever
<gog> i don't want to pick a register
<nikolar> or, you can just write assembly directly
<gog> i don't want to make decisions
<zid`> either leave the _
<zid`> or pick a reg
<heat> upvote nikolar
<gog> NO
<nikolar> why bother with c when the whole function body is asm() anyway
<zid`> those are your two options
<heat> everyone's ignoring the obvious issue that THIS IS FUCKING ASSEMBLY
<nikolar> heat: <3
<gog> i am baby and i will not make decision
<heat> i am linux and i will not not kernal
<zid`> gog: leave the _ then, I decided.
<gog> it's more convenient as an asm template because the values live in a struct
<heat> pass the values as args or access the struct directly
<heat> the C abi is nice and predictable
<gog> these are uglier and more annoying solutions
<zid`> gog: I'd do the asm blob too, so the struct can re-order without me having to re-write some assembly
<zid`> But I'd have just picked rax
<heat> lame
<gog> yeahhhh my other version of this uses rax
<gog> idk i just hoped there was a way to let it do that part automagically
<gog> but the only way requires i declare it elsewhere so
<gog> it's the same
<zid`> register uint64_t _;
<heat> consider this: the compiler being suboptimal there probably doesn't matter
<zid`> :D
<nikolar> what heat said
<heat> that whole piece of code is probably a mega expensive speculation barrier filled thing
<gog> this is an entirely stylistic problem
<gog> not about optimization or anything
<zid`> gog: Third option nobody wants is the solution, register uint64_t tmp;
<gog> i want it to look how i want it to look
<heat> well then, linux fucking kernel
<gog> I WILL NOT LINUX FUCKING KERNEL
<heat> everybody gangsta until linux starts fucking the kernel
<gog> kernelsexual
Halofreak1990 has quit [Ping timeout: 260 seconds]
<gog> zid`: i went back to using rax and saying it clobbered
<gog> just to spite you and your decision you made for me
<zid`> manipulated to a T.
<gog> fuck off
<gog> lmao
<nikolar> kek
<nikolar> i mean he did tell you exactly what he'd do
<nikolar> :P
<gog> am i that malleable
<gog> is my will that suggestible
<gog> i don't like what this says about me
<nikolar> kek
<heat> i have a grievance with x86 and probably most other ISAs
<heat> when calling a null function pointer (and page faulting) it reports the IP as 0x0
<heat> instead of the instruction that called it
<heat> and yes yes i understand why that happens, but it's frustrating to debug
<heat> particularly when the compiler is very smart and does jmp instead of call
<nikolar> well
<Ermine> i've missed minix talk???
<nikolar> there was a minix talk??????
<Ermine> it was mentioned
<nikolar> wow
<heat> say you had an arch that reported IP = oldip and fault addr = newip with a "faulted while executing" flag
<heat> i would be happy with that even if it made restarting execution a little trickier in the page fault handler
<zid`> yea fault stuff tends to be annoyingly under-reported for.. no real reason imo
<geist> yeah it's functionally the same thing as any other arch, but the risc arches all copy the return address into a register
<zid`> "we've got 800 MSRs and registers and things, but your fault code is encrypted and optionally stored to the stack, have fun"
<geist> so it's right there
<geist> it's because it already made the jump and then faulted, so the return address is there, it's just on the stack, prior to even faulting
<geist> lr is definitely a lovely register to have
<heat> yeah but what if it Just Branches
<zid`> meanwhile an MCE gives you a fucking dictionary
<heat> tail call optimization
<geist> oh fair point. a plain branch. you're right
<geist> well, in *that* case it's no better for any other arch
<gog> neat
<gog> i can do this fake syscall thing now and it doesn't crash
<gog> it also doesn'
<gog> t work right
<geist> work right smerk right amirite?
<gog> yes
<gog> yay it works now
<gog> i had params to the syscall thunk mixed up
<zid`> *thunk*
<gog> this is the worst idea i've ever had
<gog> and it works
<gog> yes zid thunk
<gog> it whacks the doohickey and goes thunk
goliath has quit [Quit: SIGSEGV]
<kof673> "one thunk or two?" "two"
Lucretia has quit [Remote host closed the connection]
<geist> "one thunk, one thunk only"
isabella has quit [Quit: WeeChat 3.5]
Stary has quit [Quit: ZNC - http://znc.in]
mid-kid has quit [Ping timeout: 248 seconds]
Stary has joined #osdev
mid-kid has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]